azure - 我可以将托管标识添加到我的 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。一旦管道(实际上是代理)完成了我的所有任务,则托管身份将被删除。例如,托管身份可以通过服务主体指定。这是存在的还是有可能的?
目前,我正在使用这两种方法,但是对于这样一个小任务,它们看起来都有些矫枉过正:
- 我有私有 ADO 代理池,并且这些机器具有我可以使用的预配置托管标识(我不能稍后在管道中配置它)
- 我使用两个管道的组合
- 供应和清理自定义虚拟机的辅助管道和
- 配置这些自定义 VM(通过服务连接访问)然后在它们上运行我的 bash 代码的主要管道
解决方案
我的想法是有一些 ADO 任务,它将托管标识添加到正在运行该任务的 VM。一旦管道(实际上是代理)完成了我的所有任务,则托管身份将被删除。例如,托管身份可以通过服务主体指定。这是存在的还是有可能的?
抱歉,恐怕不支持此功能。Azure Devops(甚至在VS 市场)中没有这样的开箱即用任务来实现此要求(在 VM 中添加/删除托管标识)。
此外,无法通过服务主体指定托管标识,因为这两个功能是不同的技术。有关更多详细信息,您可以参考此博客。所以不可能通过服务主体指定托管身份。
作为一个建议,您可以在我们的UserVoice 网站上提出您想要的功能(在一个 VM 中控制托管身份的官方任务)请求,这是我们产品建议的主要论坛。提出建议后,您可以在此处投票并添加您的评论。如果产品团队查看更新,他们将提供更新。感谢您帮助我们构建更好的 Azure DevOps。
推荐阅读
- javascript - 如何修复“本机主机已退出”
- uima - 使用 Ruta,在带注释的关键字的下一行中获取数据
- elixir - Phoenix 框架 - 节点模块安装
- android - R8 完整模式的真正作用是什么(积极优化)?
- javascript - 在 vuejs 中重新渲染之前的问题函数调用
- sas - SAS MACRO 错误:不支持在开放代码中嵌套 %IF 语句。%IF 被忽略
- windows - SMB Ubuntu 与 WIN 10 1903 共享 - 协议 3_11
- sql - 将数据从 Google Big Query 下载到 R 时如何防止格式错误(字符串变量)?
- java - 无法使用 spring JpaRepository 持久化数据
- c# - 从 IQueryable 生成的 SQL 查询在 C# 程序停止枚举后是否继续执行?