Intégration SCIM

Intégration SCIM

Contexte

Dans le cadre de l'intégration SSO, deux processus distincts et complémentaires interviennent :
  • SSO : authentifie le user contre l'Identity Provider (IdP) géré par le client.
  • SCIM : gère le cycle de vie du compte user issu du SSO (création, modification, suppression).
Ces deux processus sont indépendants l'un de l'autre. Le SSO ne s'occupe que de l'authentification au moment du login ; c'est le SCIM qui permet à l'IdP de tenir à jour, côté Eulerian, l'état des comptes (création, mise à jour des informations, désactivation) sans intervention manuelle.
SCIM (System for Cross-domain Identity Management) est un standard ouvert de provisioning d'identités. Référence :  Wikipedia — SCIM 

SSO vs SCIM

Title
SSO
SCIM
Rôle
Authentifier le user
Gérer le compte user
Déclencheur
Login du user
Action admin côté IdP (ajout, modif, suppression d'un user dans l'annuaire de l'IdP)
Fréquence
À chaque connexion
Ponctuel, à chaque changement côté IdP
Résultat
Session utilisateur ouverte
Compte créé / modifié / désactivé côté Eulerian

Prérequis côté IdP

Pour que le SCIM fonctionne, l'IdP doit être configuré avec deux informations, dans sa configuration SCIM (généralement dans les paramètres de provisioning de l'application Eulerian côté IdP) :
  • L'URL de l'API : ex. https://dem.api.eulerian.com
  • Le Token SCIM : fourni par Eulerian, généré depuis le frontend de l'admin par votre CSM

Génération du Token SCIM

Le Token SCIM est généré depuis le frontend de l'admin Eulerian. C'est ce token qui authentifie les appels que l'IdP effectue vers l'API SCIM d'Eulerian - il joue le même rôle qu'une clé d'API.
Une fois le token généré côté admin, il doit être copié dans la configuration SCIM de l'IdP, avec l'URL de l'API.
Warning Le token doit être traité comme un secret. Toute personne en possession de ce token peut, via l'API SCIM, agir sur les comptes users du domaine concerné.

Actions disponibles via l'API SCIM

Une fois la configuration effectuée côté IdP (URL + token), l'IdP peut réaliser les actions suivantes sur l'API SCIM d'Eulerian :
Action
Description
Création de compte
Provisionne un nouveau compte user côté Eulerian à partir des informations de l'IdP
Modification de compte
Met à jour les informations d'un compte existant (nom, email, statut, etc.)
Suppression (désactivation) de compte
Désactive le compte côté Eulerian — le compte n'est pas supprimé physiquement, il est désactivé
Note sur le périmètre actuel : à date, l'implémentation côté Eulerian couvre la modification et la désactivation de compte. La création de compte via SCIM n'est pas encore supportée - les comptes sont aujourd'hui créés via le flux SSO au premier login, et SCIM prend le relais ensuite pour la modification et la désactivation. Cette note est à mettre à jour lorsque la création via SCIM sera livrée.

Flux global

    Un user est ajouté / modifié / retiré dans l'annuaire de l'IdP par l'administrateur du client.
    L'IdP déclenche automatiquement un appel SCIM vers l'API Eulerian (ex: https://dem.api.eulerian.com), authentifié par le Token SCIM.
    L'API Eulerian applique l'action correspondante sur le compte user (modification ou désactivation).
    Au prochain login du user concerné, le flux SSO s'exécute normalement et reflète l'état à jour du compte (ex. : un compte désactivé ne pourra plus se connecter).

Glossaire

  • IdP (Identity Provider) : le service d'identité géré par le client (ex. Okta, Azure AD, etc.), qui fait à la fois l'authentification SSO et le provisioning SCIM.
  • Token SCIM : jeton d'authentification généré côté admin Eulerian, à fournir à l'IdP pour autoriser ses appels vers l'API SCIM.
  • Provisioning : processus automatisé de création/mise à jour/désactivation des comptes users, ici piloté par l'IdP via SCIM.