Authentification fédérée basée sur SAML 2.0

Unica Platform implémente un fournisseur d'identité (IdP) basé sur SAML 2.0 qui active une fédération de connexion unique parmi les produits Unica ou entre les produits Unica et les applications tierces.

Une fédération est un groupe de fournisseurs d'identité et d'applications qui fonctionnent ensemble dans un environnement de confiance et se fournissent des services selon les standards SAML 2.0 (Security Assertion Markup Language).

Les applications qui sont membres d'une fédération sont appelées des fournisseurs de services (SP). Le serveur d'identité et les fournisseurs de services peuvent être hébergés sur le site ou sur le cloud.

Une fédération SAML 2.0 prend en charge un grand nombre de mécanismes d'authentification pour la connexion unique. Par exemple, un utilisateur peut être authentifié dans un fournisseur de services par le mécanisme d'authentification de cette application (par exemple, application interne, OAuth, OpenId, SAML, Kerberos), puis il peut accéder à d'autres fournisseurs de service par la connexion unique fédérée, sous réserve que les applications fassent partie de la même fédération et que l'utilisateur soit mappé de façon adéquate.

Le serveur d'identité crée, valide ou supprime des jetons en fonction du mappage des utilisateurs. Les objets d'accès aux données sont implémentées pour les types de base de données pris en charge, et sont incorporés au serveur d'identité.

Un administrateur mappe les ID utilisateurs entre les fournisseurs de service pour leur fournir la connexion unique. Supposons par exemple que Fournisseur_A et Fournisseur_B soient tous les deux membres d'une fédération. Utilisateur_1 est un compte de Fournisseur_A et Utilisateur_2 est un compte de Fournisseur_B. Le compte Utilisateur_1 est mappé au compte Utilisateur_2 dans la fédération. Lorsqu'un utilisateur se connecte à Fournisseur_A avec les données d'identification d'Utilisateur_1, il dispose de l'accès à Fournisseur_B grâce à la connexion unique. De la même manière, lorsqu'un utilisateur se connecte à Fournisseur_B avec les données d'identification d'Utilisateur_2, il dispose de l'accès à Fournisseur_A grâce à la connexion unique.

Diagramme

Le diagramme suivant illustre la fédération.



Composants de l'implémentation HCL

L'implémentation de la connexion unique fédérée basée sur SAML 2.0 est constituée des composants suivants.

Ces composants sont dans le répertoire tools/lib de votre installation Unica Platform.

  • Un serveur d'identité SAML 2.0, fourni sous la forme d'un fichier WAR : idp-server.war
  • Une façade client : idp-client.jar

    La façade client du fournisseur d'identité est une implémentation Java™ avec une API qui fonctionne avec des jetons de sécurité. Elle est fournis sous la forme d'un fichier JAR. La documentation Javadoc™ de l'API est intégrée à celle de Unica Platform Javadoc.

    La façade client du fournisseur d'identité permet aux fournisseurs de services Java de s'intégrer rapidement au serveur d'identité pour faire partie de la fédération.

Cas d'utilisation pris en charge

L'implémentation actuelle permet aux fournisseurs de services de gérer les jetons de sécurité pour établir l'authentification par connexion unique entre eux.

Génération d'un jeton SAML

L'implémentation peut générer un jeton SAML pour un utilisateur qui lance une demande d'authentification par la connexion unique. Cet utilisateur doit être mappé au serveur d'identité. A partir des données d'identification et du mappage des utilisateurs du tiers de confiance, le serveur d'identité crée un jeton de sécurité et l'émet dans une assertion SAML 2.0.

Par exemple, si Utilisateur_1 de Fournisseur_A est mappé avec Utilisateur_2 de Fournisseur_B sur le serveur d'identité et tente d'accéder aux ressources de Fournisseur_B, le serveur d'identité génère un jeton de sécurité pour Utilisateur_1 en tant que tiers de confiance.

Validation d'un jeton SAML existant

L'implémentation peut valider un jeton SAML existant présenté par un fournisseur de services qui reçoit la demande d'accès d'un utilisateur d'un autre fournisseur de services. Le fournisseur de services commence par valider le jeton de sécurité et le mappage du client auprès du serveur d'identité pour identifier l'utilisateur mappé dans son propre domaine.

Par exemple, lorsque Fournisseur_A tente d'accéder aux ressources de Fournisseur_B pour le compte d'Utilisateur_1 et présente le jeton de sécurité du fournisseur d'identité, Fournisseur_B transmet ce jeton au serveur d'identité. Si le jeton est valide et si Utilisateur_1 est mappé à un utilisateur de Fournisseur_B, le serveur d'identité résout l'utilisateur de Fournisseur_B dans le domaine de Fournisseur_B et renvoie l'assertion.

Suppression d'un jeton SAML existant

L'implémentation peut supprimer un jeton SAML existant lorsqu'un utilisateur d'un fournisseur de services se déconnecte du système ou qu'une session inactive expire. A partir des données d'identification et du mappage des utilisateurs du tiers de confiance, le serveur d'identité supprime le jeton et réinitialise l'horodatage du dernier accès lorsqu'il reçoit la demande de déconnexion. Le mappage de l'utilisateur n'est PAS supprimé.

Limitations

L'implémentation actuelle ne prend pas en charge les cas d'utilisation suivants.

  • Création d'un mappage entre les utilisateurs des fournisseurs de services par une interface utilisateur ou une API
  • Mise à jour d'un mappage existant entre les utilisateurs des fournisseurs de services par une interface utilisateur ou une API
  • Suppression d'un mappage existant entre les utilisateurs des fournisseurs de services par une interface utilisateur ou une API

Authentification fédérée et partitions

Si votre environnement Unica comporte plusieurs partitions, vous pouvez configurer une authentification fédérée SAML 2.0 distincte pour chacune d'entre elles. Dans ce cas, sur la page Paramètres > Configuration , vous devez créer un ensemble de propriétés dans la catégorie Unica Platform | Sécurité | Authentification fédérée | partitions | partition[n] pour chaque partition.