Partager via


Informations les DNS privés dans Azure Resource Graph

Cet article décrit certaines des façons dont vous pouvez utiliser l’Explorateur Azure Resource Graph pour afficher des informations sur vos zones DNS privées Azure et leurs enregistrements. Certains exemples de requêtes sont fournis.

Azure Resource Graph (ARG) est un service Azure qui vous permet d’interroger vos ressources Azure avec des filtres, des regroupements et des tris complexes. Les requêtes ARG fournissent des informations détaillées sur vos ressources et vous pouvez afficher les résultats de plusieurs façons.

Vous pouvez afficher des informations sur vos zones DNS, y compris :

  • Le type et le nombre d'enregistrements de ressources dans une ou toutes les zones
  • Une liste des noms et adresses IP des enregistrements de ressources
  • Liens de réseau virtuel
  • Enregistrements de ressources enregistrés automatiquement

Cette liste est brève. Beaucoup d’autres détails peuvent être interrogés.

Table dnsresources

Pour utiliser Resource Graph dans le portail Azure, recherchez et sélectionnez Explorateur Resource Graph. Dans le volet de navigation de gauche, sélectionnez l’onglet Table et passez en revue la table dnsresources. Cette table est utilisée pour interroger des données de zone DNS privées. Les zones DNS publiques ne sont pas interrogées lorsque vous utilisez cette table.

Sélectionnez dnsresources pour créer une requête de base, puis cliquez sur Exécuter la requête pour retourner les résultats. Voir l’exemple suivant :

Capture d’écran d’une requête ARG de base.

Pour remplacer les identifiants par des noms d’affichage et afficher les valeurs sous forme de liens lorsque cela est possible, basculez le paramètre Résultats formatés sur Activé dans le coin supérieur droit de l’affichage. Pour afficher les détails d’un enregistrement, faites défiler vers la droite et sélectionnez Afficher les détails. Les premiers enregistrements montrés dans l’exemple précédent sont des enregistrements PTR (type = microsoft.network/privatednszones/ptr).

Compter les enregistrements de ressources par type

La requête suivante utilise la table dnsresources pour fournir un décompte des enregistrements de ressources par type pour toutes les zones privées :

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

Capture d’écran d’une requête de décompte des enregistrements de ressources.

La requête compte tous les enregistrements que l’abonnement actuel a l’autorisation d’afficher. Vous pouvez également visualiser le décompte en sélectionnant l’onglet Graphiques, puis en sélectionnant le type de graphique. Voici un exemple de graphique en anneau :

Capture d'écran d'une requête de décompte des enregistrements de ressources sous forme de graphique en anneau.

Répertorier, filtrer, rechercher et trier des enregistrements de ressources

Les résultats de la requête peuvent être filtrés en spécifiant des paramètres tels que le nom de la zone, l’ID de l’abonnement, le groupe de ressources ou le type d’enregistrement. Par exemple, la requête suivante retourne la liste des enregistrements A ou CNAME dans la zone private.contoso.com pour un abonnement et un groupe de ressources donnés. La sortie de cette requête est similaire à l’affichage de la zone privée, avec la possibilité supplémentaire de filtrer et de trier les résultats par nom et type :

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

Capture d’écran d’une requête de liste d’enregistrements de ressources.

Les types d’enregistrements qui peuvent être spécifiés sont : a, aaaa, cname, mx, ptr, soa, srv et txt.

Vous pouvez également interroger des adresses IP ou des plages d’adresses spécifiques. La requête suivante retourne des enregistrements DNS privés qui correspondent à une adresse IPv4 spécifique :

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

Expressions régulières

Le langage de requête Kusto prend également en charge les expressions régulières. La requête suivante utilise une expression régulière pour faire correspondre et répertorier toutes les adresses IPv4 dans la zone DNS privée donnée et l’abonnement spécifié :

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

Capture d’écran d’une requête utilisant une expression régulière.

La requête suivante répertorie toutes les zones DNS privées qui ont des liens de réseau virtuel et affiche l’état de l’enregistrement automatique. Cette requête utilise la table resources générique, et non pas la table dnsresources, et spécifie un type de ressource de uniquement privatednszones.

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

Capture d’écran de la requête sur les liens vers les réseaux virtuels.

Enregistrements DNS enregistrés automatiquement

La requête suivante répertorie les enregistrements DNS privés IPv4 enregistrés automatiquement :

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

Capture d’écran de la requête d’enregistrement automatique.

Étapes suivantes