Condividi tramite


DNS privato informazioni in Azure Resource Graph

Questo articolo descrive alcuni dei modi in cui è possibile usare Azure Resource Graph Explorer per visualizzare informazioni sulle zone e i record di Azure DNS privato. Vengono fornite alcune query di esempio.

Azure Resource Graph (ARG) è un servizio di Azure che consente di eseguire query nelle risorse di Azure con filtri, raggruppamenti e ordinamento complessi. Le query ARG forniscono informazioni dettagliate sulle risorse ed è possibile visualizzare i risultati in diversi modi.

È possibile visualizzare informazioni sulle zone DNS, tra cui:

  • Tipo e numero di record di risorse in una o tutte le zone
  • Elenco di nomi di record di risorse e indirizzi IP
  • Collegamenti di rete virtuale
  • Record di risorse registrati in modo automatico

Questo è un breve elenco. È possibile eseguire query su molti altri dettagli.

Tabella dnsresources

Per usare Resource Graph nella portale di Azure, cercare e selezionare Resource Graph Explorer. Nel riquadro di spostamento a sinistra selezionare la scheda Tabella ed esaminare la tabella dnsresources . Questa tabella viene usata per eseguire query sui dati della zona DNS privata. Le zone DNS pubbliche non vengono sottoposte a query quando si usa questa tabella.

Selezionare dnsresources per creare una query di base e quindi fare clic su Esegui query per restituire i risultati. Vedere l'esempio seguente:

Screenshot di una query ARG di base.

Per sostituire gli ID con i nomi visualizzati e visualizzare i valori come collegamenti laddove possibile, attivare o disattivare i risultatiformattati su Sì nell'angolo superiore destro della visualizzazione. Per visualizzare i dettagli di un record, scorrere verso destra e selezionare Visualizza dettagli. I primi record mostrati nell'esempio precedente sono record PTR (tipo = microsoft.network/privatednszones/ptr).

Conteggio dei record di risorse per tipo

La query seguente usa la tabella dnsresources per fornire un conteggio dei record di risorse per tipo per tutte le zone private:

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

Screenshot di una query di conteggio dei record di risorse.

La query conta tutti i record per cui la sottoscrizione corrente dispone dell'autorizzazione per la visualizzazione. È anche possibile visualizzare visivamente il conteggio selezionando la scheda Grafici e quindi selezionando il tipo di grafico. Di seguito è riportato un esempio di grafico ad anello:

Screenshot di un grafico ad anello della query conteggio record di risorse.

Elencare, filtrare, cercare e ordinare i record delle risorse

I risultati della query possono essere filtrati specificando parametri come il nome della zona, l'ID sottoscrizione, il gruppo di risorse o il tipo di record. Ad esempio, la query di esempio seguente restituisce un elenco di record A o CNAME nella zona private.contoso.com per una determinata sottoscrizione e gruppo di risorse. L'output di questa query è simile alla visualizzazione della zona privata, con la possibilità di filtrare e ordinare i risultati in base al nome e al 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

Screenshot di una query dell'elenco di record di risorse.

I tipi di record che possono essere specificati sono: a, aaaa, cname, mx, ptr, soa, srv e txt.

È anche possibile eseguire query per indirizzi IP o intervalli di indirizzi IP specifici. La query seguente restituisce record DNS privati che corrispondono a un indirizzo IPv4 specifico:

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

Espressioni regolari

Il linguaggio di query Kusto supporta anche espressioni regolari. La query seguente usa un'espressione regolare per trovare una corrispondenza ed elencare tutti gli indirizzi IPv4 nella zona DNS privata specificata e nella sottoscrizione specificata:

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

Screenshot di una query di espressione regolare.

La query seguente elenca tutte le zone DNS private con collegamenti di rete virtuale e visualizza lo stato di registrazione automatica. Questa query usa la tabella delle risorse generiche, non la tabella dnsresources e specifica un tipo di risorsa solo privatednszones.

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

Screenshot della query dei collegamenti di rete virtuale.

Record DNS autoregistered

La query seguente elenca i record DNS privati IPv4 autoregistered:

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

Screenshot della query di registrazione automatica.

Passaggi successivi