Single Sign-On (SSO) - Azure Active Directory

Authentification centralisée

SINGLE SIGN-ON - SSO

Le Single Sign-On (SSO) permet à un utilisateur de se connecter une seule fois et pouvoir réutiliser ces mêmes identifiants pour se connecter à plusieurs services.

Exemple le plus connu : Facebook. J’ai un compte Facebook avec identifiant + mot de passe. Je peux les réutiliser pour me connecter à d’autres sites. Je n’ai donc pas à mémoriser plusieurs mots de passe, un seul suffit.

SSO : STEEPLE / MICROSOFT AZURE ACTIVE DIRECTORY

NOTE : il est impératif que le SSO soit configuré avec AzureAD pour pouvoir par la suite utiliser le provisioning via le protocole SCIM. Il est donc impossible de ne configurer que le provisioning avec Azure Active Directory. La configuration de Steeple ne le permet pas non plus.

Voici un guide détaillé concernant la mise en place du SSO entre Steeple et AzureAD. Il faut que les applications « discutent », il faut donc paramétrer à la fois Steeple et AzureAD.

Avant toute chose, il faut que l’annuaire Azure dispose d’une application « Steeple » (ou autre nom de votre choix). Ils font donc configurer l’annuaire de la façon suivante :

Annuaire Overview > Enterprise Applications > + New Application > Integrate any other application you don't find in the gallery





Appuyer sur « Create » pour créer l’application.

Après validation, vous serez redirigé vers cette interface :


L’application a été créée avec succès.

L’étape suivante se fait dans Steeple :




Administration > Intégrations > Installer


Paramétrage du SSO sur Steeple :

Le nom du bouton de connexion SSO peut être paramétré. Si aucun nom n’est donné, « Connexion via SSO » s’affiche par défaut.

Les domaines réservés :

Il est possible de réserver des noms de domaine sur Steeple afin de le/les détecter sur la page login et afficher le bon bouton de connexion.
Exemple : il est possible de se connecter en SSO chez Steeple avec GSuite. Steeple a réservé le domaine steeple.fr et, de ce fait, lorsqu’une adresse @steeple.fr est entrée dans le champ e-mail du formulaire de login, le bouton « Se connecter avec GSuite » apparait automatiquement à la place du champ « Mot de passe ».

Cliquez ensuite sur Passer à l’étape suivante.





La suite de la configuration est composée de plusieurs « allers-retours » entre les interfaces de Steeple et d’Azure :



Accédez aux « métadonnées » dans Steeple. Il s’agit de liens fournis par Steeple à entrer dans Azure.

Les champs sont bien définis dans Steeple et dans Azure. Il faut donc copier-coller ces liens dans les champs appropriés.


Steeple2 | Overview > Single Sign-On > SAML

Il faut modifier les données de l’étape n°1 avec les métadonnées de Steeple :



AzureAD proposera de tester la connexion. Il faut cliquer sur « I’ll try later ».

Il va également falloir modifier le « mapping » des données, en étape n°2 :

Il faut ensuite modifier les autres champs. Voici la trame pour les « value » :

« value » : user.mail :
Name : email
Namespace : tout effacer
Source attribute : choisir user.mail OU user.userprincipalname

« value » : user.givenname :
Name : first_name
Namespace : tout effacer
Source attribute : user.givenname

« value » : user.surname :
Name : last_name
Namespace : tout effacer
Source attribute : user.surname

« value » : user.name :
Name : provider_identifier
Namespace : tout effacer
Source attribute : user.userprincipalname

Pour les systèmes de communautés mère/filles (ou petites-filles) :
Il faut également indiquer un attribut de groupe en cliquant sur « Add a group claim » :


Voici ce que vous devez voir à la fin du mapping (communautés classiques) :



Voici ce que vous devez voir à la fin du mapping (communautés mère/filles ou petites-filles) :

Cliquez ensuite sur Passer à l’étape suivante.


Configuration obligatoire en cas de communautés mère/filles et petites-filles :

Il faut associer les groupes Azure correspondants à vos communautés filles dans l’interface Steeple :

Vous trouverez l’id d’un groupe sur la page de ce dernier dans l’onglet « Properties » et vous pourrez copier l’object_id.
Cette étape est primordiale pour le bon fonctionnement du SSO chez Steeple.



Il faut ensuite passer à l’étape n°3 : SAML Sign-In Certificate :

A cette étape, Azure propose différentes données. Celle dont nous avons besoin s’appelle : App Federation Metadata Url, qu’il suffit de copier en cliquant sur le petit logo à droite.



Ensuite, retour sur l’interface de Steeple :

2) Métadonnées de votre annuaire (Identity Provider) > Choix de la méthode


Avant de passer à la dernière étape de la configuration, il faut « assign » des utilisateurs à l’application créée sur AzureAD. Il s’agit tout simplement de « lister » les utilisateurs de l’annuaire qui auront accès à cette application et pourront s’y connecter.




Pour cela, il faut se rendre dans l’onglet « Users and Groups » sur la gauche puis cliquer sur « + Add User » :
Ajouter un ou plusieurs utilisateurs (bien veiller à ce que le profil de l’utilisateur connecté pour effectuer la configuration SSO, le « current user », soit bien présent dans la liste et assigné à l’application) puis cliquer sur « Assign ».

La configuration SSO est maintenant terminée. Il faut maintenant Enregistrer la configuration.

Sur Azure, en étape 5, vous pouvez tester cette configuration.

Azure va lancer l’authentification test dans un nouvel onglet puis rediriger vers l’interface AzureAD pour signaler si le test est positif ou négatif :



Un bouton de connexion est maintenant disponible pour se connecter :

 

Que se passe-t-il si je me connecte en SSO alors que je me connectais auparavant de manière classique ?

Mon adresse e-mail est la même que mon compte Microsoft avec lequel je me connecte :
Rien ne se passe. Mon mode d’authentification change, mais mon compte n’est pas modifié, je peux continuer à utiliser Steeple comme je le faisais avant.

Mon adresse e-mail chez Steeple est différente de celle de mon compte Microsoft avec lequel je souhaite me connecter en SSO :
Cela va me créer un autre compte. Il faut donc changer d’adresse email afin de bénéficier de ce type d’authentification.