# ...
spec:
sso:
provider: dex
dex:
openShiftOAuth: true (1)
# ...
安装 Red Hat OpenShift GitOps Operator 后,Argo CD 会自动创建一个具有 `admin` 权限的用户。要管理多个用户,集群管理员可以使用 Argo CD 配置单点登录 (SSO)。
从 Red Hat OpenShift GitOps v1.10.0 开始,ArgoCD CR 中的 `spec.dex` 参数不再受支持。请考虑改用 `.spec.sso` 参数。 |
默认情况下,Operator 创建的所有 Argo CD 实例都安装了 Dex。您可以通过设置 `.spec.sso` 参数将 Red Hat OpenShift GitOps 配置为使用 Dex 作为 SSO 身份验证提供程序。
Dex 通过检查平台提供的 `OAuth` 服务器来使用 OpenShift Container Platform 中定义的用户和组。
要启用 Dex,请在 Operator 的 YAML 资源中将 `.spec.sso.provider` 参数设置为 `dex`。
# ...
spec:
sso:
provider: dex
dex:
openShiftOAuth: true (1)
# ...
1 | 当 `openShiftOAuth` 属性的值设置为 `true` 时,它会触发 Operator 自动配置内置的 OpenShift Container Platform `OAuth` 服务器。 |
如果用户具有直接的 `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