Chapter 2. Configuring SSO for Argo CD using Dex
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.
2.1. 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 todex
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 PlatformOAuth
server when the value is set totrue
.
2.1.1. 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
Create a group named
cluster-admins
.$ oc adm groups new cluster-admins
Add the user to the group.
$ oc adm groups add-users cluster-admins USER
Apply the
cluster-admin
ClusterRole
to the group:$ oc adm policy add-cluster-role-to-group cluster-admin cluster-admins
2.2. 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.