Cha*_*own 6 azure azure-resource-manager azure-devops azure-pipelines azure-managed-identity
我正在尝试在 Azure Pipelines 中运行Azure 资源组部署任务。我已在运行 Windows 的 Azure VM 上部署了 Azure Pipelines 自托管代理,并且在我的 Azure DevOps 组织中,我已使用托管服务标识设置了与 VM 的 Azure 资源管理器服务连接。
但是,当我尝试使用托管标识的服务连接配置 Azure 资源组部署任务时,出现以下错误:
GetUserAccessToken: 获取identity的访问令牌失败。AAD 返回无声失败。
截屏:
我已经验证我已向目标资源组授予了对 VM 托管身份的访问权限(贡献者):
服务连接的范围也仅限于 Azure 订阅:
感谢您对诊断此问题的任何帮助。谢谢!
出现此问题的原因似乎是通过 Azure DevOps 身份验证的用户帐户正在检索订阅信息。Azure DevOps 是不使用托管标识来检索订阅信息。
特别是,我原来的 Azure DevOps 用户帐户已打开 MFA 以对 Azure 订阅(例如 Portal.azure.com)进行身份验证,但没有打开MFA 以对 Azure DevOps(如 dev.azure.com/)进行身份验证。我认为这是无法获取访问令牌时导致问题的原因:
我在 Azure AD 中创建了一个不同的用户帐户,授予其访问我的 Azure DevOps 组织的权限,并确保这个新用户帐户对目标订阅具有“读者”权限,并且没有打开 MFA。这解决了使用托管身份时获取订阅信息的问题:
| 归档时间: |
|
| 查看次数: |
9650 次 |
| 最近记录: |