首页 > 解决方案 > 我可以将托管标识添加到我的 ADO 管道吗?

问题描述

有什么方法可以将Azure 托管标识添加到运行我的 Azure DevOps 管道的 VM 代理?我希望能够curl在 bash 任务中运行命令并获取访问令牌。

根据Microsoft Docs 页面,我想在管道中运行的命令与此类似

curl 'http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https%3A%2F%2Fmanagement.azure.com%2F&client_id=$(IDENTITY)' -H Metadata:true -s

我知道我可以使用各种内置任务进行 Azure 身份验证,但它们(据我所知)都没有启用查询元数据服务。

我的想法是有一些 ADO 任务,它将托管标识添加到正在运行该任务的 VM。一旦管道(实际上是代理)完成了我的所有任务,则托管身份将被删除。例如,托管身份可以通过服务主体指定。这是存在的还是有可能的?

目前,我正在使用这两种方法,但是对于这样一个小任务,它们看起来都有些矫枉过正:

标签: azurecurlazure-devopsazure-pipelinesazure-managed-identity

解决方案


我的想法是有一些 ADO 任务,它将托管标识添加到正在运行该任务的 VM。一旦管道(实际上是代理)完成了我的所有任务,则托管身份将被删除。例如,托管身份可以通过服务主体指定。这是存在的还是有可能的?

抱歉,恐怕不支持此功能。Azure Devops(甚至在VS 市场)中没有这样的开箱即用任务来实现此要求(在 VM 中添加/删除托管标识)。

此外,无法通过服务主体指定托管标识,因为这两个功能是不同的技术。有关更多详细信息,您可以参考此博客。所以不可能通过服务主体指定托管身份。

作为一个建议,您可以在我们的UserVoice 网站上提出您想要的功能(在一个 VM 中控制托管身份的官方任务)请求,这是我们产品建议的主要论坛。提出建议后,您可以在此处投票并添加您的评论。如果产品团队查看更新,他们将提供更新。感谢您帮助我们构建更好的 Azure DevOps。


推荐阅读