ArgoCD 接入 Azure Entra ID 单点登录

2026-07-22#ArgoCD#Azure

ArgoCD 可以与 Azure Entra ID,实现单点登录(SSO)。本文将介绍如何在 Azure Entra ID 中配置 ArgoCD 的 SSO。

创建 App Registration 🔗

在 Azure 创建了 App Registration,系统就会在后台自动创建一个对应的 Enterprise Application。然后,将 App Registration 和 Enterprise Application 的所有者添加到 Azure Entra ID 中,并批准该应用程序。

配置 SSO 🔗

  1. 添加 Redirect URI (类型选 Web,值设为 https://<argocd-url>/auth/callback
  2. 添加 groups claims。这样就可以通过 Azure Entra ID 的组来控制 ArgoCD 的访问权限: 在 App Registration 的配置中找到 Token configuration。点击添加 groups claims,勾选 Groups assigned to the application,并选择Group ID of ID, Access and SAML

添加 Federated Credentials 🔗

在 App Registration 的 Certificates & secrets 中,点击 Federated Credentials 来添加 AKS 的 issuer,以及 ArgoCD Server 的 Namespace 和 Service Account,这样就能实现“无密码”(Secretless)的身份验证。也就是说,AKS 会在 ArgoCD 的 Pod 注入环境变量 AZURE_FEDERATED_TOKEN_FILE,它指向的文件是 AKS 的 Service Account Token 文件,ArgoCD 读取该文件内容,作为 client_assertion(客户端断言)发送给 Azure 的令牌端点 /token,获取 Access Token。

注意: issuer URL 必须与 AKS 集群的 issuerURL 完全一致,包括末尾的斜杠(/)。

添加用户 🔗

在 Enterprise Application 中,进入 Manage - Users and Groups 来添加 Role Assignments,以便用户或者用户组可以访问。