我需要从我的一个 Azure 逻辑应用程序与我的 Azure DevOps 实例进行通信,以便执行一些例行任务(主要是通过用户 - 列表 API 调用读取用户列表)。目前,我正在使用个人访问令牌 (PAT) 进行身份验证,但我想知道是否有一种方法可以不依赖于我的个人帐户(如 PAT 那样)来许可 Azure DevOps 中的逻辑应用程序。有什么想法吗?
例如,在 Azure 自动化中,我可以通过应用程序的身份对象 ID 授予对逻辑应用程序的访问权限,并使用“托管标识”作为身份验证类型(在 HTTP 操作中)通过 REST API 访问 Azure 自动化服务。 Azure DevOps 中是否有可能实现类似的功能?
似乎不可能在 azure devops 中创建类似“托管身份”的内容来允许逻辑应用程序访问 azure devops 实例。
您可以在逻辑应用中添加azure devops连接器来访问azure devops服务。你可以参考这个线程
但是我测试并发现,对于不同服务器域“vssps”中的微软主机用户广告数据,我无法通过将http请求发送到azure devops来列出用户。您可能仍然需要使用http请求来调用列表用户api并使用基本身份验证(使用用户名和密码)或PAT身份验证。
我终于把它放在一起,在这里发布我的解决方案,以备我忘记时使用,尽管解决方案一旦点击就非常简单。
我缺少的部分是受众、具有 .default 范围的 Devops 应用程序 ID。
您还需要在组织权限下的 DevOps 中授予逻辑应用权限。