Blog

Domine a plataforma e otimize seus gastos!

Explorando o Azure Resource Graph: consultas úteis para governança, segurança e inventário

Introdução

Gerenciar centenas (ou milhares) de recursos em ambientes Azure exige visibilidade centralizada e consultas eficientes. O Azure Resource Graph (ARG) é um serviço fundamental para isso, permitindo consultar em escala todos os recursos da sua organização — muito além do que o portal ou CLI oferecem por padrão.

Neste artigo, vamos entender o que é o ARG, como utilizar a linguagem Kusto Query Language (KQL) e explorar consultas úteis para segurança, governança, custo e inventário.

O que é o Azure Resource Graph?

O Azure Resource Graph é um mecanismo de consulta baseado em KQL (Kusto Query Language) que indexa todos os recursos do Azure — incluindo metadados, propriedades, tags e configurações.

Vantagens:

  • Consultas multi-subscription
  • Resultados rápidos e em grande escala
  • Integração com Azure Portal, CLI, PowerShell e Azure Workbooks
  • Ideal para inventário, auditoria, compliance, segurança e FinOps

Como executar consultas

Você pode usar o ARG de várias formas:

  • Azure Portal → Pesquise por “Resource Graph Explorer”
  • Azure CLI:
az graph query -q "Resources | where type == 'microsoft.compute/virtualmachines'"
  • PowerShell:
Search-AzGraph -Query "Resources | where type =~ 'microsoft.web/sites'"

Exemplos práticos de consulta

  1. Listar todas as VMs com status e localização
Resources
| where type == "microsoft.compute/virtualmachines"
| project name, location, properties.hardwareProfile.vmSize, properties.provisioningState
  1. Listar todos os recursos sem tag “CostCenter”
Resources
| where tags["CostCenter"] == ""
| project name, type, location, resourceGroup
  1. Identificar VMs com discos não criptografados
ResourceContainers
| where type == "microsoft.resources/subscriptions"
| join kind=inner (
    Resources
    | where type == "microsoft.compute/virtualmachines"
    | extend vmId = tostring(properties.vmId)
) on subscriptionId
| join kind=leftouter (
    Resources
    | where type == "microsoft.compute/disks"
    | extend vmId = tostring(properties.managedBy)
    | where properties.encryption.type != "EncryptionAtRestWithPlatformKey"
) on vmId
| project vmName = name, diskName = disk_name, encryption = properties.encryption.type
  1. Listar Storage Accounts com acesso público habilitado
Resources
| where type == "microsoft.storage/storageaccounts"
| extend allowBlobPublicAccess = tostring(properties.allowBlobPublicAccess)
| where allowBlobPublicAccess == "true"
| project name, resourceGroup, location
  1. Verificar recursos com alto consumo (ex: SKU premium)
Resources
| where sku.name contains "Premium"
| project name, type, sku = sku.name, location
  1. Listar VMs com Auto Shutdown desativado
Resources
| where type == "microsoft.devtestlab/schedules"
| where properties.status != "Enabled"
| project name, resourceGroup
  1. Resumo por tipo de recurso
Resources
| summarize total = count() by type
| order by total desc

Visualização com Azure Workbooks

Você pode transformar suas consultas ARG em gráficos e painéis interativos com Azure Workbooks.

Exemplo:

Resources
| where type == "microsoft.compute/virtualmachines"
| summarize count() by location

Governança e segurança

Use o ARG para apoiar:

  • Auditorias de conformidade (ex: recursos sem tags obrigatórias)
  • Detecção de configurações inseguras (acesso público, criptografia ausente)
  • Inventário automatizado para documentação

Integrações úteis

  • Power BI (conectores diretos ao ARG para dashboards)
  • Azure Policy (valide resultados com políticas)
  • GitHub Actions / DevOps Pipelines (auditorias periódicas)

Referências

Conclusão

O Azure Resource Graph é um componente essencial para empresas que buscam governança, segurança e controle em ambientes complexos no Azure.

Com ele, é possível construir auditorias contínuas, painéis operacionais e inventários completos — tudo com desempenho e escala.

Podemos te ajudar com uma revisão 100% gratuita do seu ambiente cloud.

Agendar a revisão gratuita do meu ambiente

Share this post

Inscreva-se para novas postagens

Inscreva-se