自托管 Azure DevOps 管道代理失败并出现错误令牌受众无效

Self Hosted Azure DevOps Pipeline Agent fails with error Token Audience is not valid

我创建了一个具有代理池读取和管理权限的新令牌。 我创建了一个新的代理池 lnx_agent,其中我有管理员角色来管理它。 当我从这个linkhttps://vstsagentpackage-azureedge-net.o365.example-domain.defendernet.com/agent/2.171.1/vsts-agent-linux-x64-2.171.1.tar.gz下载代理linuxx64的tar文件时,将它复制到堡垒主机,解压并执行./config.sh with URL,PAT 令牌,代理池为 lnx_agent,默认代理名称为 bastion_agent ;我收到以下错误消息。

[2020-06-28 20:24:35Z ERR  VisualStudioServices] POST request to https://vssps-dev-azure-com.o365.example-domain.defendernet.com/Example-Client/_apis/oauth2/token failed. HTTP Status: BadRequest, AFD Ref: Ref A: C7A934103EDF47B2B3E6F148516B35B5 Ref B: DB3EDGE1015 Ref C: 2020-06-28T20:24:35Z
[2020-06-28 20:24:35Z INFO VisualStudioServices] AAD Correlation ID for this token request: Unknown
[2020-06-28 20:24:35Z INFO VisualStudioServices] Finished operation Location.GetConnectionData
[2020-06-28 20:24:35Z INFO VisualStudioServices] Finished operation Location.GetConnectionData
[2020-06-28 20:24:35Z INFO VisualStudioServices] Finished operation Location.GetConnectionData
[2020-06-28 20:24:35Z ERR  Agent] Microsoft.VisualStudio.Services.OAuth.VssOAuthTokenRequestException: The token audience is not valid https://vssps-dev-azure-com.o365.example-domain.defendernet.com/Example-Client/_apis/oauth2/token. Comparing to https://vssps-dev-azure-com.o365.example-domain.defendernet.com/Example-Client/_apis/oauth2/token; https://app-vssps-visualstudio-com.o365.example-domain.defendernet.com/Example-Client/_apis/oauth2/token.

Example-Client 是我的项目,example-domain 是我的公司名称。 这是什么意思 此令牌请求的 AAD 关联 ID:未知

由于我的 AKS 群集是私有的,因此从 Azure 发布管道(如 kubeconfig、服务帐户和订阅)连接到它的所有三个选项都失败了。因此,如果我可以在其虚拟网络与专用 AKS 群集的虚拟网络对等的堡垒主机中配置自托管代理,那么我可以通过此堡垒主机中的 运行 代理成功地自动化 CD 管道。

 az devops login --organization https://dev-azure-com.o365.example-domain.defendernet.com/Example-Client
Token:
Failed to store PAT using keyring; falling back to file storage.
You can clear the stored credential by running az devops logout.
Refer https://aka.ms/azure-devops-cli-auth to know more on sign in with PAT.

首先,请确保您可以从堡垒主机访问 Azure DevOps 组织(https://dev.azure.com/{organization})。否则我们无法连接到 Azure DevOps 服务。

其次,请检查您是否运行堡垒主机上的防火墙或代理。如果您是 运行 位于防火墙后的安全网络中的代理,请确保该代理可以启动与以下文档中提到的 URL 和 IP 地址的通信。

URL 来自 https://dev-azure-com.o365.example-domain.defendernet.com/Example-Client to https://dev.azure.com/Example-Client 的更新解决了这个问题