创建一个包含按租户/目录分组的订阅列表的参数 - Azure 资源图

问题描述

我正在尝试创建一个工作簿参数下拉列表,我们可以在其中选择订阅进行过滤。
但是,1 个租户/目录可能有一个或多个订阅
而不是像这样的平面订阅下拉列表:,

有没有办法像这样创建一个按租户/目录分组的订阅下拉列表,类似于 Azure Resource Graph Explorer 页面(位于右侧)中的那些:?

租户 1

租户 2

租户 3

非常感谢您的帮助。

解决方法

部分解决方案:

  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 以按名称+id 获取所有租户并与之合并?

更新:Jason 采取了额外的步骤,使用合并来获取数据,我不知道为什么我没有想到这一点。

您可以使用 ARM 数据源并查询 /tenants api 以获取要在合并中使用的信息: enter image description here

不过,在我这里,我只会让租户重新回到该列表中,所以我无法验证它是否会起作用并为您提供所有租户。我发誓我可以访问不止一个,但我只能拿回我的主要一个?

,

在 John Gardner 的回答之上,我设法通过在 2 个查询之间创建 Merge 使其工作。一种用于资源图,另一种用于 KQL,指的是外部 Blob 存储以及 TenantId 和租户名称之间的映射。 创建参数,使用 Merge,然后选择 Tenant Name 字段,将其重命名为“group”。