Guide
Activez facilement l'authentification unique (Single Sign-On) centralisée pour votre organisation avec l'intégration SAML 2.0. Les membres de votre organisation peuvent se connecter à Ostorlab avec leur adresse e-mail professionnelle.

Pour un exemple spécifique, consultez l'un de nos guides d'intégration :
Terminologie
- IdP signifie fournisseur d'identité (Identity Provider). Un IdP est un service qui agit comme un répertoire d'utilisateurs.
- SP signifie fournisseur de services (Service Provider). Un fournisseur de services s'appuie sur un fournisseur d'identité pour l'authentification.
- IdP Metadata XML est le document de configuration XML fourni par votre IdP. Il contient des informations publiques sur votre répertoire d'utilisateurs, qui peuvent être utilisées par le fournisseur de services pour effectuer des requêtes d'authentification.
Propriétés de configuration
Voici les seules propriétés que vous aurez réellement besoin de configurer lors de la configuration du SSO SAML avec votre IdP.
| Nom | Autres noms | Requis |
|---|---|---|
| Single sign on URL | AssertionConsumerService (ACS) URL | Oui |
| Entity ID | Metadata ou Audience URL | Oui |
| Default relay state | Start ou Application Start URL | Non |
| Name identifier format | Name Identifier, Name, Name ID format | Oui |
ID d'entité
Requis
L'Entity ID (SP) est une URL où un fournisseur de services publie des informations publiques sur sa configuration SAML. Le document de métadonnées publié par le fournisseur de services indique son certificat public qui peut être utilisé pour vérifier la signature des requêtes d'authentification initiées depuis le service lui-même.
Remarque : L'IdP a également un Entity ID. Cependant, l'Entity ID de l'IdP est utilisé pour identifier de manière unique le locataire/l'organisation spécifique au sein de cet IdP. Lors de la configuration du SSO SAML, il vous est presque toujours demandé de saisir l'Entity ID du SP, qui sera spécifique à votre organisation dans Ostorlab.
URL de l'Assertion Consumer Service (ACS) / URL du Single Sign On
Requis
Il s'agit de l'URL où l'IdP peut POSTer les assertions SAML.
Liaison Assertion Consumer Service
Requis
Identifie la liaison de protocole prise en charge par l'ACS. Les liaisons décrivent comment l'assertion et tout contenu englobant sont empaquetés par l'IdP (ou par le navigateur dans certains cas) pour être consommés par l'ACS.
Format du Name ID
Requis
Le Name ID format est l'un des aspects les plus importants de votre configuration SSO SAML. Il définit comment un fournisseur d'identité identifie un utilisateur sur le service en aval. La valeur du format définit quelle valeur sera utilisée pour le sujet de l'utilisateur (Subject).
Important : Une fois que votre Name ID format est configuré et que vos utilisateurs ont commencé à utiliser le SSO, NE MODIFIEZ PAS l'identifiant de nom. Cela empêcherait vos utilisateurs de se connecter.
État du relais (par défaut)
Le Relay State est une URL, elle-même passée en tant que paramètre de requête dans les requêtes SSO initiées par le fournisseur d'identité. Il s'agit d'une propriété facultative. Ceci est également connu sous le nom de deep-linking. Cela permet à un utilisateur de naviguer directement vers un service en aval en lançant l'application à partir du fournisseur d'identité lui-même.
Utilisation :
Configurez votre intégration SAML :
- Cliquez sur le bouton de la barre latérale

- Cliquez sur Integrations/API pour développer

- Cliquez sur Integrations
- Cliquez sur l'intégration SAML

Depuis le menu des intégrations Saml, sélectionnez l'onglet de configuration et remplissez les valeurs suivantes :
1. Idp Identifier : URI - Identifiant de l'entité IdP : par exemple https://your_domain.com/saml/metadata/connector_id
2. SAML 2.0 Endpoint : URL Cible de l'IdP où le message de requête d'authentification (Authentication Request Message) sera envoyé ;
par exemple, https://your_domain.com/saml2/http-post/sso/connector_id
3. X.509 Certificate : Certificat public X.509 de l'IdP.

Dans la configuration de votre identifiant SAML, assurez-vous d'utiliser les paramètres suivants pour le Fournisseur de services d'Ostorlab :
- Entity Id :
https://api.ostorlab.co/saml/metadata/ - AssertionConsumerService URL :
https://api.ostorlab.co/saml/acs/?org=<organisation_prefix><organisation_prefix>dans l'URL est l'endroit où le préfixe de votre organisation Ostorlab doit être saisi. Vous pouvez trouver le préfixe de votre organisation sur la page des paramètres de votre organisation. - Assertion Consumer Service Binding :
urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST - NameIDFormat :
urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
Pour les comptes existants, les utilisateurs doivent mettre sur liste blanche (whitelist) le fournisseur d'identité pour activer la connexion à l'aide du SSO. Pour ce faire :
- Accédez au menu Sécurité du compte (Account security).

- Dans le sous-menu Single Sign-On, sélectionnez l'organisation dans la liste des fournisseurs d'identité pris en charge.

Les nouveaux accès sans compte existant provisionneront automatiquement un nouveau compte avec un accès approprié à l'organisation SSO.
Dépannage
Erreur de validation lors de la tentative de sauvegarde d'un fichier XML de métadonnées fourni par l'IdP
Le fichier XML de métadonnées fourni par l'IdP contient plusieurs éléments XML, dont <IDPSSODescriptor> est l'élément qui concerne Ostorlab. Dans l'IDPSSODescriptor, nous nous attendons à voir un certificat de clé publique KeyDescriptor valide, un NameIDFormat, un Entity ID identifiant votre organisation dans l'IdP, et une liaison SSO (SSO binding).
L'échec est généralement dû à l'une des raisons suivantes :
- XML malformé
- Le certificat de clé publique KeyDescriptor dans l'IDPSSODescriptor a expiré
- Le certificat de clé publique KeyDescriptor est manquant dans l'IDPSSODescriptor
- NameIDFormat n'a pas la valeur attendue ou est complètement manquant. Consultez le sujet de dépannage suivant pour obtenir de l'aide à ce sujet.
Astuce : OneLogin propose une suite d'outils gratuits liés à SAML.
Le Name ID Format est invalide
Comme mentionné dans la section Name ID Format, Ostorlab s'attend à des valeurs spécifiques dans le XML de métadonnées de votre IdP. Utilisez le XML Pretty Print de One Login pour formater votre XML et recherchez <NameIDFormat> sous l'élément XML <IDPSSODescriptor>.
Si vous ne trouvez pas d'élément appelé NameIDFormat, ajoutez la ligne suivante immédiatement après la balise de fermeture de KeyDescriptor :
<NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</NameIDFormat>
Voici un exemple de XML de métadonnées. Notez que certaines valeurs ont été supprimées par souci de concision.
<?xml version="1.0" encoding="UTF-8"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" entityID="...">
<md:IDPSSODescriptor WantAuthnRequestsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<md:KeyDescriptor use="signing">
....
</md:KeyDescriptor>
<!--
Dans cet exemple, tous les éléments ont un espace de noms `md`. C'est pourquoi le NameIDFormat a un préfixe `md:`.
Si les éléments de votre XML n'ont pas ce préfixe, vous pouvez l'ignorer.
-->
<md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="..."/>
<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="..."/>
</md:IDPSSODescriptor>
</md:EntityDescriptor>
Une liaison SSO n'a pas été trouvée dans le XML. Contactez votre fournisseur SSO.
Cette erreur se produit lorsque le XML de métadonnées que vous essayez d'enregistrer n'a pas d'éléments <SingleSignOnService> sous <IDPSSODescriptor>. Le <SingleSignOnService> est utilisé par Ostorlab pour déterminer le mécanisme d'authentification pris en charge par l'IDP. Apprenez-en plus sur les liaisons SAML 2.0 (SAML 2.0 Bindings) sur Wikipédia. Vous devez contacter le support de votre IdP ou votre administrateur système pour corriger le XML de métadonnées.
Voici un exemple de liaison SSO pour HTTP-POST :
<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="..."/>
Remarque : L'attribut Location est unique à chaque locataire (tenant) dans votre IDP.