WS-Federation dans les réseaux de l'administration fédérale


Ce document s'adresse aux chefs de projet, responsables d'applications, développeurs, architectes et gestionnaires d'intégration qui intègrent des applications avec le service eIAM au sein du réseau administratif fédéral sur la base du protocole d'identité WS-Federation.

WS-FED Integration

L'illustration ci-dessous montre de manière simplifiée le déroulement et les composants impliqués dans l'accès d'un utilisateur non encore authentifié à une application web dans les réseaux de l'administration fédérale, qui est protégée par le composant web eIAM. Les différentes étapes sont décrites ci-dessous.
Accès utilisateur eIAM à une ressource protégée avec fédération WS
Accès utilisateur eIAM à une ressource protégée avec fédération WS



ActionDescription ;
1Utilisateur tente d'accéder à la ressource protégée d'une application web L'eIAM-Web PEP détecte que la ressource à laquelle on veut accéder est protégée et que l'accès est effectué par un utilisateur qui n'est pas encore authentifié.
2SAML AuthnRequest au navigateur web de l'utilisateur L'eIAM-Web PEP émet une requête Authn signée SAML 2.0 à l'attention du Trustbroker eIAM et l'envoie au navigateur web de l'utilisateur sous forme de formulaire auto-transmissible.
3SAML AuthnRequest au eIAM-TrustbrokerLe navigateur de l'utilisateur envoie automatiquement le formulaire au eIAM Trustbroker via Browser POST au moyen de Java Script.
4Home Realm Discovery et SAML AuthnRequest au navigateur web de l'utilisateur Le eIAM Trustbroker exécute une Home Realm Discovery (détermination de l'IdP à utiliser) et détermine l'IdP à utiliser pour l'authentification.
Le Trustbroker eIAM émet une Auth-nRequest SAML 2.0 signée à l'attention de l'IdP et l'envoie au navigateur web de l'utilisateur sous forme de formulaire autotransmis.
5SAML AuthnRequest à l'IdP Le navigateur de l'utilisateur envoie automatiquement le formulaire à l'IdP par Browser POST au moyen de Java Script.
6Authentification de l'utilisateur L'IdP procède à une authentification de l'utilisateur qui varie selon les caractéristiques.
Si l'authentification est réussie, l'IdP crée une réponse SAML qui contient une assertion signée avec des informations sur le sujet et les attributs du sujet (également appelés revendications) ;
7SAML Response au navigateur web de l'utilisateur L'IdP envoie la SAML Response au navigateur web de l'utilisateur sous forme de formulaire auto-transmis ;
8SAML Response à l'eIAM Trustbroker Le navigateur de l'utilisateur envoie automatiquement le formulaire à l'eIAM Trustbroker via Browser POST en utilisant Java Script.
Le Trustbroker eIAM recherche le sujet de l'assertion SAML dans l'AM eIAM.
L'eIAM Trustbroker enrichit l'assertion SAML de l'IdP avec d'autres attributs (par ex. ID utilisateur et rôles d'autorisation) de l'eIAM-AM et crée une réponse SAML avec une assertion SAML à l'attention de l'eIAM-Web PEP.
9SAML Response au navigateur web de l'utilisateur Le Trustbroker eIAM envoie la SAML Response au navigateur web de l'utilisateur sous forme de formulaire auto-transmis.
10SAML Response à eIAM-Web PEP Le navigateur de l'utilisateur envoie automatiquement le formulaire au eIAM-Web PEP par Brow-ser POST au moyen de Java Script.
11Vérification de l'assertion SAML et redirection vers RelayState L'eIAM-Web PEP vérifie la réponse SAML et l'assertion.
En cas de succès, l'eIAM-Web PEP crée une session avec l'utilisateur.
L'eIAM-Web PEP redirige l'utilisateur vers l'URL du RelayState. Il s'agit de l'URL à laquelle l'utilisateur a accédé à l'origine (avant l'authentification).
Avec cette réponse, un cookie de session est émis, avec lequel la session entre le client et le PEP est suivie.
12Le navigateur web de l'utilisateur tente à nouveau d'accéder à la ressource protégée de l'application web Il existe maintenant une session avec l'utilisateur pour cette requête. Le PEP vérifie si l'utilisateur est autorisé à accéder à cette ressource et, en cas de succès, transmet la re-quête de l'utilisateur à l'application.
13L'application vérifie l'autorisation de l'utilisateur L'application reconnaît que l'utilisateur veut accéder à un domaine protégé, mais que, de son point de vue, l'utilisateur n'est pas encore authentifié.
L'application redirige le navigateur web de l'utilisateur vers l'interface WS-Federation de l'eIAM-Web PEP.
14wsignin Request to PEP Le navigateur web de l'utilisateur appelle l'interface WS-Federation du eIAM-Web PEP avec les paramètres nécessaires.
15WS RequestSecurityToken-Response pour l'application L'eIAM-Web PEP vérifie la requête wsignin entrante et la relie à la session existante de l'utilisateur via le cookie de session.
L'eIAM-Web PEP émet une RequestSecurityToken-Response avec une SAML Assertion et envoie cette réponse sous forme de formulaire auto-transmis au navigateur web de l'utilisateur.
16WS RequestSecurityToken-Response à l'application Le navigateur de l'utilisateur envoie automatiquement le formulaire à l'application par Browser POST au moyen de Java Script.
17Vérification de SAML Assertion et redirection vers RelayState L'application vérifie la Security Token Response et la SAML Assertion qu'elle contient.
En cas de succès, l'application crée une session avec l'utilisateur.
L'application redirige le navigateur web de l'utilisateur vers une URL de son choix.
Avec cette réponse, un cookie de session est émis pour suivre la session entre le client et l'application ;
18Le navigateur web de l'utilisateur tente à nouveau d'accéder à la ressource protégée de l'application web L'eIAM-Web PEP laisse passer la requête sur l'application, car il existe une session valable et l'utilisateur possède le rôle d'autorisation grossièrement granulaire nécessaire.
De son côté, l'application autorise la requête puisqu'il existe une session valide et que l'utilisateur possède le rôle à granularité fine nécessaire pour effectuer l'opération souhaitée sur l'application.
19Réponse au navigateur web de l'utilisateur L'application envoie la réponse au navigateur web de l'utilisateur.