OPCP - Comment utiliser les API et obtenir les informations d'identification
Objectif
OPCP intègre une authentification centralisée avec Keycloak. Il est donc nécessaire de configurer la CLI OpenStack afin qu’il utilise Keycloak comme fournisseur d’identité (Identity Provider).
Ce guide décrit les étapes nécessaires pour configurer Keycloak et la CLI OpenStack afin de permettre l’authentification via Keycloak.
Prérequis
- Être administrateur de l'infrastructure OPCP et avoir accès à l'interface d'administration (admin.dashboard).
- Avoir accès à l'interface d'administration Keyloack admin.
- Avoir un utilisateur avec les droits suffisants pour se connecter à Horizon sur l'offre OPCP.
En pratique
Création d’un client Keycloak pour la CLI OpenStack
Un client Keycloak dédié est nécessaire pour permettre à la CLI OpenStack de communiquer de manière sécurisée avec le serveur Keycloak.
Étapes
1. Connexion à l’interface d’administration Keycloak
- Connectez-vous à votre instance Keycloak et sélectionnez le realm dans lequel les utilisateurs OpenStack sont définis.
2. Création d’un nouveau client
- Allez dans la section
Clientset cliquez surCréer un client. - Renseignez un Client ID, par exemple :
console
openstack-cli
- Cliquez sur
Suivant.
3. Activation de l’authentification du client
- Activez le Client Authentication (mettre sur ON).
- Cliquez sur
Suivant, puis surEnregistrer.
4. Configuration des portées (Client Scopes)
- Ouvrez l’onglet
Client Scopes. - Sélectionnez la portée nommée :
- Cliquez sur
Configurer un nouveau mapper.
5. Ajout d’un mapper d’attributs de groupe utilisateur
- Choisissez le type de mapper aggregated-user-group-attribute-mapper.
- Configurez les champs suivants :
| Champ | Valeur |
|---|---|
| Name | projects |
| User Attribute | project |
| Token Claim Name | projects |
- Cliquez sur
Enregistrer.
6. Récupération des identifiants du client
- Allez dans l’onglet
Credentialsdu client que vous venez de créer. - Copiez et conservez de manière sécurisée la Client Secret — il sera nécessaire lors de la configuration du CLI OpenStack.
Configuration de la CLI OpenStack
Une fois le client Keycloak créé, la CLI OpenStack doit être configurée pour utiliser ce client comme fournisseur d'identité OIDC (OpenID Connect).
Étapes
1. Installer les outils CLI OpenStack
Si ce n’est pas déjà fait :
2. Définir les variables d’environnement pour l’authentification Keycloak
Exemple :
Conseil Vous pouvez utiliser le script suivant afin de générer le fichier de configuration openrc.sh facilement :
Conseil: Configuration d'un proxy
Si vous utilisez un proxy pour accéder a votre service, vous devez configurer vos variables d'environnement pour prendre en compte ce proxy.
Pour ce faire, ajoutez les lignes de commande suivantes :
Vérification de la configuration
Vous pouvez tester votre configuration à l’aide de quelques commandes simples :
Si ces commandes retournent des résultats, l’intégration Keycloak ↔ OpenStack est correctement configurée.
Dépannage (Troubleshooting)
| Problème | Cause possible | Solution |
|---|---|---|
Invalid client credentials | Mauvais ou manquant Client Secret | Vérifiez le secret dans l’onglet Credentials du client Keycloak |
Unauthorized | L’utilisateur n’est pas associé au bon groupe ou projet | Vérifiez les attributs project de l’utilisateur dans Keycloak |
OIDC discovery failed | Mauvaise URL dans DISCOVERY_ENDPOINT | Assurez-vous qu’elle pointe bien vers le realm correct de Keycloak |