如何通过Kusto查询获取租户tenantId对应的displayName
解决Azure Resource Graph中TenantId映射租户DisplayName的问题
方法1:通过TenantResources表关联查询
Azure Resource Graph的TenantResources表存储了租户级别的资源数据,其中microsoft.aadiam/directorytenants类型的记录包含租户的displayName和tenantId。你可以通过关联查询实现两者的映射:
Resources | where type == "microsoft.network/virtualnetworks" | project tenantId, id, name | join kind=leftouter ( TenantResources | where type == "microsoft.aadiam/directorytenants" | project tenantId, displayName = properties.displayName ) on tenantId
方法2:手动创建租户映射表
如果你的租户数量固定,可直接在查询中定义映射关系,适合小规模场景:
let tenantMap = datatable(tenantId:string, displayName:string) [ "xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "租户A", "yyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy", "租户B" ]; Resources | where type == "microsoft.network/virtualnetworks" | project tenantId, id, name | join kind=leftouter tenantMap on tenantId
注意事项
- 访问
TenantResources表需要对应的租户级别读取权限,跨Lighthouse租户场景下需确保目标租户已授权该权限。 - 若
TenantResources表无法获取部分租户的displayName,说明该租户未开放租户级数据访问权限,此时只能通过Azure AD门户、PowerShell脚本导出租户列表等外部渠道获取信息后导入映射。
内容的提问来源于stack exchange,提问作者JoakimE
相关产品推荐
相关产品推荐

