azure - 自托管 Azure DevOps Pipeline Agent 失败并出现错误“ token 受众无效”

标签 azure azure-devops azure-aks

我已经创建了一个具有代理池读取和管理权限的新 token 。 我创建了一个新的代理池 lnx_agent,其中我有管理员角色来管理它。 当我从此链接 https://vstsagentpackage-azureedge-net.o365.example-domain.defendernet.com/agent/2.171.1/vsts-agent-linux-x64-2.171.1.tar.gz 下载 Agent linux x64 的 tar 文件时,将其复制到堡垒主机,解压并执行 ./config.sh,其中包含 URL、PAT token 、代理池为 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 是我的公司名称。 此 token 请求的 AAD 相关 ID:未知 这意味着什么?

由于我的 AKS 群集是私有(private)的,因此从 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 地址的通信。

关于azure - 自托管 Azure DevOps Pipeline Agent 失败并出现错误“ token 受众无效”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62628017/

相关文章:

azure - 如何使用 Logic App 将 blob 从一个容器复制到另一个容器

azure - AKS Kube 代理不公开指标

powershell - 使用 FTP 将文件发布到 Azure Web App 时出错

azure - 身份验证和授予授权后 OpenIdConnect 错误重定向

azure - 访问 Azure DevOps Runs API 中的消息正文

azure - 如何将 Json 变量传递给 Azure DevOps 管道中的命令行任务?

azure-devops - Visual Studio Online (VSO) 分支策略 - 带自动生成的拉取请求

azure - 新镜像未部署到 AKS

azure - 如何使用 Terraform 扩展 Kubernetes 集群以避免停机?

azure - 在 Azure 中从 VHD 创建经典 VM