Aller au contenu

Provisionner des utilisateurs avec SCIM

Utilisez ce guide lorsque vous voulez garder la main sur le cycle de vie — un départ doit révoquer l’accès automatiquement, et pas seulement bloquer les futures connexions. SCIM est le protocole de push que les IdP (Okta, Entra ID et autres) utilisent exactement pour cela.

  • l’authentification unique déjà fonctionnelle (le tutoriel sur l’authentification unique ou le guide OIDC),
  • un serveur que l’IdP peut joindre par HTTPS — les appels SCIM viennent de l’IdP, et non du navigateur de l’utilisateur. Utilisez le tunnel intégré (Paramètres → Serveur → Connexion et état → Partager ce serveur → Cloudflared/ngrok/Tailscale) ou une URL publique. Un serveur joignable uniquement par le relais WebSocket ne peut pas recevoir de push SCIM; le provisionnement JIT y fonctionne toujours, mais pas les étapes de ce guide.
  1. Ouvrez Paramètres → Serveur → Authentification unique → la carte Provisionnement des utilisateurs (SCIM). La carte indique le point de terminaison, p. ex. https://<your-server>/scim/v2/Users.
  2. Appuyez sur Générer un jeton (ou sur Régénérer le jeton s’il en existe déjà un) — le jeton porteur apparaît une seule fois dans une boîte de dialogue et est copié dans le presse-papiers. Conservez-le dans votre gestionnaire de mots de passe; le serveur n’en garde qu’une copie vérifiable à temps constant.
  3. Dans les paramètres de provisionnement de votre IdP, activez SCIM avec :
    • URL de base : le point de terminaison ci-dessus
    • Authentification : Authorization: Bearer <token>
    • Identifiant d’utilisateur : userName (courriel) ou externalId — les deux correspondent
  4. Testez avec un seul utilisateur : poussez-le depuis l’IdP et confirmez qu’il apparaît (la création SCIM épingle l’externalId du fournisseur sur le compte, le même épinglage qu’établit une première connexion SSO).

Quand l’IdP envoie active: false (ou DELETE), SCIM refuse d’abord si le compte est propriétaire d’un espace de travail (transférez d’abord la propriété). Sinon :

  1. tous les identifiants d’appareil sont révoqués d’abord — les sessions actives tombent en quelques secondes,
  2. toutes les adhésions aux espaces de travail sont supprimées,
  3. le compte est marqué comme désactivé (il ne peut plus jamais se connecter, peu importe ce que l’IdP affirme par la suite, jusqu’à une réactivation explicite).

La ligne d’utilisateur elle-même subsiste — l’attribution des tickets, des messages et des commits est permanente. La réactivation (SCIM active: true) rétablit la connexion, mais pas les adhésions : celles-ci nécessitent une nouvelle invitation ou la politique d’adhésion automatique à la connexion.

  • 401 à chaque appel — le jeton a changé; régénérez-le et mettez à jour l’IdP.
  • Le point de terminaison n’est pas joignable — le tunnel est hors service ou le serveur fonctionne uniquement par relais. SCIM exige HTTPS direct; le JIT continue de fonctionner dans tous les cas.
  • Erreurs de push de groupes (501) — c’est intentionnel : la correspondance groupe→rôle se fait à la connexion à partir des attributs de groupe SAML/OIDC, et non à partir des groupes poussés.