Partilhar via


Informações de DNS privado no Azure Resource Graph

Este artigo descreve algumas das maneiras como você pode usar o Azure Resource Graph Explorer para exibir informações sobre suas zonas e registros de DNS Privado do Azure. Alguns exemplos de consultas são fornecidos.

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 recursos e endereços IP
  • Ligações de rede virtual
  • Registros de recursos registrados automaticamente

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

A tabela dnsresources

Para usar o Gráfico de Recursos no portal do Azure, pesquise e selecione Gerenciador de Gráficos de Recursos. No painel de navegação esquerdo, selecione a guia Tabela e revise a tabela dnsresources. Esta tabela é usada para consultar dados de zona DNS privada. As zonas DNS públicas não são consultadas quando utiliza esta tabela.

Selecione dnsresources para criar uma consulta básica e clique em Executar consulta para retornar os resultados. Veja 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 ver os detalhes de um registo, desloque-se para a direita e selecione Ver detalhes. Os primeiros registros mostrados no exemplo anterior são registros PTR (type = microsoft.network/privatednszones/ptr).

Contar 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 ecrã de uma consulta de contagem de registos de recursos.

A consulta conta todos os registros que a assinatura atual tem permissão para exibir. Você também pode visualizar a contagem visualmente selecionando a guia Gráficos e, em seguida, selecionando o tipo de gráfico. Segue-se um exemplo de um gráfico Donut:

Captura de ecrã de um gráfico de donuts de consulta de contagem de registos 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, ID da assinatura, grupo de recursos ou tipo de registro. Por exemplo, a consulta de exemplo a seguir retorna uma lista de registros A ou CNAME na zona private.contoso.com para uma determinada assinatura e grupo de recursos. A saída desta consulta é semelhante à visualizaçã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 ecrã de uma consulta à lista de registos 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 ou intervalos de endereços específicos. 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 suporta 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 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 ecrã 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. Esta 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 ecrã da consulta de ligações de rede virtual.

Registos DNS registados 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 ecrã da consulta de registo automático.

Próximos passos