Aller au contenu principal

Configurer SCIM

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

info

SCIM prend en charge le provisioning/déprovisioning des utilisateurs et des équipes pour Okta, Microsoft Entra ID et JumpCloud.

Prérequis

Fonctionnalités SCIM

GitGuardian prend en charge :

  • La gestion complète du cycle de vie des utilisateurs : provisioning, activation, désactivation et suppression en fonction de votre IdP.
  • Le provisioning et la gestion des équipes à partir des groupes IdP.

Préparer la configuration de SCIM

Générer un 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 dashboard GitGuardian, naviguez vers API > Service accounts.

  2. Cliquez sur Create service account.

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

    • members:write
    • teams:write
  4. Cliquez sur Create et copiez le token généré. Il 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, activez l'option pour activer l'intégration SCIM. gitguardian scim enable
  3. Suivez les instructions de 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 des utilisateurs peut se faire automatiquement.

Unlinked Members

Il se peut que vous voyiez un message indiquant que certains utilisateurs ne sont pas liés à votre IdP. Ces utilisateurs ne seront pas gérés par SCIM.

  • Passez en revue la liste des Members : Vérifiez les utilisateurs non liés.
  • Désactivez si nécessaire : Désactivez manuellement tout utilisateur qui ne devrait pas avoir accès.

Cela se produit généralement 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 un aperçu général pour les IdP courants :

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

  • GitGuardian SCIM Endpoint : https://api.gitguardian.com/v1/scim/v2 (ou https://gitguardian.mycorp.local/exposed/v1/scim/v2 pour le self-hosted)
  • API Token : Utilisez un token de service account GitGuardian avec les autorisations members:write et teams:write.

La page de configuration SCIM de chaque IdP comporte des instructions spécifiques. Consultez la documentation de votre IdP pour savoir comment saisir l'endpoint SCIM et configurer les identifiants API.

Keycloak Users

Le plugin scim-for-keycloak présente un bug qui provoque une confusion avec la valeur externalId, laquelle est utilisée pour effectuer les requêtes SCIM vers GitGuardian, il ne fonctionnera donc pas avec notre intégration SCIM. Pour plus de détails, consultez le problème ici.

Procédures de configuration

Okta

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

Important Note

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

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

Application Okta OIN

Si vous avez installé l'application GitGuardian depuis l'Okta Integration Network, le provisioning SCIM est intégré et vérifié par Okta.

Fonctionnalités prises en charge
  • Create users : Provisionner de nouveaux utilisateurs depuis 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 en tant qu'équipes GitGuardian
Étapes de configuration
  1. Dans Okta, naviguez vers votre application GitGuardian et allez dans l'onglet Provisioning.

  2. Sous Settings > Integration, vous verrez que l'intégration de provisioning est développée par le partenaire GitGuardian.

    okta app provisioning tab

  3. Cliquez sur Configure API Integration.

  4. Cochez la case Enable API integration.

  5. Saisissez vos identifiants SCIM GitGuardian :

    • API Token : Collez le token de compte de service généré ci-dessus.
    • Import Groups : Cochez cette option si vous souhaitez synchroniser les groupes en tant qu'é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

    Veillez à désactiver Set password when creating new users (activé par défaut).

    okta app provisioning to app

  9. Cliquez sur Save.

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

  11. Allez dans l'onglet Push Groups pour synchroniser les groupes Okta en tant qu'é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 application GitGuardian et cochez la case Enable SCIM provisioning. okta scim enable

  2. Dans les paramètres Provisioning de votre application Okta, configurez les éléments suivants :

    • 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 le self-hosted).
    • Utilisez email comme champ d'identifiant unique pour les utilisateurs. Le champ Username doit être un e-mail.
    • Activez les paramètres Push New Users, Push Profile Updates et Push Groups.
    • Sélectionnez HTTP Header comme mode d'authentification et ajoutez le service account token dans l'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 souhaitez synchroniser avec GitGuardian.

Microsoft Entra ID

important note

Lorsqu'un utilisateur est désassigné de l'application GitGuardian dans Entra ID, aucune requête de désactivation n'est envoyée. Pour le 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 application GitGuardian, puis allez dans Provisioning et définissez le Provisioning Mode sur Automatic.
  3. Saisissez les identifiants 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 le 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-le sur userPrincipalName
      • active : Mappez-le sur Switch([IsSoftDeleted], , "False", "True", "True", "False")
      • name.givenName : Mappez-le sur givenName
      • name.familyName : Mappez-le sur surname
      • externalId : Mappez-le sur email 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-le sur displayName
      • externalId : Mappez-le sur objectId
      • members : Mappez-le sur members ms intra scim attribute
  6. Enregistrez le mapping et synchronisez les utilisateurs et les équipes.

JumpCloud SCIM

important note

L'ajout automatique des utilisateurs à l'équipe All-incidents ne fonctionne pas avec JumpCloud SCIM. Pour inclure des 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 SCIM de JumpCloud

  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 l'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 de JumpCloud.
  7. Placez le Service Account Token que vous avez généré ci-dessus dans le champ Token Key de JumpCloud.
  8. Placez un e-mail testable dans le champ Test User Email.
  9. Supprimez TOUS les Export Attribute Mappings par défaut et remplacez-les par les suivants
    Attribut JumpCloudAttribut SCIMType
    emailuserNameDirect
    emailexternalIdDirect
    firstnamename.givenNameDirect
    lastnamename.familyNameDirect
  10. Enregistrez 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 des paramètres d'authentification pour contrôler le comportement des membres provisionnés via SCIM.

Autorisation d'appartenance à une équipe par défaut

Ce paramètre contrôle le niveau d'autorisation sur les incidents attribué 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 modifier les incidents assignés à leur équipe.

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

Activer les notifications pour les opérations SCIM

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

  • Le provisioning ou la désactivation d'utilisateurs
  • La création, la mise à jour ou la suppression d'équipes
  • Les changements d'appartenance

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

FAQ

Puis-je utiliser SCIM pour le provisioning des équipes ?

Oui, SCIM prend en charge le provisioning des équipes pour Okta, Microsoft Entra ID et JumpCloud. Les équipes sont automatiquement créées et gérées dans votre workspace lorsque des groupes sont ajoutés ou mis à jour dans votre IdP. Assurez-vous que votre token de compte de service dispose des autorisations teams:write.

Comment lier GitGuardian à mon IdP pour SCIM ?

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

GitGuardian prend-il en charge le provisioning Just-In-Time (JIT) avec SCIM ?

SCIM prend désormais en charge le provisioning, l'activation, la désactivation et la suppression des utilisateurs. Le provisioning JIT via SSO est également disponible, tandis que SCIM vous offre plus de contrôle sur le cycle de vie des utilisateurs pour le provisioning, l'activation, la désactivation et la suppression.