Aller au contenu

Authentification relais

Onglet Paramètres → Authentification relais — administrateurs de plateforme uniquement.

L'authentification relais permet aux utilisateurs de se connecter à la plateforme via un fournisseur d'identité externe (le SSO de l'entreprise, un annuaire tiers…) : le Keycloak de la plateforme délègue alors l'authentification à ce fournisseur amont, en OpenID Connect ou en SAML 2.0.

Authentification relais

Ajouter un identity provider

Ajouter un identity provider :

  1. Alias : identifiant technique unique (il apparaît dans les URLs — non modifiable ensuite).
  2. Protocole : OpenID Connect ou SAML 2.0 — le formulaire s'adapte.
  3. Nom affiché : le libellé du bouton de connexion présenté aux utilisateurs.
  4. Import depuis une URL : collez l'URL de découverte du fournisseur (…/.well-known/openid-configuration en OIDC, l'URL de métadonnées en SAML) et cliquez sur Importer — les URLs d'autorisation, de jeton, JWKS… se remplissent automatiquement.
  5. Complétez le Client ID et le Client secret fournis par l'administrateur du fournisseur amont, puis Enregistrer.

Ajouter un identity provider

Le fournisseur apparaît dans la liste ; il peut être désactivé temporairement, modifié ou supprimé à tout moment. La configuration vit directement dans Keycloak — aucune copie locale, ce que vous voyez est toujours l'état réel.

Comptes existants : liaison automatique

L'option Lier automatiquement aux comptes existants, cochée par défaut, règle le cas d'un utilisateur déjà créé dans le Control Panel (page Utilisateurs) qui se connecte pour la première fois via le SSO :

  • cochée : son identité SSO est rattachée directement au compte de même email ou identifiant, sans lui demander de mot de passe. Les comptes destinés au SSO peuvent donc être créés sans mot de passe ;
  • décochée : comportement Keycloak par défaut, l'écran « Un compte existe déjà » demande le mot de passe du compte existant avant de le rattacher.

Un utilisateur SSO sans compte existant voit son compte créé à sa première connexion, dans les deux cas.

Fournisseur de confiance uniquement

Avec la liaison automatique, la plateforme croit le fournisseur amont sur parole : un utilisateur capable d'y choisir librement son email ou son identifiant pourrait se connecter au compte correspondant de la plateforme. Ne la laissez active que pour un fournisseur qui garantit ces informations (annuaire d'entreprise, Entra ID, Google…).

Les fournisseurs créés avant l'arrivée de cette option restent sur le comportement Keycloak par défaut : cochez l'option en les modifiant, ou lancez python manage.py enable_idp_auto_link sur le backend pour tous les basculer.

Mappers

En dépliant la ligne d'un fournisseur, la section Mappers projette les informations reçues du fournisseur amont vers la plateforme :

  • Attribut : copie une claim OIDC (ou un attribut SAML) vers un attribut du compte utilisateur — par exemple department → attribut department.
  • Rôle : accorde un rôle du realm quand une claim vaut une valeur donnée — par exemple groups = "admins" → rôle platform_admin.

Mappers

Côté fournisseur amont

L'administrateur du fournisseur d'identité doit enregistrer la plateforme comme client et autoriser l'URL de redirection Keycloak (https://<keycloak>/realms/<realm>/broker/<alias>/endpoint), visible dans la console Keycloak.

Exemple : se connecter avec un compte Google

Google expose un fournisseur OpenID Connect standard — pas de configuration particulière côté plateforme au-delà du flux décrit plus haut.

1. Créer les identifiants côté Google

Dans la Google Cloud Console (projet dédié ou existant) :

  1. API et services → Écran de consentement OAuth : configurez-le si ce n'est pas déjà fait (nom de l'application, domaines autorisés).
  2. API et services → Identifiants → Créer des identifiants → ID client OAuth, type Application Web.
  3. URI de redirection autorisés : ajoutez https://<keycloak>/realms/<realm>/broker/google/endpoint (l'alias choisi à l'étape suivante — google ici — doit correspondre).
  4. Notez le ID client et le code secret du client générés.

2. Configurer l'identity provider côté plateforme

Depuis Ajouter un identity provider :

  1. Alias : google (doit correspondre à l'URI de redirection autorisé côté Google).
  2. Protocole : OpenID Connect.
  3. Nom affiché : par exemple Google.
  4. Import depuis une URL : https://accounts.google.com/.well-known/openid-configuration, puis Importer — les endpoints Google (autorisation, jeton, JWKS, userinfo) se remplissent automatiquement.
  5. Client ID / Client secret : les valeurs notées à l'étape précédente.
  6. Enregistrer.

Le bouton Google apparaît alors sur l'écran de connexion de la plateforme.

Restreindre à un domaine Google Workspace

Pour n'autoriser que les comptes d'une organisation Google Workspace plutôt que n'importe quel compte Google, publiez l'écran de consentement OAuth en interne à l'organisation (plutôt qu'en externe) côté Google Cloud Console — la restriction se fait alors du côté de Google, avant même que l'utilisateur n'atteigne la plateforme.