Aller au contenu principal

Configurer SCIM

Le System for Cross-domain Identity Management (SCIM) vous permet de gérer les utilisateurs et équipes GitGuardian directement depuis votre Identity Provider (IdP). Sur la base des changements dans votre IdP, SCIM crée, met à jour, désactive et supprime automatiquement les utilisateurs, et crée/gère les équipes depuis les groupes IdP.

info

SCIM supporte le provisioning/déprovisioning d'utilisateurs et d'équipes pour Okta, Microsoft Entra ID et JumpCloud.

Prérequis

Fonctionnalités SCIM

GitGuardian supporte :

  • Gérer le cycle de vie complet de l'utilisateur : provisionner, activer, désactiver et supprimer en fonction de votre IdP.
  • Provisionner et gérer les équipes depuis les groupes IdP.

Préparer la configuration SCIM

Générer le token API dans GitGuardian

Avant de configurer SCIM dans Okta, vous devez créer un token de compte de service dans GitGuardian :

  1. Dans votre tableau de bord GitGuardian, naviguez vers API > Service accounts.

  2. Cliquez sur Create service account.

  3. Saisissez un nom (par exemple, « IdP SCIM ») et sélectionnez les permissions suivantes :

    • members:write
    • teams:write
  4. Cliquez sur Create et copiez le token généré. Ce sera utilisé dans les étapes de configuration de l'IdP.

    GitGuardian service account token

Activer SCIM dans GitGuardian

  1. Naviguez vers Settings > Authentication dans votre workspace GitGuardian.
  2. Sous SCIM, basculez l'option pour activer l'intégration SCIM. gitguardian scim enable
  3. Suivez les instructions dans la section Set up SCIM in your IdP.

Une fois SCIM activé, vos utilisateurs peuvent être synchronisés avec votre IdP, et le déprovisioning utilisateur peut se faire automatiquement.

Membres non liés

Vous pouvez voir un message indiquant que certains utilisateurs ne sont pas liés à votre IdP. Ces utilisateurs ne seront pas gérés par SCIM.

  • Examinez la liste des Members : vérifiez les utilisateurs non liés.
  • Désactivez si nécessaire : désactivez manuellement les utilisateurs ne devant pas avoir d'accès.

Cela arrive typiquement pour les utilisateurs ajoutés avant l'activation de SCIM ou non assignés dans votre IdP. SCIM ne gère que les utilisateurs liés.

Configurer SCIM dans votre IdP

Pour configurer SCIM, vous devrez fournir l'endpoint SCIM et configurer les paramètres SCIM correspondants dans votre IdP. Voici une vue d'ensemble haut niveau pour les IdPs courants :

Suivez les étapes spécifiques à votre IdP pour activer l'intégration SCIM. La plupart des IdPs fournissent une option pour configurer SCIM via leur API ou paramètres de tableau de bord. Vous devrez fournir :

  • Endpoint SCIM GitGuardian : https://api.gitguardian.com/v1/scim/v2 (ou https://gitguardian.mycorp.local/exposed/v1/scim/v2 pour Self-Hosted)
  • Token API : utilisez un token de compte de service GitGuardian avec les permissions members:write et teams:write.

Chaque page de configuration SCIM d'IdP aura des instructions spécifiques. Référez-vous à la documentation pour votre IdP pour les détails sur comment saisir l'endpoint SCIM et configurer les credentials API.

Utilisateurs Google et Keycloak

Google ne supporte le provisioning automatique que pour des apps spécifiques, donc SCIM ne peut pas être utilisé pour le provisioning avec Google pour le moment. Cependant, nous prévoyons de supporter SCIM pour Google et de publier notre app à l'avenir.

Le plugin scim-for-keycloak a un bug qui cause de la confusion avec la valeur externalId, qui est utilisée pour faire des requêtes SCIM vers GitGuardian, donc il ne fonctionnera pas avec notre intégration SCIM. Pour plus de détails, voir l'issue ici.

Procédures de configuration

Okta

Vous pouvez configurer SCIM en utilisant soit l'app GitGuardian de l'Okta Integration Network (recommandé) soit une app SAML personnalisée.

Note importante

Si les utilisateurs sont assignés à l'app Okta avant l'activation de SCIM, ils ne seront pas désactivés dans GitGuardian lorsqu'ils seront ultérieurement désassignés. Pour assurer une désactivation correcte :

  1. Dupliquez le groupe Okta original (mêmes membres).
  2. Assignez le groupe dupliqué à l'app.
  3. Désassignez le groupe original de l'app.

App Okta OIN

Si vous avez installé l'app GitGuardian depuis l'Okta Integration Network, le provisioning SCIM est intégré et Okta Verified.

Fonctionnalités supportées
  • Create users : provisionner les nouveaux utilisateurs d'Okta vers GitGuardian
  • Update user attributes : synchroniser les changements de profil utilisateur depuis Okta
  • Deactivate users : désactiver les utilisateurs lorsqu'ils sont désassignés ou désactivés dans Okta
  • Import users : importer les utilisateurs GitGuardian existants dans Okta
  • Push groups : synchroniser les groupes Okta comme équipes GitGuardian
Étapes de configuration
  1. Dans Okta, naviguez vers votre application GitGuardian et allez à l'onglet Provisioning.

  2. Sous Settings > Integration, vous verrez que l'intégration de provisioning est partner-built par GitGuardian.

    okta app provisioning tab

  3. Cliquez sur Configure API Integration.

  4. Cochez la case pour Enable API integration.

  5. Saisissez vos credentials SCIM GitGuardian :

    • API Token : collez le token de compte de service généré ci-dessus.
    • Import Groups : cochez cette option si vous voulez synchroniser les groupes comme équipes.
  6. Cliquez sur Test API Credentials pour vérifier la connexion. Vous devriez voir « GitGuardian SCIM was verified successfully! ».

    okta app api integration

  7. Cliquez sur Save.

  8. Allez dans Settings > To App et activez Create Users, Update User Attributes et Deactivate Users.

    attention

    Assurez-vous de désactiver Set password when creating new users (activé par défaut).

    okta app provisioning to app

  9. Cliquez sur Save.

  10. Allez à l'onglet Assignments pour assigner les utilisateurs.

  11. Allez à l'onglet Push Groups pour synchroniser les groupes Okta comme équipes GitGuardian.

Okta SCIM personnalisé

Si vous utilisez une application SAML personnalisée, suivez ces étapes pour activer SCIM :

  1. Dans Okta, naviguez vers les paramètres General de votre app GitGuardian et cochez la case pour Enable SCIM provisioning. okta scim enable

  2. Dans les paramètres Provisioning de votre app Okta, configurez ce qui suit :

    • Définissez la SCIM Connector Base URL sur : https://api.gitguardian.com/v1/scim/v2 (ou https://gitguardian.mycorp.local/exposed/v1/scim/v2 pour Self-Hosted).
    • Utilisez email comme champ d'identifiant unique pour les utilisateurs. Le champ Username doit être un email.
    • Activez les paramètres Push New Users, Push Profile Updates et Push Groups.
    • Sélectionnez HTTP Header comme mode d'authentification et ajoutez le token de compte de service dans le Authorization HTTP header. okta scim connection
  3. Cochez les options Create Users, Update User Attributes et Deactivate Users sous les paramètres Provisioning to app. okta scim provisioning

  4. Enfin, dans Assignments, assignez les utilisateurs. Dans Push Groups, assignez les groupes que vous voulez synchroniser avec GitGuardian.

Microsoft Entra ID

Note importante

Lorsqu'un utilisateur est désassigné de l'app GitGuardian dans Entra ID, aucune requête de désactivation n'est envoyée. Pour désactiver, l'utilisateur doit être désactivé dans Entra ID.

Étapes de configuration

  1. Dans Microsoft Entra ID (anciennement Azure Active Directory), naviguez vers la section Enterprise Applications.
  2. Sélectionnez votre app GitGuardian, puis allez dans Provisioning et définissez le Provisioning Mode sur Automatic.
  3. Saisissez les credentials suivants :
    • Secret Token : collez le token de compte de service généré ci-dessus.
    • Tenant URL : https://api.gitguardian.com/v1/scim/v2 (ou https://gitguardian.mycorp.local/exposed/v1/scim/v2 pour Self-Hosted).
  4. Dans la section Attribute Mappings sous Provision Microsoft Entra ID Users, configurez les mappings suivants pour correspondre aux exigences SCIM de GitGuardian :
    • Target Object Actions : définissez les actions sur Create, Update et Delete pour l'objet cible.
    • Attribute Mappings :
      • userName : mappez ceci à userPrincipalName
      • active : mappez ceci à Switch([IsSoftDeleted], , "False", "True", "True", "False")
      • name.givenName : mappez ceci à givenName
      • name.familyName : mappez ceci à surname
      • externalId : mappez ceci à userPrincipalName ms intra scim attribute
  5. Dans la section Attribute Mappings sous Provision Microsoft Entra ID Groups, configurez les mappings suivants pour correspondre aux exigences SCIM de GitGuardian :
    • Target Object Actions : définissez les actions sur Create, Update et Delete pour l'objet cible.
    • Attribute Mappings :
      • displayName : mappez ceci à displayName
      • externalId : mappez ceci à objectId
      • members : mappez ceci à members ms intra scim attribute
  6. Sauvegardez le mapping et synchronisez les utilisateurs et équipes.

JumpCloud SCIM

Note importante

L'auto-ajout d'utilisateurs à l'équipe All-incidents ne fonctionne pas avec JumpCloud SCIM. Pour inclure les utilisateurs dans cette équipe, vous devrez créer un Groupe JumpCloud nommé « All-incidents team » et assigner les utilisateurs à ce groupe dans JumpCloud.

Configurer les paramètres JumpCloud SCIM

  1. Activez le toggle SCIM dans la page Authentication de GitGuardian.
  2. Ouvrez l'application SSO pour GitGuardian dans JumpCloud
  3. Sélectionnez l'onglet Identity Management.
  4. Vérifiez que API Type « SCIM API » est défini.
  5. Vérifiez que la méthode d'authentification est définie sur « Bearer Token »
  6. Copiez la valeur SCIM Service Provider Endpoint dans le champ Base URL dans JumpCloud.
  7. Placez le Service Account Token que vous avez généré ci-dessus dans le champ Token Key dans JumpCloud.
  8. Placez un email testable dans le champ Test User Email.
  9. Supprimez TOUS les Export Attribute Mappings par défaut, et remplacez-les par les suivants
    JumpCloud AttributeSCIM AttributeType
    emailuserNameDirect
    emailexternalIdDirect
    firstnamename.givenNameDirect
    lastnamename.familyNameDirect
  10. Sauvegardez et synchronisez les mappings.
  11. Cliquez sur « Test »
  12. Cliquez sur « Apply » pour activer SCIM.

Paramètres SCIM

Une fois SCIM activé, des paramètres supplémentaires sont disponibles dans votre page de paramètres d'authentification pour contrôler le comportement des membres provisionnés via SCIM.

Permission de team membership par défaut

Ce paramètre contrôle le niveau de permission d'incident assigné aux membres synchronisés via SCIM lorsqu'ils sont ajoutés à une équipe. Les options disponibles sont :

  • Can view : les membres peuvent voir les incidents assignés à leur équipe.
  • Can edit : les membres peuvent voir et éditer les incidents assignés à leur équipe.

Par défaut, ceci est défini sur Can edit. Vous pouvez le changer à tout moment depuis la page de paramètres d'authentification.

Activer les notifications pour les opérations SCIM

Lorsqu'activé, GitGuardian envoie des notifications chaque fois que les mises à jour SCIM affectent les utilisateurs ou équipes dans votre workspace. Cela inclut des événements tels que :

  • Provisioning ou désactivation d'utilisateur
  • Création, mise à jour ou suppression d'équipe
  • Changements de membership

Ce paramètre est désactivé par défaut. Activez-le si vous voulez que les membres restent informés des changements pilotés par SCIM.

FAQ

Puis-je utiliser SCIM pour provisionner des équipes ?

Oui, SCIM supporte le provisioning d'équipes pour Okta, Microsoft Entra ID et JumpCloud. Les équipes sont automatiquement créées et gérées dans votre workspace lorsque les groupes sont ajoutés ou mis à jour dans votre IdP. Assurez-vous que votre token de compte de service a les permissions teams:write.

Comment lier GitGuardian à mon IdP pour SCIM ?

Vous devrez configurer SCIM dans votre IdP en saisissant l'endpoint SCIM fourni et le token API. Chaque IdP a son propre processus pour lier les intégrations SCIM. Suivez les instructions de configuration pertinentes pour votre IdP.

GitGuardian supporte-t-il le provisioning Just-In-Time (JIT) avec SCIM ?

SCIM supporte maintenant le provisioning, l'activation, la désactivation et la suppression d'utilisateurs. Le provisioning JIT via SSO est aussi disponible, tandis que SCIM vous donne plus de contrôle sur le cycle de vie utilisateur pour le provisioning, l'activation, la désactivation et la suppression.