Dela via


Privat DNS information i Azure Resource Graph

Den här artikeln beskriver några av de sätt som du kan använda Azure Resource Graph Explorer för att visa information om dina Azure Privat DNS-zoner och poster. Några exempelfrågor tillhandahålls.

Azure Resource Graph (ARG) är en Azure-tjänst som gör att du kan köra frågor mot dina Azure-resurser med komplex filtrering, gruppering och sortering. ARG-frågor ger detaljerad information om dina resurser och du kan visa resultaten på flera sätt.

Du kan visa information om dina DNS-zoner, inklusive:

  • Typ och antal resursposter i en eller alla zoner
  • En lista över resurspostnamn och IP-adresser
  • Virtuella nätverkslänkar
  • Automatiskt registrerade resursposter

Det här är en kort lista. Många andra detaljer kan efterfrågas.

Tabellen dnsresources

Om du vill använda Resource Graph i Azure Portal söker du efter och väljer Resource Graph Explorer. I det vänstra navigeringsfönstret väljer du fliken Tabell och granskar tabellen dnsresources . Den här tabellen används för att fråga privata DNS-zondata. Offentliga DNS-zoner efterfrågas inte när du använder den här tabellen.

Välj dnsresources för att skapa en grundläggande fråga och klicka sedan på Kör fråga för att returnera resultatet. Se följande exempel:

Skärmbild av en grundläggande ARG-fråga.

Om du vill ersätta ID:er med visningsnamn och visa värden som länkar där det är möjligt kan du växla Formaterade resultat till i det övre högra hörnet av skärmen. Om du vill visa information om en post bläddrar du till höger och väljer Se information. De första posterna som visas i föregående exempel är PTR-poster (typ = microsoft.network/privatednszones/ptr).

Räkna resursposter efter typ

Följande fråga använder tabellen dnsresources för att ange antalet resursposter efter typ för alla privata zoner:

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

Skärmbild av en fråga om antal resursposter.

Frågan räknar alla poster som den aktuella prenumerationen har behörighet att visa. Du kan också visa antalet visuellt genom att välja fliken Diagram och sedan välja diagramtyp. Följande är ett exempel på ett ringdiagram:

Skärmbild av ett frågeutforskarediagram för antal resursposter.

Lista, filtrera, söka efter och sortera resursposter

Frågeresultat kan filtreras genom att ange parametrar som zonnamn, prenumerations-ID, resursgrupp eller posttyp. Följande exempelfråga returnerar till exempel en lista över A- eller CNAME-poster i zonen private.contoso.com för en viss prenumeration och resursgrupp. Utdata för den här frågan liknar att visa den privata zonen, med den extra möjligheten att filtrera och sortera resultat efter namn och typ:

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

Skärmbild av en resurspostlistefråga.

Posttyper som kan anges är: a, aaaa, cname, mx, ptr, soa, srv och txt.

Du kan också fråga efter specifika IP-adresser eller adressintervall. Följande fråga returnerar privata DNS-poster som matchar en specifik IPv4-adress:

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

Reguljära uttryck

Kusto-frågespråket stöder också reguljära uttryck. Följande fråga använder ett reguljärt uttryck för att matcha och visa alla IPv4-adresser i den angivna privata DNS-zonen och den angivna prenumerationen:

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

Skärmbild av en fråga med reguljära uttryck.

Följande fråga visar en lista över alla privata DNS-zoner som har länkar till virtuella nätverk och visar status för automatisk registrering. Den här frågan använder den allmänna resurstabellen, inte tabellen dnsresources och anger en resurstyp med endast privatednszones.

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

Skärmbild av frågan om länkar till virtuella nätverk.

Automatiskt registrerade DNS-poster

Följande fråga visar autoregistrerade privata IPv4 DNS-poster:

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

Skärmbild av autoregistreringsfrågan.

Nästa steg