手动设置 Azure 资源管理器工作负载标识服务连接
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
注意
我们正在推出新的 Azure 服务连接创建体验。 在你的组织中接收它取决于各种因素,你仍可能会看到较旧的用户体验。
在排除 Azure 资源管理器工作负载标识服务连接故障时,可能需要手动配置连接,而不是使用 Azure DevOps 中提供的自动化工具。
建议在开始手动配置之前尝试自动化方法。
身份验证有两个选项:使用托管标识和使用应用注册。 托管标识选项的优点是,如果你无权创建服务主体,或者使用的是与 Azure DevOps 用户不同的 Microsoft Entra 租户,则可以使用它。
设置工作负荷标识服务连接
若要为 Azure 管道手动设置托管标识身份验证,请执行以下步骤,在 Azure 门户中创建托管标识,在 Azure DevOps 中建立服务连接,添加联合凭据,并授予必要的权限。 你将需要按此顺序执行以下步骤:
- 在 Azure 门户中创建托管标识。
- 在 Azure DevOps 中创建服务连接并另存为草稿。
- 在 Azure 门户中将联合凭据添加到托管标识。
- 在 Azure 门户中向托管标识授予权限。
- 在 Azure DevOps 中保存服务连接。
还可以将 REST API 用于此过程。
托管标识身份验证的先决条件
- 若要创建用户分配的托管标识,你的 Azure 帐户需要托管标识参与者角色或更高的角色分配。
- 若要使用托管标识访问管道中的 Azure 资源,请将托管标识访问权限分配给资源。
在 Azure 门户中创建托管标识
登录到 Azure 门户。
在搜索框中输入“托管标识”。
选择创建。
在“创建用户分配的托管标识”窗格中,输入或选择以下项的值:
- 订阅:选择要在其中创建用户分配的托管标识的订阅。
- 资源组:选择要在其中创建用户分配的托管标识的资源组,或选择“新建”来创建新资源组。
- 区域:选择用于部署用户分配的托管标识的区域(示例:美国东部)。
- 名称:这是用户分配的托管标识的名称(示例:UADEVOPS)。
选择“查看 + 创建”以创建新的托管标识。 完成部署后,选择“转到资源”。
复制托管标识的“订阅”、“订阅 ID”和“客户端 ID”值,供日后使用。
在 Azure 门户中的托管标识中,转到设置>属性。
复制“租户 ID”值以供稍后使用。
在 Azure DevOps 中为托管标识身份验证创建服务连接
在 Azure DevOps 中,打开项目并转到>“管道”>“服务连接”。
选择“新建服务连接”。
选择“Azure 资源管理器”。
选择标识类型应用注册或托管标识(手动)工作负荷联合身份验证凭据。
对于“服务连接名称”,输入一个值,例如
uamanagedidentity
。 你将在联合凭据主题标识符中使用此值。选择下一步。
在步骤 2:应用注册详细信息中:
步骤 2:应用注册详细信息包含以下参数。 你可以输入或选择以下参数:
参数 说明 颁发者 必需。 DevOps 会自动创建颁发者 URL。 使用者标识符 必需。 DevOps 会自动创建使用者标识符。 环境 必需。 选择要连接到的云环境。 如果选择 Azure Stack,请输入环境 URL,如下所示: https://management.local.azurestack.external
。选择范围级别。 选择订阅、管理组或机器学习工作区。 管理组是一些容器,可以帮助跨多个订阅管理访问权限、策略和符合性。 机器学习工作区用于创建机器学习项目。
对于订阅范围,请输入以下参数:
参数 说明 订阅 ID 必需。 输入 Azure 订阅 ID。 订阅名称 必需。 输入 Azure 订阅名称。 对于管理组范围,请输入以下参数:
参数 说明 管理组 ID 必需。 输入 Azure 管理组 ID。 管理组名称 必需。 输入 Azure 管理组名称。 对于机器学习工作区范围,请输入以下参数:
参数 说明 订阅 ID 必需。 输入 Azure 订阅 ID。 订阅名称 必需。 输入 Azure 订阅名称。 资源组 必需。 选择包含工作区的资源组。 ML 工作区名称 必需。 输入现有 Azure 机器学习工作区的名称。 ML 工作区位置 必需。 输入现有 Azure 机器学习工作区的位置。
在身份验证部分中,输入或选择以下参数:
参数 说明 应用程序(客户端) ID 必需。 输入你的托管标识的客户端 ID。 目录(租户)ID 必需。 输入托管标识中的租户 ID。 在安全性部分中,选择向所有管道授予访问权限以允许所有管道使用此服务连接。 如果未选择此选项,则必须手动授予对使用此服务连接的每个管道的访问权限。
在 Azure DevOps 中,复制为“证书颁发者”和“使用者标识符”生成的值。
选择“保留为草稿”以保存草稿凭据。 在托管标识在 Azure 门户中具有联合凭据之前,无法完成设置。
在 Azure 门户中添加联合凭据
在新的浏览器窗口中,在 Azure 门户中的托管标识中,转到设置>联合凭据。
选择“添加凭据”。
选择“其他证书颁发者”方案。
将从 Azure DevOps 项目中的“证书颁发者”和“使用者标识符”复制的值粘贴到 Azure 门户中的联合凭据。
输入输入联合凭据的“名称”。
选择 添加 。
在 Azure 门户中向托管标识授予权限
在 Azure 门户中,转到要为其授予权限的 Azure 资源(例如资源组)。
选择“访问控制(IAM)”。
选择“添加角色分配”。 将所需角色分配给托管标识(例如,参与者)。
选择“查看并分配”。
保存 Azure DevOps 服务连接
在 Azure DevOps 中,返回到草稿服务连接。
选择“完成设置”。
选择验证并保存。 此步骤成功完成后,将完全配置托管标识。