有什么方法可以向运行Azure DevOps管道的VM代理添加Azure Managed Identity?我希望能够在bash任务中运行curl
命令并获取访问令牌。
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。一旦管道(实际上是代理)完成了我的所有任务,托管身份将被删除。可以通过服务主体指定托管身份。这是否存在或有可能吗?
当前,我正在使用这两种方法,但是对于如此小的任务,它们看起来都有些过分了:
答案 0 :(得分:0)
我的想法是拥有一些ADO任务,它将添加托管身份 到运行任务的VM。一旦管道(实际上是代理) 完成我所有的任务后,托管身份将被删除。管理 身份可以例如通过服务主体指定。这是 存在还是有可能?
对不起,但是我担心这不受支持。在Azure Devops中(甚至在VS marketplace中)也没有这样的现成任务可以满足此要求(在VM中添加/删除托管身份)。
此外,不能通过服务主体指定托管身份,因为这两个功能是不同的技术。有关更多详细信息,请参阅this blog。因此,不可能通过服务主体指定托管身份。
作为建议,您可以在UserVoice site(这是我们提供产品建议的主要论坛)上请求所需的功能(在一个VM中控制托管身份的一项正式任务)。提出建议后,您可以投票并在此处添加评论。如果产品小组查看了更新,他们将提供更新。感谢您帮助我们构建更好的Azure DevOps。