Aller au contenu principal

Configurer SCIM

System for Cross-domain Identity Management (SCIM) vous permet de gérer les utilisateurs et équipes GitGuardian directement depuis votre fournisseur d'identité (IdP). En fonction des modifications 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 de l'IdP.

info

SCIM prend en charge le provisionnement et le déprovisionnement 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 : provisionnement, activation, désactivation et suppression en fonction de votre IdP.
  • Le provisionnement et la gestion des équipes à partir des groupes de l'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. Entrez 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é. 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éprovisionnement des utilisateurs peut se faire automatiquement.

Unlinked Members

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.

  • Vérifiez la liste des membres : examinez les utilisateurs non liés.
  • Désactivez si nécessaire : désactivez manuellement les utilisateurs qui ne devraient 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 du dashboard. 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.

La page de configuration SCIM de chaque IdP comporte des instructions spécifiques. Consultez la documentation de votre IdP pour les détails sur la saisie de l'endpoint SCIM et la configuration des identifiants API.

Google & Keycloak Users

Google ne prend en charge le provisionnement automatique que pour certaines applications spécifiques, donc SCIM ne peut pas être utilisé pour le provisionnement avec Google pour le moment. Cependant, nous prévoyons de prendre en charge SCIM pour Google et de publier notre application à l'avenir.

Le plugin scim-for-keycloak présente un bug qui crée une confusion avec la valeur externalId, qui 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 ticket 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 assurer 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 provisionnement SCIM est intégré et Okta Verified.

Fonctionnalités prises en charge
  • Créer des utilisateurs : provisionner les nouveaux utilisateurs d'Okta vers GitGuardian
  • Mettre à jour les attributs utilisateur : synchroniser les modifications de profil utilisateur depuis Okta
  • Désactiver les utilisateurs : désactiver les utilisateurs lorsqu'ils sont désassignés ou désactivés dans Okta
  • Importer des utilisateurs : importer les utilisateurs GitGuardian existants dans Okta
  • Pousser les groupes : 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 provisionnement est partner-built par GitGuardian.

    okta app provisioning tab

  3. Cliquez sur Configure API Integration.

  4. Cochez la case Enable API integration.

  5. Entrez 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.

SCIM personnalisé Okta

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 l'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 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 token de compte de service dans l'en-tête HTTP Authorization. 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. Entrez 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 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 à userPrincipalName
      • active : mappez-le à Switch([IsSoftDeleted], , "False", "True", "True", "False")
      • name.givenName : mappez-le à givenName
      • name.familyName : mappez-le à surname
      • externalId : mappez-le à 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 à displayName
      • externalId : mappez-le à objectId
      • members : mappez-le à members ms intra scim attribute
  6. Enregistrez le mapping et synchronisez les utilisateurs et les équipes.

SCIM JumpCloud

important note

L'ajout automatique d'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 au sein de JumpCloud.

Configurer les paramètres SCIM JumpCloud

  1. Activez le bouton SCIM sur la page d'authentification 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 du SCIM Service Provider Endpoint dans le champ Base URL de JumpCloud.
  7. Placez le token de compte de service 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 de paramètres d'authentification pour contrôler le comportement des membres provisionnés via SCIM.

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

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

Par défaut, ce paramètre est défini sur Can edit. Vous pouvez le modifier à tout moment depuis la page de 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 les utilisateurs ou les équipes de votre workspace. Cela inclut des événements tels que :

  • Provisionnement ou désactivation d'utilisateurs
  • Création, mise à jour ou suppression d'équipes
  • Modifications d'appartenance

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

FAQ

Puis-je utiliser SCIM pour provisionner des équipes ?

Oui, SCIM prend en charge le provisionnement d'é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 permissions 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 provisionnement Just-In-Time (JIT) avec SCIM ?

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