ICON__LOGO_THEIA-Surimpresion-1250x500px (1)

THEIA.fr

Configurer un service d’authentification SSO

L’authentification unique ou SSO permet à l’utilisateur d’accéder à la plateforme THEIA grâce à une identification effectuée sur une autre application. Les protocoles configurables sont : Azure AD, JWT, SAML et CAS.

Le paramétrage de la plupart de ces services (Azure AD, JWT et SAML), conditionné par un droit utilisateur, est disponible dans l’interface Gestion au niveau du menu Paramètres > Configuration SSO

En effet, le système d’authentification CAS ne peut être paramétré via le menu évoqué. Nous vous invitons à vous rapprocher de notre service support pour plus d’informations.

1. Azure AD

1.1. Configuration générale

Grâce au paramètre Tenant ID, la plateforme sera en mesure d’identifier l’annuaire Azure AD dans lequel sont renseignées les données des utilisateurs. 

Les cases suivantes autorisent les utilisateurs à accéder à la plateforme grâce à l’annuaire Azure et à créer automatiquement leurs comptes s’ils n’existent pas déjà. En effet, si le compte est déjà présent sur la plateforme, ses informations seront mises à jour, lors de chaque connexion, grâce aux données issues de l’annuaire Azure.

1.2. Association des utilisateurs

Lorsque l’annuaire Azure dispose d’utilisateurs présents sur différentes plateformes, il convient de renseigner le nom ainsi que la valeur attendue de l’attribut. Par exemple, si mon annuaire contient un attribut plateforme_theia pour chacun de mes utilisateurs avec deux valeurs possibles : GRENOBLE ou PARIS, alors, il est important de l’indiquer dans cet espace afin que la plateforme THEIA puisse correctement être identifiée à chaque connexion.

Aussi, le champ matricule peut être automatiquement complété lors de la connexion de l’utilisateur. La plateforme récupéra la valeur de l’attribut associé à l’élément configuré (ex : numero_etudiant).

Les attributs supplémentaires sont ajoutés, sur demande, par THEIA afin d’enrichir les comptes utilisateurs avec des informations complémentaires. Ces éléments peuvent également être pris en compte lors du paramétrage en remplissant dans un premier temps, le champ « Champ du profil utilisateur Azure », puis en indiquant la correspondance au niveau de la plateforme (« Colonne ELFFE additionnelle).

1.3. Gestion des groupes

Les groupes issus de l’annuaire Azure peuvent automatiquement être créés sur la plateforme grâce à une tache de synchronisation réalisée quotidiennement.

Avec le premier champ, il est possible de filtrer la requête afin de récupérer seulement le sous-ensemble de la collection liée au groupe. Si nécessaire, les chaines de caractères non souhaitées peuvent être écartées, via la  seconde zone de saisie, afin que le nom du groupe Azure corresponde à celui de la plateforme.

La case à cocher suivante autorise, lors de la synchronisation quotidienne, la modification du nom du groupe sur la plateforme par la valeur issue de l’annuaire Azure.

 A sa création, le groupe sera associé à la catégorie configurée.

2. JWT

JWT permet l’identification des utilisateurs via un échange de jetons (Token). Il s’agit d’un fichier au format .Json signé par une longue chaine de caractères à l’aide de l’algorithme ainsi que de la clé secrète disponible dans l’onglet de configuration. La signature assure l’intégrité des données dans le token et garantit que les données n’ont pas été altérées depuis leur création.

Les informations attendues sont les suivantes :

{
« sub »: « string » _Identifiant de l’utilisateur par le client
« preferred_username »: « string » _Identifiant de l’utilisateur par la plateforme THEIA
« given_name »: « string » _Prénom
« family_name »: « string » _Nom
« email »: « string » _Adresse email
« groups »: [« string », « string »,…] _Liste du ou des groupes dans lesquels l’utilisateur est inscrit
« extraTime »:Boolean _L’utilisateur bénéficie ou non d’un aménagement d’épreuve

La case Créer les utilisateurs à la volée offre la possibilité de créer automatiquement les comptes utilisateurs sur la plateforme lors de la première connexion. Si le compte existe déjà, alors il sera mis à jour avec les informations contenues dans le jeton. 

Cela implique par conséquent, l’inscription ou le désinscription des utilisateurs des groupes dans lesquels ils sont inscrits. En effet, l’utilisateur ne sera inscrit que dans les groupes présents dans le jeton. Si aucun groupe n’est renseigné ou s’il n’est pas connu dans la plateforme, alors l’utilisateur ne sera inscrit dans aucun groupe.

Par ailleurs, la création automatique des groupes n’est pas prise en compte par ce protocole.

3. SAML

3.1. Fournisseur d'identité (IdP)

Afin de permettre la communication entre les deux fournisseurs SAML (fournisseur d’identité et fournisseur de service), il est essentiel de renseigner soit l’URL pointant vers le fichier des métadonnées .xml ou directement le contenu dans le champ Metadata XML.

On note que Entity Id doit correspondre à l’identifiant présent dans le fichier des métadonnées.

Lors de la mise en place de ce service, nous conseillons d’activer le mode debug afin d’obtenir la liste des logs. Cela facilitera la correction d’éventuelles anomalies.

Cette configuration permet la transmission des informations liées aux utilisateurs ainsi que la création automatique de leurs comptes lors de la première connexion. Aussi, grâce à la fonctionnalité d’import en masse du menu Utilisateurs > Comptes des utilisateurs, les comptes peuvent être créés en amont directement sur la plateforme. Il faudra alors veiller à ce que l’attribut username fourni à la connexion corresponde à l’identifiant THEIA du compte.

3.2. Gestion des groupes

La valeur associée à l’attribut de groupe permet, lors de chaque connexion, d’inscrire l’utilisateur dans l’entité correspondante. Si le groupe n’est pas présent sur la plateforme ou si la valeur de l’attribut est vide, alors l’inscription sera effectuée dans le groupe par défaut. On note qu’un utilisateur ne peut être désinscrit d’un groupe via cette méthode.

En revanche, il est possible de créer ce groupe si celui ci n’existe pas via la case à cocher Créer les groupes. Il dépendra alors de la catégorie renseignée dans le champ Sélectionner une catégorie

Aussi, un utilisateur peut être inscrit dans plusieurs groupes. L’élément transmis devra alors être équivalent à l’exemple suivant : 

				
					<saml:Attribute Name="attribut_groupe">
    <saml:AttributeValue>groupe 1</saml:AttributeValue>
    <saml:AttributeValue>groupe 2</saml:AttributeValue>
</saml:Attribute>
				
			

3.3. SAML Service Provider Configuration

L’affichage de ces informations est conditionné par la case à cocher Autoriser les utilisateurs à se connecter grâce à SAML. Elles vous renseignent :

  • Le paramètre Entity Id du fournisseur de service
  • L’URL vers le fichier .xml des métadonnées afin d’obtenir les éléments liées à la communication entre les fournisseurs ainsi que le contenu attendu
  • L’URL ACS qui permet au client de paramétrer le lien d’accès à la plateforme THEIA
  • L’URL Logout qui laisse au client la liberté de configurer une éventuelle déconnexion depuis son portail
 

Comme présenté dans le fichier de métadonnées, la plateforme attend une assertion signée. Il est important de préciser qu’elle attend également que l’ensemble de la réponse le soit. 

Cet article vous a-t-il été utile ?