我有一些机密已过期的 Azure DevOps 服务连接。我无法使用任何方法更新它们。有一些堆栈溢出帖子和答案,但似乎都不适合我。 服务连接类型:使用服务主体的 Azure 资源管理器(自动)
这些服务联系是由过去的员工创建的,所以我不是创建者,我相信没有办法改变它。 我对 DevOps 中的这些服务连接拥有管理员访问权限。 我在 Azure 中拥有全局管理员、用户访问管理员和贡献者权限。
基于这篇文章 - https://stackoverflow.com/a/69158265/3804477
我创建了一个新的服务连接(自动),在Azure中访问了它的应用程序注册,删除了它的秘密,按照上面帖子中的步骤操作,它运行起来没有任何问题。仅当我尝试更新过去员工创建的现有连接时才会出现问题。
如有任何帮助,我们将不胜感激。预先感谢。
如果将 Azure 资源管理器服务连接(ARM 服务连接)配置为“
Service principal (automatic)
”,当密钥过期时,您通常可以通过对 ARM 服务连接进行一些更新来刷新密钥。例如,更新服务连接名称或描述,然后保存更新。保存时,它会自动尝试刷新 ARM 服务连接的密钥。
现在,Azure DevOps 提供了使用 Workload Identity 联合配置 ARM 服务连接的新方法,并且是推荐的方法。
如果使用 Workload Identity 联合,您不需要有使用的秘密,因此您将不再担心凭证在将来的某个时间会过期。因此,我建议您切换 ARM 服务连接以使用工作负载身份联合。
您可以选择工作负载身份联合(自动)以使用工作负载身份联合快速配置 ARM 服务连接。您只需提供订阅、资源组(可选)和服务连接名称。
您可以选择工作负载身份联合(手动)以使用工作负载身份联合手动建立 ARM 服务连接。
选择“工作负载身份联合(手动)”>“下一步”。为服务连接指定一个自定义名称以完成步骤 1。单击“下一步”打开第2步。
在 Azure 门户上打开服务主体。然后转到“证书和机密”>“联合凭据”选项卡添加新凭据。
填写新凭证上所需的信息。
Other issuer
返回新服务连接窗口完成步骤2。
完成上述步骤后,在管道中,您可以正常使用此ARM服务连接。
有关更多详细信息,您可以参考文档“使用 Azure 资源管理器服务连接连接到 Azure”。