Azure DevOps 服务与联合服务主体的连接 - 令牌在 55 分钟后过期

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

我们在尝试将 Azure DevOps 服务连接与联合服务主体结合使用时遇到问题。看起来联邦令牌会在 55 分钟后过期,并且不会自动刷新。

对于示例,我附加了一个非常简单的管道,该管道在无限循环中将 Set-AzContext 运行到同一订阅 ID
该管道在 56 次迭代后失败(每次迭代之间有 1 分钟的睡眠时间),即令牌过期的确切时间!

trigger: none
stages:

- stage: "create_VM_report"
  jobs:
  - job: Cost_optimization
    displayName: Cost optimization report
    timeoutInMinutes: 240
    pool:
    vmImage: "ubuntu-latest"
    steps:
    - task: AzurePowerShell@5
      displayName: federation service connection test
      inputs:
      azureSubscription: 'lz-service-connection-ro' ## federation
      ScriptType: 'InlineScript'
      Inline: |
      \##  endless loop
      $i = 0
      while ($true) {
      Write-Host "Loop number: $i"
      Set-AzContext -SubscriptionId ‘\<put your subs ID\>' ## itbtg-ccoe-lab
      Start-Sleep -Seconds 60
      $i++
      }
      azurePowerShellVersion: 'LatestVersion'
      pwsh: true
      Error message:
      Loop number: 55
      WARNING:Unable to acquire token for tenant '' with error'A configuration issue is preventing authentication Original exception: AADSTS700024: Client assertion is not within its valid time range.  expiry time of assertion
azure token federation azure-service-principal
1个回答
0
投票

我们在使用 DevOps 的联合服务连接时遇到了同样的问题。

这也意味着当56分钟后重新运行某个阶段时,该阶段执行将会失败。 基本上,管道中的重新运行阶段将不再起作用。

目前这个问题阻碍我们将所有 DevOps 服务连接迁移到使用联合。

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