4.11. Configuration du SSO pour Argo CD à l'aide de Keycloak
Après l'installation de Red Hat OpenShift GitOps Operator, Argo CD crée automatiquement un utilisateur avec les permissions admin
. Pour gérer plusieurs utilisateurs, les administrateurs de cluster peuvent utiliser Argo CD pour configurer l'authentification unique (SSO).
Conditions préalables
- Red Hat SSO est installé sur le cluster.
- Red Hat OpenShift GitOps Operator est installé sur le cluster.
- Le CD Argo est installé sur le cluster.
4.11.1. Configuration d'un nouveau client dans Keycloak Copier lienLien copié sur presse-papiers!
Dex est installé par défaut pour toutes les instances Argo CD créées par l'Opérateur. Cependant, vous pouvez supprimer la configuration Dex et ajouter Keycloak à la place pour vous connecter à Argo CD en utilisant vos informations d'identification OpenShift. Keycloak agit comme un courtier d'identité entre Argo CD et OpenShift.
Procédure
Pour configurer Keycloak, procédez comme suit :
Supprimer la configuration Dex en supprimant le paramètre
.spec.sso.dex
de la ressource personnalisée (CR) Argo CD, et enregistrer la CR :Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Réglez la valeur du paramètre
provider
surkeycloak
dans l'Argo CD CR. Configurez Keycloak en effectuant l'une des étapes suivantes :
Pour une connexion sécurisée, définissez la valeur du paramètre
rootCA
comme indiqué dans l'exemple suivant :Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Un certificat personnalisé utilisé pour vérifier le certificat TLS du Keycloak.
L'opérateur rapproche les modifications du paramètre
.spec.keycloak.rootCA
et met à jour le paramètreoidc.config
avec le certificat racine codé PEM dans la carte de configurationargocd-cm
.Pour une connexion non sécurisée, laissez la valeur du paramètre
rootCA
vide et utilisez le paramètreoidc.tls.insecure.skip.verify
comme indiqué ci-dessous :Copy to Clipboard Copied! Toggle word wrap Toggle overflow
L'instance de Keycloak s'installe et fonctionne en 2 à 3 minutes.
4.11.2. Se connecter à Keycloak Copier lienLien copié sur presse-papiers!
Connectez-vous à la console Keycloak pour gérer les identités ou les rôles et définir les permissions attribuées aux différents rôles.
Conditions préalables
- La configuration par défaut de Dex est supprimée.
- Votre Argo CD CR doit être configuré pour utiliser le fournisseur SSO Keycloak.
Procédure
Obtenir l'URL de la route Keycloak pour la connexion :
oc -n argocd get route keycloak
$ oc -n argocd get route keycloak NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD keycloak keycloak-default.apps.ci-ln-******.origin-ci-int-aws.dev.**.com keycloak <all> reencrypt None
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Obtenir le nom du pod Keycloak qui stocke le nom d'utilisateur et le mot de passe en tant que variables d'environnement :
oc -n argocd get pods
$ oc -n argocd get pods NAME READY STATUS RESTARTS AGE keycloak-1-2sjcl 1/1 Running 0 45m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Obtenir le nom d'utilisateur de Keycloak :
oc -n argocd exec keycloak-1-2sjcl -- "env" | grep SSO_ADMIN_USERNAME
$ oc -n argocd exec keycloak-1-2sjcl -- "env" | grep SSO_ADMIN_USERNAME SSO_ADMIN_USERNAME=Cqid54Ih
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Obtenir le mot de passe Keycloak :
oc -n argocd exec keycloak-1-2sjcl -- "env" | grep SSO_ADMIN_PASSWORD
$ oc -n argocd exec keycloak-1-2sjcl -- "env" | grep SSO_ADMIN_PASSWORD SSO_ADMIN_PASSWORD=GVXxHifH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Sur la page de connexion, cliquez sur LOG IN VIA KEYCLOAK.
NoteL'option LOGIN VIA KEYCLOAK n'apparaît qu'une fois que l'instance de Keycloak est prête.
Cliquez sur Login with OpenShift.
NoteLa connexion à l'aide de
kubeadmin
n'est pas prise en charge.- Saisissez les informations d'identification OpenShift pour vous connecter.
Optionnel : Par défaut, tout utilisateur connecté à Argo CD a un accès en lecture seule. Vous pouvez gérer l'accès au niveau de l'utilisateur en mettant à jour la carte de configuration
argocd-rbac-cm
:policy.csv: <name>, <email>, role:admin
policy.csv: <name>, <email>, role:admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.11.3. Désinstallation de Keycloak Copier lienLien copié sur presse-papiers!
Vous pouvez supprimer les ressources Keycloak et les configurations correspondantes en supprimant le champ SSO
du fichier de ressources personnalisées (CR) du CD Argo. Une fois le champ SSO
supprimé, les valeurs du fichier ressemblent à ce qui suit :
Une application Keycloak créée à l'aide de cette méthode n'est actuellement pas persistante. Les configurations supplémentaires créées dans le domaine Keycloak d'Argo CD sont supprimées lorsque le serveur redémarre.