Activer la fonctionnalité SSO dans Paradigm

Le Single Sign-On (SSO) est une fonctionnalité qui permet aux utilisateurs de se connecter à plusieurs applications en utilisant les mêmes informations d'identification, sans avoir à saisir plusieurs fois leur nom d'utilisateur et leur mot de passe.

Pour l'instant, Paradigm est uniquement compatible avec le format SAML (Security Assertion Markup Language).

Dans cet article, nous allons expliquer comment activer la fonctionnalité SSO dans Paradigm pour une instance globale et par entreprise via l'admin de Paradigm.

La mise en place du SSO se fait en 4 étapes:

  1. Activation du service SSO pour l'instance Paradigm complète
  2. Récupération des informations du fournisseur d'identité (IdP)
  3. Configuration SSO côté fournisseur de service (SP) Paradigm
  4. Configuration SSO côté fournisseur d'identité

Étape 1 : Activation du service SSO pour l'instance Paradigm complète

Pour activer le SSO, vous devez vous rendre dans la page Config Key de l'administration et configurer les deux champs suivants:

  1. is_sso_on: True
    Pour que le SSO soit actif, la valeur de ce champ doit être égale à True (attention à la casse). Si cette valeur est à False, le SSO est désactivé pour l'ensemble de l'instance.
  2. default_sso_permissions_for_company_admins : Ce champ permet de définir si par défaut les utilisateurs de type "Company admin" ont la possibilité de paramétrer le SSO de leur entreprise ou non. Si la valeur est à True (attention à la casse), alors par défaut les "company admin" peuvent paramétrer le SSO. Si cette case est à False, alors par défaut les "entreprise admin" ne peuvent pas paramétrer le SSO de leur entreprise.

Note importante : default_sso_permissions_for_company_admins affecte le champ "Allow company admins to manage sso" disponible dans la page Company pour les nouvelles entreprises créées.
Si default_sso_permissions_for_company_admins est à True, le champ "Allow company admins to manage sso" sera activé par défaut pour les nouvelles entreprises.
Si default_sso_permissions_for_company_admins est à False, le champ "Allow company admins to manage sso" sera désactivé par défaut pour les nouvelles entreprises. Les entreprises existantes ne sont pas concernées par ce paramètre, leur configuration SSO restera inchangée.

Étape 2 : Récupérer les informations du fournisseur d'identité

Pour continuer, vous devez fournir les informations suivantes à votre fournisseur d'identité:

  • Entity ID : L'identifiant utilisé pour identifier votre fournisseur d'identité.
Vous pouvez ensuite récupérer les informations suivantes:
  • URL SSO : L'URL de votre fournisseur d'identité à laquelle Paradigm doit envoyer ses demandes SAML.
  • Certificat : Le certificat permettant un échange sécurisé d'informations entre le SP et l'IdP.

Ou bien :

  • URL de métadonnées : url redirigeant vers la configuration de votre fournisseur d'identité comprenant l'URL SSO et le certificat.

Étape 3 : Configuration SSO côté fournisseur de service Paradigm

Pour chaque entreprise, la mise en place du SSO nécessite la création d'une application sociale.

Pour créer une nouvelle configuration SSO, allez dans Administration Paradigm > Authentification > Applications sociales.

Enfin cliquez sur ajouter et remplissez les champ avec les informations suivantes :

  • Provider : SAML 
  • ID du fournisseur : Saisissez l'Entity ID récupéré à l'étape 2.
    (ex: https://accounts.google.com/o/saml2?idpid=F482izkcy
  • Nom : Nom qui apparaîtra dans l'admin.
    (ex: Ma Configuration SAML)
  • ID client: Identifiant unique de la configuration SAML dans Paradigm.
    Ce champ est automatiquement complété par un UUID.
    N'est pas modifiable par les company admins.
    (ex: 3fde0dd3-6457-489a-88e3-cdf413c48a62)
  • Settings : Informations complémentaires au format json.
    Les structures acceptées sont indiquées ci-dessous.
  • Entreprise : Permet de définir à quelle entreprise on souhaite lier cette configuration SSO.

Settings de l'application sociale - Avec URL SSO et certificat

{
"sp": {
"entity_id": "paradigm-mycompany-saml-config"
},
"idp": {
   "entity_id": "<idp_entity_id>",
"sso_url": "<idp_sso_url>",
"x509cert": "<idp_certificate>"
}
}

Settings de l'application sociale - Avec URL de métadonnées

{
"sp": {
"entity_id": "paradigm-mycompany-saml-config"
},
"idp": {
"entity_id": "<idp_entity_id>",
"metadata_url": "<idp_metadata_url>"
}
}
  • the Entity ID of the desired service provider for the Paradigm instance (ex: paradigm-mycompany-saml-config)
  • the Entity ID of the identity provider retrieved in step 2,
  • the Metadata URL retrieved in step 2.

Étape 4: Configuration SSO côté fournisseur d'identité

Pour configurer le SSO pour Paradigm du côté de votre fournisseur d'identité, 2 manières de faire sont possibles:

Configuration par fichier XML de métadonnées

Si votre fournisseur d'identité a besoin d'un fichier XML de métadonnées pour être configuré, vous pouvez récupérer ce type de fichier à l'url suivante:

https://<domain_name>/auth/saml/<id_client>/metadata/

avec:

  • <domain_name> le nom de domaine de l'instance de Paradigm que vous utilisez. Pour notre offre SaaS, ce champ sera donc paradigm.lighton.ai.
  • <id_client> l'ID défini dans Paradigm et permettant de savoir quelle configuration SAML utiliser (car il peut y avoir une configuration SAML par company)

Un exemple de métadonnées pourrait être : https://paradigm.lighton.ai/auth/saml/3fde0dd3-6457-489a-88e3-cdf413c48a62/metadata/

Configuration manuelle

Si votre fournisseur d'identité nécessite une configuration manuelle, vous pouvez utiliser les informations suivantes :

  • ACS URL: https://<nom_de_domaine>/auth/saml/<id_client>/acs/
    Example d'URL ACS: https://paradigm.lighton.ai/auth/saml/3fde0dd3-6457-489a-88e3-cdf413c48a62/acs/
  • Entity ID: Entity ID du fournisseur de service définie dans les settings de la configuration SAML (ex: paradigm-mycompany-saml-config)
  • Name ID: Définir ce champ sur "Email principal"

Veillez à définir un NameID dans votre configuration.

Paradigm devrait pouvoir trouver l'email de l'utilisateur dans <saml:Subject><saml:NameID>.

Correspondance d'attributs

L'adresse électronique de vos utilisateurs doit être incluse dans les attributs de vos réponses SAML.

Les attributs d'application suivants sont pris en charge par défaut dans Paradigm pour mapper l'adresse électronique de l'utilisateur:

  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
  • urn:oid:0.9.2342.19200300.100.1.3

Si ces clés par défaut ne correspondent pas à la configuration de votre fournisseur d'identité, vous pouvez saisir la clé qui vous convient et la spécifier dans les paramètres de l'application sociale, comme indiqué ci-dessous :

{
"sp": {
...
},
"idp": {
...
},
"attribute_mapping": {
"email": "<your_email_key>"
}
}

La valeur de <your_email_key> dans vos réponses SAML sera alors mise en correspondance avec l'email des utilisateurs de Paradigm.

Accès utilisateurs

Vous pouvez ensuite attribuer cette configuration SAML au groupe d'utilisateur de votre choix.

Parcours de l'utilisateur pour se connecter en SSO

  1. L'utilisateur doit se rendre sur la page d'authentification https://paradigm.lighton.ai/login.
  2. L'utilisateur doit saisir son identifiant et cliquer sur "Se connecter" et suivre le parcours de son fournisseur (si l'utilisateur veut basculer en mode login/mot de passe, il peut cliquer sur le bouton dédié).

Si l'email utilisé pour se connecter en SSO n'existe pas ou si l'utilisateur a son compte fournisseur désactivé, il peut être redirigé vers une page d'erreur de son fournisseur.

Aide pour configurer votre SSO de votre fournisseur

A titre d'exemple, voici différents guides pour configurer votre SSO  :

Conseils de débogage

Si vous rencontrez un problème avec votre configuration SSO, nous vous conseillons d'utiliser un outil de débogage tel que SAML-tracer qui peut vous donner des informations sur les demandes et les réponses SAML entre Paradigm et votre fournisseur d'identité.

Liens d'extension pour SAML-tracer:

  1. Tout d'abord, assurez-vous que vos demandes SAML sont envoyées à votre fournisseur d'identité
  2. Ensuite, vous pouvez vérifier que la réponse SAML inclut un NameID dans le Subject.
  3. Enfin, vérifiez que l'email de l'utilisateur est correctement inclus dans la réponse SAML avec un nom d'attribut attendu (soit un de ceux par défaut, soit celui que vous avez défini dans le paramètre « attribute_mapping »).

Nous espérons que cet article vous a aidé à comprendre comment activer la fonctionnalité SSO dans Paradigm. Si vous avez des questions ou des problèmes, n'hésitez pas à nous contacter.