Keycloak
-
Naviguez vers « Realm Settings » sous l'onglet « General » dans Keycloak, et copiez les « SAML 2.0 Identity Provider Metadata ». Par exemple :
https://$YOUR_KEYCLOAK_DOMAIN/realms/master/protocol/saml/descriptor.
-
Allez dans l'onglet « Keys » et cliquez sur le bouton « Certificate » à côté de l'algorithme RS256. Copiez le certificat affiché.

-
Pour configurer le fournisseur d'identité dans le tableau de bord GitGuardian, utilisez les valeurs suivantes :
- Le champ
Entity Iddoit être rempli avec l'URL des SAML 2.0 Identity Provider Metadata de Keycloak, en excluant/protocol/saml/descriptorà la fin. Exemple :https://$YOUR_KEYCLOAK_DOMAIN/realms/master. - Le champ
Single Sign-On URLdoit inclure l'URL SAML 2.0 Identity Provider de Keycloak, en excluant/descriptorà la fin. Exemple :https://$YOUR_KEYCLOAK_DOMAIN/realms/master/protocol/saml. - Dans le champ
X509 Cert, collez le certificat copié à l'étape précédente. - Assurez-vous que la case I have mapped the attributes first_name and last_name in my IdP est cochée.
- Le champ
-
Pour configurer le « Client » (fournisseur de service) dans Keycloak :
- Naviguez vers le menu Clients et cliquez sur « Create client ». Utilisez les valeurs suivantes :
- Définissez le champ
Client typesurSAML. - Remplissez le champ
Client IDavec leSP Entity IDdu tableau de bord GitGuardian.
- Définissez le champ
- Cliquez sur « Next », puis :
- Remplissez le champ
Home URLavec l'URL de votre tableau de bord GitGuardian. Par exemple :https://dashboard.gitguardian.com(SaaS) ouhttps://gitguardian.mycorp.local(Self-Hosted). - Remplissez les champs
Valid Redirect URIsetMaster SAML Processing URLavec l'ACS URL.
- Remplissez le champ
- Naviguez vers le menu Clients et cliquez sur « Create client ». Utilisez les valeurs suivantes :
-
Cliquez sur « Save », puis configurez ces paramètres sur le client nouvellement créé :
- Dans « SAML capabilities », définissez le
Name ID Formatsuremail. - Définissez
Force POST BindingetInclude AuthnStatementsurON. - Dans « Signature and Encryption », définissez les champs
Sign documentsetSign assertionssurON. Signature algorithmdoit êtreRSA_SHA256.- Définissez
SAML signature key namesurNONE. - Dans « Logout settings », définissez
Front Channel LogoutsurON. - Cliquez sur « Save ».
- Dans l'onglet « Keys », définissez
Client signature requiredsurOFF.

- Dans « SAML capabilities », définissez le
-
Toujours dans le même client, sous l'onglet « Client scopes », modifiez le « Dedicated scope and mappers for this client » et configurez un nouveau mapper pour le prénom :
- Choisissez
User PropertycommeMapper Type. - Le champ
Namedoit êtrefirstName. - Le champ
Propertydoit êtrefirstName. - Définissez le
SAML Attribute Namesurfirst_nameet leSAML Attribute NameFormatsurBasic.
- Choisissez
-
Pour le nom de famille, créez un deuxième mapper :
- Encore une fois, sélectionnez
User PropertycommeMapper Type. - Le champ
Namedoit êtrelastName. - Le champ
Propertydoit êtrelastName. - Définissez le
SAML Attribute Namesurlast_nameet leSAML Attribute NameFormatsurBasic.

- Encore une fois, sélectionnez
-
Dans l'onglet « Client Scopes », notez les « Assigned Default Client Scopes ». Par exemple,
role_list.
-
Modifiez le ou les client scopes listés à l'étape précédente en naviguant vers le menu « Client Scopes ». Allez dans l'onglet « Mappers », modifiez le mapper Role list et assurez-vous que le champ
Single Role Attributeest défini surON.
-
Finalisez votre configuration en testant l'authentification SSO en utilisant le
Login URLfourni dans la page de configuration SAML du tableau de bord GitGuardian. -
Important : N'oubliez pas de réserver votre domaine email pour activer la découverte automatique du SSO.