This is a cache of https://docs.openshift.com/gitops/1.14/accesscontrol_usermanagement/configuring-sso-on-argo-cd-using-dex.html. It is a snapshot of the page at 2024-11-21T01:00:54.381+0000.
Configuring SSO for Argo CD using Dex | Access control and user management | Red Hat OpenShift GitOps 1.14
×

After the Red Hat OpenShift GitOps Operator is installed, Argo CD automatically creates a user with admin permissions. To manage multiple users, cluster administrators can use Argo CD to configure Single Sign-On (SSO).

The spec.dex parameter in the ArgoCD CR is no longer supported from Red Hat OpenShift GitOps v1.10.0 onwards. Consider using the .spec.sso parameter instead.

Configuration to enable the Dex OpenShift OAuth Connector

Dex is installed by default for all the Argo CD instances created by the Operator. You can configure Red Hat OpenShift GitOps to use Dex as the SSO authentication provider by setting the .spec.sso parameter.

Dex uses the users and groups defined within OpenShift Container Platform by checking the OAuth server provided by the platform.

Procedure
  • To enable Dex, set the .spec.sso.provider parameter to dex in the YAML resource of the Operator:

    # ...
    spec:
      sso:
        provider: dex
        dex:
          openShiftOAuth: true (1)
    # ...
    1 The openShiftOAuth property triggers the Operator to automatically configure the built-in OpenShift Container Platform OAuth server when the value is set to true.

Mapping users to specific roles

Argo CD cannot map users to specific roles if they have a direct ClusterRoleBinding role. You can manually change the role as role:admin on SSO through OpenShift.

Procedure
  1. Create a group named cluster-admins.

    $ oc adm groups new cluster-admins
  2. Add the user to the group.

    $ oc adm groups add-users cluster-admins USER
  3. Apply the cluster-admin ClusterRole to the group:

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

Disabling Dex by replacing .spec.sso

  • To disable dex, either remove the spec.sso element from the Argo CD custom resource or specify a different SSO provider.