我有一个 SPN/AppRegistration,它具有订阅 1、2 的贡献者访问权限。
外部服务将使用此 SPN 访问订阅 1,2 以部署资源。
此外部服务如何列出 SPN 具有贡献者访问权限的所有订阅?
答案 0 :(得分:1)
没有一个端点可以在 Azure Rest API 中列出一个 SPN 的所有订阅。
检查 SPN 有权访问哪些订阅的最快方法是使用 Azure CLI。
使用 SPN 登录:
az login --service-principal --username APP_ID --password PASSWORD --tenant TENANT_ID
然后将列出 SPN 有权访问的所有订阅。
但它不会显示角色名称“贡献者”。因此,只需确保 SPN 没有“贡献者”以外的任何角色。
如果 SPN 的角色不是订阅的“贡献者”,则订阅也会在此处列出。在这种情况下,请在 Powershell 中选择订阅,然后使用 az role assignment list --query "[?principalName=='{SPN_name}'].roleDefinitionName"
查看其在此订阅中的角色。