5.7. 使用 Dex 为 Argo CD 配置 SSO
安装 Red Hat OpenShift GitOps Operator 后,Argo CD 会自动创建一个具有 admin
权限的用户。要管理多个用户,集群管理员可以使用 Argo CD 来配置 Single Sign-On(SSO)。
5.7.1. 启用 Dex OpenShift OAuth 连接器
Dex 通过检查平台提供的 OAuth
服务器,使用 OpenShift 中定义的用户和组。以下示例显示了 Dex 的属性以及示例配置:
apiVersion: argoproj.io/v1alpha1 kind: ArgoCD metadata: name: example-argocd labels: example: openshift-oauth spec: dex: openShiftOAuth: true 1 groups:2 - default rbac:3 defaultPolicy: 'role:readonly' policy: | g, cluster-admins, role:admin scopes: '[groups]'
5.7.1.1. 将用户映射到特定的角色
如果有直接 ClusterRoleBinding
角色,Argo CD 无法将用户映射到特定角色。您可以通过 OpenShift,手动更改 SSO 上的 role:admin
角色。
流程
创建名为
cluster-admins
的组。$ oc adm groups new cluster-admins
将用户添加到组。
$ oc adm groups add-users cluster-admins USER
将
cluster-admin
ClusterRole
应用到组:$ oc adm policy add-cluster-role-to-group cluster-admin cluster-admins
5.7.2. 禁用 Dex
对于 Operator 创建的所有 Argo CD 实例,默认安装 Dex。您可以禁用 Dex。
流程
在 Operator 的 YAML 资源中将环境变量
DISABLE_DEX
设置为 true:spec: config: env: - name: DISABLE_DEX value: "true"