Compartir a través de


Información sobre DNS privado en Azure Resource Graph

En este artículo se describen algunas de las formas en que puede usar Azure Resource Graph Explorer para ver información sobre las zonas y registros DNS privados de Azure. Se proporcionan algunas consultas de ejemplo.

Azure Resource Graph (ARG) es un servicio de Azure que permite consultar los recursos de Azure con filtrado, agrupación y ordenación complejos. Las consultas ARG proporcionan información detallada sobre los recursos y pueden mostrar los resultados de varias maneras.

Es posible mostrar información sobre las zonas DNS, incluyendo:

  • El tipo y el número de registros de recursos en una o todas las zonas
  • Una lista de nombres de registro de recursos y direcciones IP
  • Vínculos de red virtual
  • Registros de recursos registrados automáticamente

Esta es una lista breve. Se pueden consultar muchos otros detalles.

La tabla dnsresources

Para usar Resource Graph en Azure Portal, busque y seleccione Resource Graph Explorer. En el panel de navegación izquierdo, seleccione la pestaña Tabla y revise la tabla dnsresources. Esta tabla se usa para consultar datos de zonas DNS privadas. Las zonas DNS públicas no se consultan al usar esta tabla.

Seleccione dnsresources para crear una consulta básica y, a continuación, haga clic en Ejecutar consulta para devolver los resultados. Observe el ejemplo siguiente:

Captura de pantalla de una consulta ARG básica.

Para reemplazar los identificadores por nombres para mostrar y mostrar valores como vínculos siempre que sea posible, cambie Resultados con formato a En, en la esquina superior derecha de la pantalla. Para ver los detalles de un registro, desplácese a la derecha y seleccione Ver detalles. Los primeros registros que se muestran en el ejemplo anterior son registros PTR (tipo = microsoft.network/privatednszones/ptr).

Recuento de registros de recursos por tipo

La consulta siguiente usa la tabla dnsresources para proporcionar un recuento de registros de recursos por tipo a todas las zonas privadas:

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

Captura de pantalla de una consulta de recuento de registros de recursos.

La consulta cuenta todos los registros que la suscripción actual tiene permiso de visualización. También es posible ver el recuento visualmente seleccionando la pestaña Gráficos y, a continuación, seleccionando el tipo de gráfico. A continuación, se muestra un ejemplo de un gráfico de anillos:

Captura de pantalla de un gráfico de anillos de consulta de recuento de registros de recursos.

Enumerar, filtrar, buscar y ordenar registros de recursos

Los resultados de la consulta se pueden filtrar especificando parámetros, como el nombre de zona, el id. de suscripción, el grupo de recursos o el tipo de registro. Por ejemplo, la consulta de ejemplo siguiente devuelve una lista de registros A o CNAME en la zona private.contoso.com para una suscripción y un grupo de recursos determinado. La salida de esta consulta es similar a ver la zona privada, con la capacidad adicional de filtrar y ordenar los resultados por nombre y 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 pantalla de una consulta de lista de registros de recursos.

Los tipos de registro que se pueden especificar son: a, aaaa, cname, mx, ptr, soa, srv y txt.

También es posible consultar direcciones IP específicas o intervalos de direcciones. La consulta siguiente devuelve registros DNS privados que coinciden con una dirección IPv4 específica:

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

Expresiones regulares

El lenguaje de consulta Kusto también admite expresiones regulares. La consulta siguiente usa una expresión regular para buscar coincidencias y enumerar todas las direcciones IPv4 de la zona DNS privada especificada y la suscripción 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 pantalla de una consulta de expresión regular.

En la consulta siguiente, se enumeran todas las zonas DNS privadas que tengan vínculos de red virtual y se muestra el estado de registro automático. Esta consulta usa la tabla resources genérica, no la tabla dnsresources, y especifica un tipo de recurso de solo privatednszones.

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

Captura de pantalla de la consulta de vínculos de red virtual.

Registros DNS registrados automáticamente

En la consulta siguiente se enumeran los registros DNS privados IPv4 registrados automáticamente:

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 pantalla de la consulta de registro automático.

Pasos siguientes