×

安装 Red Hat OpenShift GitOps Operator 后,Argo CD 会自动创建一个具有 `admin` 权限的用户。要管理多个用户,集群管理员可以使用 Argo CD 配置单点登录 (SSO)。

从 Red Hat OpenShift GitOps v1.10.0 开始,ArgoCD CR 中的 `spec.dex` 参数不再受支持。请考虑改用 `.spec.sso` 参数。

启用 Dex OpenShift OAuth 连接器的配置

默认情况下,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`。

步骤
  1. 创建一个名为 `cluster-admins` 的组。

    $ oc adm groups new cluster-admins
  2. 将用户添加到该组。

    $ oc adm groups add-users cluster-admins USER
  3. 将 `cluster-admin` `ClusterRole` 应用于该组。

    $ oc adm policy add-cluster-role-to-group cluster-admin cluster-admins

通过替换 .spec.sso 来禁用 Dex

  • 要禁用 dex,请从 Argo CD 自定义资源中删除 `spec.sso` 元素或指定不同的 SSO 提供程序。