Compartilhar via


Informações de DNS privado no Azure Resource Graph

Este artigo descreve algumas das maneiras de usar o Azure Resource Graph Explorer para exibir informações sobre suas zonas e registros de DNS privado do Azure. Algumas consultas de exemplo são fornecidas.

O Azure Resource Graph (ARG) é um serviço do Azure que permite consultar seus recursos do Azure com filtragem, agrupamento e classificação complexos. As consultas ARG fornecem informações detalhadas sobre seus recursos e você pode exibir os resultados de várias maneiras.

Você pode exibir informações sobre suas zonas DNS, incluindo:

  • O tipo e o número de registros de recursos em uma ou todas as zonas
  • Uma lista de nomes de registro de recurso e endereços IP
  • Links de rede virtual
  • Registros de recursos registrados automaticamente

Esta é uma breve lista. Muitos outros detalhes podem ser consultados.

A tabela dnsresources

Para usar o Resource Graph no portal do Microsoft Azure, pesquise e selecione Resource Graph Explorer. No painel de navegação à esquerda, selecione a guia Tabela e revise a tabela dnsresources. Essa tabela é usada para consultar dados de zonas DNS privadas. As zonas DNS públicas não são consultadas quando essa tabela é usada.

Selecione dnsresources para criar uma consulta básica e clique em Executar consulta para retornar os resultados. Consulte o seguinte exemplo:

Captura de tela de uma consulta ARG básica.

Para substituir IDs por nomes de exibição e mostrar valores como links sempre que possível, alterne Resultados formatados para Ativado no canto superior direito da exibição. Para exibir os detalhes de um registro, role para a direita e selecione Ver detalhes. Os primeiros registros mostrados no exemplo anterior são registros PTR (tipo = microsoft.network/privatednszones/ptr).

Contagem de registros de recursos por tipo

A consulta a seguir usa a tabela dnsresources para fornecer uma contagem de registros de recursos por tipo para todas as zonas privadas:

dnsresources
| summarize count() by recordType = tostring(type)

Captura de tela de uma consulta de contagem de registros de recursos.

A consulta conta todos os registros que a assinatura atual tem permissão para exibir. Você também pode exibir a contagem visualmente selecionando a guia Gráficos e selecionando o tipo de gráfico. Veja a seguir um exemplo de um Gráfico de rosca:

Captura de tela de um gráfico de rosca de consulta de contagem de registros de recursos.

Listar, filtrar, pesquisar e classificar registros de recursos

Os resultados da consulta podem ser filtrados especificando parâmetros como o nome da zona, a ID da assinatura, o grupo de recursos ou o tipo de registro. Por exemplo, a consulta de exemplo a seguir retorna a lista de registros A ou CNAME na zona private.contoso.com para uma determinada assinatura e grupo de recursos. A saída dessa consulta é semelhante à exibição da zona privada, com a capacidade adicional de filtrar e classificar os resultados por nome e tipo:

dnsresources
| where managedBy == "private.contoso.com"
| where subscriptionId == "<your subscription ID>"
| where resourceGroup == "<your resource group name>"
| where type in (
    "microsoft.network/privatednszones/a",
    "microsoft.network/privatednszones/cname"
)
| project name, type, properties

Captura de tela de uma consulta de lista de registros de recursos.

Os tipos de registro que podem ser especificados são: a, aaaa, cname, mx, ptr, soa, srv e txt.

Você também pode consultar endereços IP específicos ou intervalos de endereços. A consulta a seguir retorna registros DNS privados que correspondem a um endereço IPv4 específico:

dnsresources
| where properties['records'][0]['ipv4Address'] == "10.10.2.5"
| project name, type, resourceGroup, properties

Expressões regulares

A linguagem de consulta Kusto também dá suporte a expressões regulares. A consulta a seguir usa uma expressão regular para corresponder e listar todos os endereços IPv4 na zona DNS privada especificada e na assinatura especificada:

dnsresources
| where subscriptionId == "<your subscription ID>"
| where managedBy == "private.contoso.com"
| where properties matches regex @'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'
| extend IP=extract_all(@'(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?:\/\d{1,2}){0,1})',tostring(properties))
| project  name, IP, resourceGroup, properties
| mv-expand IP
| order by name

Captura de tela de uma consulta de expressão regular.

A consulta a seguir lista todas as zonas DNS privadas que têm links de rede virtual e exibe o status de registro automático. Essa consulta usa a tabela de recursos genéricos, não a tabela dnsresources, e especifica um tipo de recurso de apenas privatednszones.

resources
| where subscriptionId == "<your subscription ID>"
| where ['type'] == "microsoft.network/privatednszones/virtualnetworklinks"
| extend registrationEnabled=(properties.registrationEnabled)
| project name, registrationEnabled, resourceGroup, properties

Captura de tela da consulta de links de rede virtual.

Registros DNS registrados automaticamente

A consulta a seguir lista os registros DNS privados IPv4 registrados automaticamente:

dnsresources
| where subscriptionId == "<your subscription ID>"
| where isnull(properties.virtualNetworkId) == false
| extend linkname=(properties.virtualNetworkLinkName)
| extend ipaddress=properties['records'][0]['ipv4Address']
| project name, ipaddress, type, linkname, properties

Captura de tela da consulta de registro automático.

Próximas etapas