【问题标题】:Azure Resource Manager Service connection using automated security: What permissions are assigned over the Resource Group?使用自动安全性的 Azure 资源管理器服务连接:为资源组分配了哪些权限?
【发布时间】:2025-11-27 12:35:01
【问题描述】:

根据this,当您创建与某个资源组的 Azure 资源管理器服务连接时,Azure DevOps 会与 Azure Active Directory (Azure AD) 连接,并使用有效期为两年的密钥创建应用注册。

那么,通过资源组注册此应用程序的权限究竟是什么?与创建服务连接的帐户相同?

【问题讨论】:

    标签: azure azure-devops azure-active-directory


    【解决方案1】:

    当您在 Azure Devops 中创建自动化的 Azure 资源管理器服务连接时,它会自动在 Azure Active Directory 中创建服务主体(名称:Orgname-projectname-SubscriptionID)。

    您可以导航到Azure Portal -> Azure Active Directory -> App registrations

    在 azure devops 中使用此自动服务连接时,Azure 源通过此服务主体而不是创建服务连接的帐户来操作。

    此服务主体在 Azure 资源组中具有 Contributor role

    授予管理所有资源的完全访问权限,但不允许您在 Azure RBAC 中分配角色、在 Azure 蓝图中管理分配或共享图像库。

    您可以在Resource Group -> Access control 中搜索服务主体名称以检查其权限

    【讨论】:

    • 伟大而完整的答案。在使用服务连接时,我想允许部署但阻止在 RG 中创建新资源(贡献者角色允许这样做)。我知道没有可用的任务可供管道创建者用来在 RG 中创建新资源。这是正确的吗?
    • 您的意思是使用 Azure Pipeline 在 Azure 资源组中创建资源吗?如果是,如果你有 ARM 模板,ARM 模板部署任务就可以完成。
    • 是的,这正是我的意思。有什么方法可以使用具有自动安全性的服务连接来阻止它?为创建服务连接而创建服务主体(具有受限权限)是实现此目的的唯一方法吗?
    【解决方案2】:

    通过资源组注册此应用程序的具体权限是什么?

    这是一个Contributor的角色,也为你做了一个快速测试。

    与创建服务连接的帐户相同?

    不可以,帐号必须是订阅的Owner,否则将无权将角色分配给AD App,即服务主体。

    【讨论】: