Privé-DNS informatie in Azure Resource Graph
In dit artikel worden enkele manieren beschreven waarop u Azure Resource Graph Explorer kunt gebruiken om informatie over uw Azure Privé-DNS-zones en -records weer te geven. Er worden enkele voorbeeldquery's gegeven.
Azure Resource Graph (ARG) is een Azure-service waarmee u query's kunt uitvoeren op uw Azure-resources met complexe filtering, groepering en sortering. ARG-query's bieden gedetailleerde informatie over uw resources en u kunt de resultaten op verschillende manieren weergeven.
U kunt informatie over uw DNS-zones weergeven, waaronder:
- Het type en het aantal resourcerecords in een of alle zones
- Een lijst met resourcerecordnamen en IP-adressen
- Links naar virtuele netwerken
- Automatisch geregistreerde resourcerecords
Dit is een korte lijst. Veel andere details kunnen worden opgevraagd.
De tabel dnsresources
Als u Resource Graph in Azure Portal wilt gebruiken, zoekt en selecteert u Resource Graph Explorer. Selecteer in het navigatiedeelvenster aan de linkerkant het tabblad Tabel en controleer de tabel dnsresources . Deze tabel wordt gebruikt om query's uit te voeren op privé-DNS-zonegegevens. Openbare DNS-zones worden niet opgevraagd wanneer u deze tabel gebruikt.
Selecteer dnsresources om een basisquery te maken en klik vervolgens op Query uitvoeren om de resultaten te retourneren. Zie het volgende voorbeeld:
Als u id's wilt vervangen door weergavenamen en waarden als koppelingen wilt weergeven, schakelt u opgemaakte resultatenin op Aan in de rechterbovenhoek van de weergave. Als u de details van een record wilt bekijken, schuift u naar rechts en selecteert u Details weergeven. De eerste paar records die in het vorige voorbeeld worden weergegeven, zijn PTR-records (type = microsoft.network/privatednszones/ptr).
Resourcerecords per type tellen
De volgende query maakt gebruik van de tabel dnsresources om een aantal resourcerecords per type op te geven voor alle privézones:
dnsresources
| summarize count() by recordType = tostring(type)
De query telt alle records die het huidige abonnement heeft om weer te geven. U kunt het aantal ook visueel weergeven door het tabblad Grafieken te selecteren en vervolgens het grafiektype te selecteren. Hier volgt een voorbeeld van een ringdiagram:
Resourcerecords weergeven, filteren, zoeken en sorteren
Queryresultaten kunnen worden gefilterd door parameters op te geven, zoals de zonenaam, abonnements-id, resourcegroep of recordtype. De volgende voorbeeldquery retourneert bijvoorbeeld een lijst met A- of CNAME-records in de zone private.contoso.com voor een bepaald abonnement en een bepaalde resourcegroep. De uitvoer van deze query is vergelijkbaar met het weergeven van de privézone, met de toegevoegde mogelijkheid om resultaten te filteren en te sorteren op naam en 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
Recordtypen die kunnen worden opgegeven, zijn: a, aaaa, cname, mx, ptr, soa, srv en txt.
U kunt ook query's uitvoeren op specifieke IP-adressen of adresbereiken. De volgende query retourneert privé-DNS-records die overeenkomen met een specifiek IPv4-adres:
dnsresources
| where properties['records'][0]['ipv4Address'] == "10.10.2.5"
| project name, type, resourceGroup, properties
Reguliere expressies
De Kusto-querytaal ondersteunt ook reguliere expressies. De volgende query maakt gebruik van een reguliere expressie om alle IPv4-adressen in de opgegeven privé-DNS-zone en het opgegeven abonnement te vergelijken en weer te geven:
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
Zones met virtuele netwerkkoppelingen
De volgende query bevat alle privé-DNS-zones met virtuele netwerkkoppelingen en geeft de status van de automatische registratie weer. Deze query maakt gebruik van de algemene resourcetabel , niet de tabel dnsresources en geeft een resourcetype op van alleen privatedns-zones.
resources
| where subscriptionId == "<your subscription ID>"
| where ['type'] == "microsoft.network/privatednszones/virtualnetworklinks"
| extend registrationEnabled=(properties.registrationEnabled)
| project name, registrationEnabled, resourceGroup, properties
Automatisch geregistreerde DNS-records
De volgende query bevat automatisch geregistreerde privé-DNS-records voor IPv4:
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
Volgende stappen
- Meer informatie over het beheren van recordsets en records in uw DNS-zone.