Поделиться через


Информация о частном DNS в Azure Resource Graph

В этой статье описаны некоторые способы использования Azure Resource Graph Explorer для просмотра сведений о зонах и записях Azure Private DNS. Приведены некоторые примеры запросов.

Azure Resource Graph (ARG) — это служба Azure, которая позволяет запрашивать ресурсы Azure с помощью сложных фильтров, группирования и сортировки. Запросы ARG предоставляют подробные сведения о ресурсах и вы можете отображать результаты несколькими способами.

Вы можете отобразить сведения о зонах DNS, в том числе:

  • Тип и количество записей ресурсов в одной или всех зонах
  • Список имен записей ресурсов и IP-адресов
  • Связи виртуальных сетей
  • Автоматически зарегистрированные записи ресурсов

Это краткий список. Можно запросить множество других сведений.

Таблица dnsresources

Чтобы использовать Resource Graph в портале Azure, выполните поиск и выберите Обозреватель Resource Graph. В области навигации слева выберите вкладку "Таблица " и просмотрите таблицу dnsresources . Эта таблица используется для запроса данных частной зоны DNS. Общедоступные зоны DNS не запрашиваются при использовании этой таблицы.

Выберите dnsresources , чтобы создать базовый запрос, а затем нажмите кнопку "Выполнить запрос ", чтобы вернуть результаты. См. следующий пример.

Снимок экрана: базовый запрос ARG.

Чтобы заменить идентификаторы отображаемыми именами и, если это возможно, отобразить значения в виде ссылок, установите переключатель Форматированные результаты в положение Включено в правом верхнем углу экрана. Чтобы просмотреть сведения для записи, прокрутите страницу справа и выберите "Просмотреть сведения". Первые несколько записей, показанных в предыдущем примере, — это записи PTR (тип = microsoft.network/privatednszones/ptr).

Подсчет записей ресурсов по типу

Следующий запрос использует таблицу dnsresources для предоставления количества записей ресурсов по типу для всех частных зон:

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

Снимок экрана: запрос счетчика записей ресурсов.

Запрос подсчитывает все записи, которые у текущей подписки есть разрешение на просмотр. Вы также можете визуально просмотреть количество, выбрав вкладку "Диаграммы " и выбрав тип диаграммы. Ниже приведен пример кольцевой диаграммы:

Снимок экрана: кольцевая диаграмма запроса подсчета записей ресурсов.

Список, фильтрация, поиск и сортировка записей ресурсов

Результаты запроса можно фильтровать, указав такие параметры, как имя зоны, идентификатор подписки, группа ресурсов или тип записи. Например, следующий пример запроса возвращает список записей A или CNAME в зоне private.contoso.com для данной подписки и группы ресурсов. Выходные данные этого запроса похожи на просмотр частной зоны с добавленной возможностью фильтрации и сортировки результатов по имени и типу:

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

Снимок экрана: запрос списка записей ресурсов.

Типы записей, которые можно указать: a, aaaa, cname, mx, ptr, soa, srv и txt.

Вы также можете запросить определенные IP-адреса или диапазоны адресов. Следующий запрос возвращает частные записи DNS, соответствующие определенному IPv4-адресу:

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

Регулярные выражения

Язык запросов Kusto также поддерживает регулярные выражения. Следующий запрос использует регулярное выражение для сопоставления и перечисления всех IPv4-адресов в заданной частной зоне DNS и указанной подписке:

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

Снимок экрана: запрос регулярного выражения.

В следующем запросе перечислены все частные зоны DNS, имеющие связи виртуальной сети, и отображается состояние авторегистрации. Этот запрос использует таблицу универсальных ресурсов , а не таблицу dnsresources и указывает тип ресурса только частных зон.

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

Снимок экрана запроса ссылок виртуальной сети.

Автоматически зарегистрированные записи DNS

В следующем запросе перечислены автоматически зарегистрированные частные записи DNS 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

Снимок экрана: запрос авторегистрации.

Следующие шаги