登录Tenant A可见Tenant B的Azure订阅,咨询原因及移除方法
Azure跨租户订阅可见性问题分析与解决
现象原因
- 你在租户B中拥有该订阅的所有者权限,同时是租户B的全局管理员,Azure身份认证系统会自动关联你在所有有权限租户中的资源。当你登录租户A时,系统会识别到你在租户B对该订阅的有效权限,因此会在订阅列表中显示它。
- 移除租户A中的组角色分配后仍能看到订阅,是因为权限来源是租户B的身份,而非租户A。此时在租户A上下文下查看“我的权限”为空,是因为Azure不会在当前租户(A)的界面中展示你在其他租户(B)的权限信息。
- Azure Plan类型的订阅本身支持跨租户身份访问,只要用户在资源所属租户有合法权限,切换到其他租户登录时资源会被自动识别。
移除可见性的方法
临时隐藏(推荐,不影响权限)
登录租户A后,点击Azure门户右上角的目录+订阅筛选器,在弹出面板中取消勾选租户B的该订阅,即可在当前登录会话中隐藏它,下次登录若需要可重新勾选。
彻底移除权限(需谨慎操作)
如果需要从根源上让该订阅不再出现在租户A的登录上下文里,需移除你在租户B中对该订阅的相关权限:
- 切换登录到租户B,进入该订阅的**访问控制(IAM)**页面。
- 找到你作为所有者的角色分配,点击删除。
- 若你同时是租户B的全局管理员,全局管理员默认对所有订阅有隐含权限,需要移除全局管理员角色(此操作会影响你对租户B的整体管理,需谨慎)。
清理残留权限(确保无租户A身份关联)
确认租户A中没有任何用户/组还拥有该订阅的权限,可通过命令行检查:
- Azure CLI:
az role assignment list --subscription <目标订阅ID> --query "[?principalName contains('<租户A域名>')]" - PowerShell:
Get-AzRoleAssignment -SubscriptionId <目标订阅ID> | Where-Object {$_.PrincipalName -like "*<租户A域名>*"}
如果查询到租户A的身份,直接删除对应的角色分配即可。
内容的提问来源于stack exchange,提问作者Dann1112
相关产品推荐
相关产品推荐

