SCIM
Le fournisseur SCIM est un client générique pour tout système d’identité qui expose une API admin standard SCIM 2.0 (Okta, Azure AD, un IdP maison, etc.), plutôt qu’une API de gestion propre à un éditeur. Si votre fournisseur n’a pas d’intégration dédiée dans AUMS mais parle SCIM, utilisez ce fournisseur pour le gérer.
Disponibilité des fonctionnalités
Section titled “Disponibilité des fonctionnalités”| Fonctionnalité | Support |
|---|---|
| Gestion utilisateurs | ✅ Complète (/Users SCIM) |
| Organisations | ⚠️ Groupes uniquement, nécessite l’endpoint SCIM /Groups |
| Journaux d’audit | ❌ Non supporté (aucune ressource de journal d’audit en SCIM) |
Configuration
Section titled “Configuration”-
Obtenir des identifiants SCIM auprès de votre fournisseur d’identité
La plupart des fournisseurs de service SCIM délivrent une URL de base (ex.
https://idp.example.com/scim/v2) et un jeton porteur (bearer) dédié au provisioning. Créez-en un depuis la console d’administration de votre IdP (cherchez « SCIM provisioning » ou « jeton API SCIM »).Vous testez en local, ou développez face à votre propre serveur SCIM ? Lancez cerberauth/scimply, une bibliothèque de serveur SCIM 2.0 conforme aux RFC 7642/7643/7644 en Go avec un backend en mémoire — elle expose une API
/Userset/Groupsconforme à la spec en quelques lignes, ce qui permet de développer et tester le fournisseur SCIM d’AUMS sans IdP réel. -
Définir les variables d’environnement
Terminal window PROVIDER=scimSCIM_BASE_URL=https://idp.example.com/scim/v2SCIM_BEARER_TOKEN=your-scim-bearer-tokenOptionnel :
Terminal window SCIM_GROUPS_ENABLED=true # à false si le fournisseur n'expose pas /Groups (défaut : true)
Organisations
Section titled “Organisations”AUMS associe les organisations à la ressource Group du schéma core SCIM
(urn:ietf:params:scim:schemas:core:2.0:Group) :
| Opération AUMS | Appel API SCIM |
|---|---|
| Lister les orgs | GET /Groups |
| Créer une org | POST /Groups |
| Modifier une org | PATCH /Groups/{id} (displayName) |
| Supprimer une org | DELETE /Groups/{id} |
| Lister les membres | GET /Groups/{id} (members) |
| Ajouter un membre | PATCH /Groups/{id} (add sur members) |
| Retirer un membre | PATCH /Groups/{id} (remove sur members) |
Définissez SCIM_GROUPS_ENABLED=false si votre fournisseur n’implémente pas
/Groups — AUMS signalera alors les organisations comme non supportées au
lieu d’échouer à l’appel.
Notes sur la gestion des utilisateurs
Section titled “Notes sur la gestion des utilisateurs”- Identifiant — AUMS utilise le
userNameSCIM comme adresse e-mail lorsqu’aucun e-mail principal n’est défini ; sinon l’entrée principale (ou la première) deemailsest utilisée. - État actif — Bloquer un utilisateur définit
activeàfalsesur la ressource SCIM. - Vérification e-mail — Le schéma core User de SCIM n’a pas d’attribut de vérification d’e-mail ; les utilisateurs sont donc toujours signalés comme vérifiés.
- Nom d’affichage — Lu depuis
name.formatted, avec repli surname.givenName+name.familyName. AUMS écritgivenName/familyNameà la création et à la mise à jour. - Mot de passe — Envoyé via l’attribut SCIM
password(écriture uniquement) à la création et à la mise à jour, si fourni. - Pagination — Les résultats de liste utilisent les paramètres SCIM
startIndex/countet le champtotalResultsde la réponse.
Connexion OIDC (optionnel)
Section titled “Connexion OIDC (optionnel)”Si votre fournisseur de service SCIM est adossé à un IdP compatible OIDC, vous pouvez protéger le tableau de bord AUMS avec celui-ci indépendamment de la connexion SCIM :
AUTH_CLIENT_OPENID_CONFIGURATION_URL=https://idp.example.com/.well-known/openid-configurationAUTH_CLIENT_ID=your-oidc-client-idAUTH_CLIENT_SECRET=your-oidc-client-secretAjoutez <BASE_URL>/api/auth/callback/oidc aux URIs de redirection
autorisées de votre client OIDC.