> ## Content Index
> Fetch the complete content index at: https://www.azurebrasil.cloud/llms.txt
> Use this file to discover other available public pages before exploring further.

# Explorando o Azure Resource Graph: consultas úteis para governança, segurança e inventário
- URL: https://www.azurebrasil.cloud/blog/explorando-o-azure-resource-graph-consultas-uteis-para-governanca-seguranca-e-inventario/
- Published: 2025-07-22T22:58:00.000Z
- Updated: 2025-07-23T12:53:57.000Z
- Author: Ricardo Martins

## 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**:

```bash
az graph query -q "Resources | where type == 'microsoft.compute/virtualmachines'"

```

- **PowerShell**:

```bash
Search-AzGraph -Query "Resources | where type =~ 'microsoft.web/sites'"

```

## Exemplos práticos de consulta  

1. Listar todas as VMs com status e localização

```kql
Resources
| where type == "microsoft.compute/virtualmachines"
| project name, location, properties.hardwareProfile.vmSize, properties.provisioningState

```

1. Listar todos os recursos sem tag “CostCenter”

```kql
Resources
| where tags["CostCenter"] == ""
| project name, type, location, resourceGroup

```

1. Identificar VMs com discos não criptografados

```kql
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

```kql
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)

```kql
Resources
| where sku.name contains "Premium"
| project name, type, sku = sku.name, location

```

1. Listar VMs com Auto Shutdown desativado

```kql
Resources
| where type == "microsoft.devtestlab/schedules"
| where properties.status != "Enabled"
| project name, resourceGroup

```

1. Resumo por tipo de recurso

```kql
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:

```kql
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

- [Documentação do Azure Resource Graph](https://learn.microsoft.com/en-us/azure/governance/resource-graph/overview?ref=azurebrasil.cloud)
- [Azure CLI com Resource Graph](https://learn.microsoft.com/en-us/cli/azure/graph?view=azure-cli-latest&ref=azurebrasil.cloud)
- [Azure Resource Graph Samples](https://github.com/scautomation/AzureResourceGraph-Examples?ref=azurebrasil.cloud)

## 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.