无法为 Azure DevOps 服务连接续订过期密钥

问题描述 投票:0回答:1

我有一些机密已过期的 Azure DevOps 服务连接。我无法使用任何方法更新它们。有一些堆栈溢出帖子和答案,但似乎都不适合我。 服务连接类型:使用服务主体的 Azure 资源管理器(自动)

这些服务联系是由过去的员工创建的,所以我不是创建者,我相信没有办法改变它。 我对 DevOps 中的这些服务连接拥有管理员访问权限。 我在 Azure 中拥有全局管理员、用户访问管理员和贡献者权限。

基于这篇文章 - https://stackoverflow.com/a/69158265/3804477

我创建了一个新的服务连接(自动),在Azure中访问了它的应用程序注册,删除了它的秘密,按照上面帖子中的步骤操作,它运行起来没有任何问题。仅当我尝试更新过去员工创建的现有连接时才会出现问题。

微软文档也没有运气 - https://learn.microsoft.com/en-us/azure/devops/pipelines/release/azure-rm-endpoint?view=azure-devops#service-principals-token-expired

如有任何帮助,我们将不胜感激。预先感谢。

azure azure-devops azure-pipelines serviceconnection
1个回答
0
投票

如果将 Azure 资源管理器服务连接(ARM 服务连接)配置为“

Service principal (automatic)
”,当密钥过期时,您通常可以通过对 ARM 服务连接进行一些更新来刷新密钥。例如,更新服务连接名称描述,然后保存更新。保存时,它会自动尝试刷新 ARM 服务连接的密钥。


现在,Azure DevOps 提供了使用 Workload Identity 联合配置 ARM 服务连接的新方法,并且是推荐的方法。

  • 工作负载身份联合(自动)
  • 工作负载身份联合(手动)

如果使用 Workload Identity 联合,您不需要有使用的秘密,因此您将不再担心凭证在将来的某个时间会过期。因此,我建议您切换 ARM 服务连接以使用工作负载身份联合。


如果您没有现有的服务主体:

您可以选择工作负载身份联合(自动)以使用工作负载身份联合快速配置 ARM 服务连接。您只需提供订阅资源组(可选)和服务连接名称

enter image description here


如果您有现有的服务主体:

您可以选择工作负载身份联合(手动)以使用工作负载身份联合手动建立 ARM 服务连接。

  1. 选择“工作负载身份联合(手动)”>“下一步”。为服务连接指定一个自定义名称以完成步骤 1。单击“下一步”打开第2步

    enter image description here

  2. 在 Azure 门户上打开服务主体。然后转到“证书和机密”>“联合凭据”选项卡添加新凭据。

    enter image description here

  3. 填写新凭证上所需的信息。

    • 联合凭证场景:
      Other issuer
    • 发行人:从新服务连接窗口上的步骤2复制。
    • 主题标识符:从新服务连接窗口上的步骤 2复制。
    • 名称:新凭证的自定义名称。

    enter image description here

  4. 返回新服务连接窗口完成步骤2

    enter image description here

完成上述步骤后,在管道中,您可以正常使用此ARM服务连接。

有关更多详细信息,您可以参考文档“使用 Azure 资源管理器服务连接连接到 Azure”。


© www.soinside.com 2019 - 2024. All rights reserved.