azure - 如何查看服务主体有权访问的 Azure 订阅列表?

标签 azure azure-devops azure-active-directory azure-sdk azure-service-principal

我有一个 SPN/AppRegistration,其贡献者可以访问订阅 1、2。

外部服务将使用此 SPN 来访问订阅 1,2 以部署资源。

此外部服务如何列出 SPN 贡献者有权访问的所有订阅?

最佳答案

没有端点可以在 Azure Rest API 中列出 SPN 的所有订阅。

检查 SPN 有权访问哪些订阅的最快方法是使用 Azure CLI .

使用 SPN 登录:

az login --service-principal --username APP_ID --password PASSWORD --tenant TENANT_ID

然后将列出 SPN 有权访问的所有订阅。

但它不会显示角色名称“contributor”。因此,只需确保 SPN 除了“贡献者”之外没有任何角色。

如果 SPN 的角色不是订阅的“贡献者”,则该订阅也会在此处列出。在这种情况下,请在 Powershell 中选择订阅,然后使用 az role assignment list --query "[?principalName=='{SPN_name}'].roleDefinitionName" 查看其在此订阅中的角色。

关于azure - 如何查看服务主体有权访问的 Azure 订阅列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68174898/

相关文章:

Azure Active Directory appRoleAssignments "Permission being assigned was not found on application"

azure - Powershell 获取 Azure 用户的存在

azure - 修改 Web.Config Azure PowerShell

azure - 微软认知服务语音转文本的客户计费/客户使用情况?

azure-devops - 在 Team Services 中的构建之间复制工件

azure-active-directory - 为什么我在需要身份验证时无法访问我的 Azure Function?

azure - 构建、分析和崩溃报告 - App Center 或 Azure

azure - 如何将 API 响应写入 Azure Blob 存储

variables - (如何)在 Azure DevOps 中对变量组进行版本控制?

git - 标签触发器在 azure 管道中不起作用