Создайте параметр, содержащий список подписок, сгруппированных по арендатору или каталогу — Azure Resource Graph

Я пытаюсь создать раскрывающийся список параметров рабочей книги, где мы можем выбрать «Подписка» для фильтрации.
Однако у 1 арендатора/каталога может быть одна или несколько подписок.
Вместо плоского выпадающего списка подписки, подобного этому:

  • Подписка-1
  • Подписка-2
  • Подписка-3
  • Подписка-4
  • Подписка-5

Есть ли способ создать раскрывающийся список подписок, сгруппированных по арендатору/каталогу, аналогичный спискам на странице Azure Resource Graph Explorer (расположенной справа), например:?

Арендатор 1

  • Подписка-1
  • Подписка-2

Арендатор 2

  • Подписка 3

Арендатор 3

  • Подписка 4
  • Подписка-5

Большое спасибо за Вашу помощь.

2 ответа

Помимо ответов Джона Гарднера, мне удалось заставить его работать, создав слияние между двумя запросами. один для графа ресурсов и один для KQL, относящийся к внешнему хранилищу BLOB-объектов с сопоставлением между TenantId и Tenant Name. Создайте параметр, используйте Merge и выберите поле Tenant Name, переименуйте его в «group».

Частичное решение:

  1. создать новый параметр
  2. выберите «выбор подписки» в качестве типа параметра
  3. выберите «запрос» в качестве опции «получить данные из»
  4. в запросе установите источник данных "Azure Resource Graph"
  5. выбрать все или по умолчанию (подписки с фильтром подписки) в качестве значения подписки
  6. используйте запрос
      ResourceContainers | where type =~ "microsoft.resources/subscriptions"
// add any other filters you want here
| project id, name, group=tenantId

вы получите раскрывающийся параметр, который сгруппирован по арендатору.

ограничение: Azure Resource Graph не имеет имен арендаторов (не знаю, почему), поэтому в самом раскрывающемся списке их не будет. вам, возможно, придется запросить ARM отдельно, чтобы получить всех арендаторов по имени + идентификатору и объединиться с этим, если вам нужны имена арендаторов?

Обновление: Джейсон сделал дополнительный шаг, используя слияние для получения данных, и я не уверен, почему я об этом не подумал.

вы могли бы использовать источник данных ARM и запросить API /tenants, чтобы получить эту информацию для использования в слиянии:

на моем месте я возвращаюсь только к арендатору в этом списке, поэтому я не могу проверить, сработает ли он и доставит вам всех арендаторов. клянусь, у меня есть доступ к нескольким, но я получаю только свой основной?

Другие вопросы по тегам