PARTIE I : 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 passes, 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 > Non-gallery application

Appuyer sur « Add » 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 > Paramètres > Configurer les méthodes d’accès



Méthodes d’accès > Choisir une autre méthode d’accès > Authentification centralisée (SSO) et Provisioning

Cliquer sur « Configurer le SSO », puis confirmer.

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 (ex: steeple.fr, parker.com, etc) 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 sur 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 ».

Il est évidemment possible de ne pas en réserver.

Il est ensuite possible d’afficher un aperçu du bouton de connexion :



Configuration obligatoire en cas de communautés mère/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.





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 supprimer la «** value** » user.userprincipalname et sauvegarder.

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

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 :

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



Il faut :



la majorité des cas la première méthode, qui consiste simplement à coller l’App Federation Metadata Url d’Azure dans le champ approprié et cliquer sur « importer ».

Cette action aura pour effet d’afficher les champs présents dans les métadonnées importées. Un bouton « Valider » apparaît également ; il ne faut** pas** valider pour le moment :



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 valider 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 :



Une fois la configuration définitivement validée, un bouton de connexion sera 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.

PARTIE II : SYNCHRONISATION AUTOMATIQUE DES ANNUAIRES

Provisioning (protocole SCIM)

Le « provisioning » est un terme utilisé pour parler de la synchronisation des annuaires. Par exemple, Azure Active Directory est un annuaire. D’autres termes sont utilisés; on dit également d’AzureAD qu’il est un « fournisseur d’identités » ou bien encore un « identity provider » en anglais (terme qui sera employé le plus souvent).

Exemple de comportements du provisioning :
Un utilisateur est assigné à l’application Steeple dans Azure : l’utilisateur est retrouvé ou bien créé dans Steeple
Un utilisateur est désactivé dans Azure : il n’existera plus dans Steeple

Le provisioning est un outil puissant qui permet d’éviter certaines activités chronophages pour les entreprises, dont la gestion des identités fait partie.

SCIM dans tout ça ? :
SCIM est un protocole à suivre dans le cadre du développement d’une telle fonctionnalité. Pour que cela fonctionne bien, il faut être conforme à ce protocole.

PROVISIONING : STEEPLE / MICROSOFT AZURE ACTIVE DIRECTORY

RAPPEL : il est primordial d’avoir configuré le SSO avant de commencer la configuration du provisioning. Ni la configuration d’AzureAD ni celle de Steeple ne le permettent.

Dans Steeple :



Méthodes d’accès > Provisioning > « Configurer le Provisioning (SCIM) »

Cliquer sur configurer puis valider le commencement du paramétrage. Cette validation va générer deux paramètres nécessaires à la configuration du provisioning : le tenant URL et le** Secret Token** :



Dans Azure :

Annuaire Overview > Provisioning

Dans cet onglet « Provisioning », AzureAD sélectionne automatiquement le mode « Manuel ». Pour nous, il faut sélectionner le mode « Automatique ». Il faut ensuite copier-coller le tenant URL et le Secret Token dans les champs appropriés puis cliquer sur « Test Connection » :





Une fois la connexion validée par AzureAD, il faut sauvegarder la configuration. Ensuite, et seulement ensuite, il faut modifier le mapping relatif aux users dans l’onglet « Mappings » :

Une liste de « mappings » apparaît. Il faut sélectionner et modifier le deuxième mapping (Switch([IsSoftDeleted], , "False", "True", "True", "False") :



Dans l’éditeur de mapping, entrez ceci dans le champ « Expression » : Not([IsSoftDeleted]), puis sauvegardez.
Azure redirige ensuite sur la page « principale » du provisioning. Afin d’être bien sûrs que tous les changements ont été pris en compte, il faut recharger la page.

Si l’on ne recharge pas la page, certaines modifications passent à la trappe et nous empêche d’activer le provisioning.



A l’issue de ce refresh, il faut ensuite activer le provisioning. Pour cela, rien de plus simple : cliquez sur « On » en dessous de « Provisioning Status ». Si tout se passe bien, une notification de connexion successful apparaîtra dans AzureAD.



Le nombre d’utilisateurs synchronisés apparaît alors dans Azure.

NOTE : Azure Active Directory se met à jour toutes les 25 à 40 minutes. Un changement dans l’annuaire est susceptible de ne pas se répercuter de manière immédiate dans Steeple mais plusieurs dizaines de minutes plus tard.

Suite à cette configuration sur Azure et l’activation du provisioning, Steeple va recevoir la liste des profils obtenus lors de cette activation :




En tant qu’administrateur, vous avez également la possibilité de supprimer cette méthode d’accès pour revenir à un système d’authentification dit « classique », avec e-mail et mot de passe.

Pour cela :



Paramètres > Configurer les méthodes d’accès > Authentification centralisée (SSO) et Provisioning > Danger Zone > Supprimer cette méthode d’accès et revenir au mode d’authentification classique :

Lien pour télécharger le logo Steeple
Cet article a-t-il répondu à vos questions ?
Annuler
Merci !