Quand utiliser la délégation d’identité
Qu’est-ce que la délégation d’identité ?
La délégation d’identité est une fonctionnalité des Services ADFS, qui permet à des comptes spécifiés par l’administrateur d’emprunter l’identité des utilisateurs. Le compte qui emprunte l’identité de l’utilisateur est appelé le délégué. Cette fonctionnalité de délégation est essentielle pour de nombreuses applications distribuées pour lesquelles une série de vérifications de contrôle d’accès doit être effectuée de façon séquentielle pour chaque application, base de données ou service qui se trouve dans la chaîne d’autorisation de la demande d’origine. Dans de nombreux scénarios réels, le « front-end » d’une application web doit récupérer des données à partir d’un système « principal » plus sécurisé, tel qu’un service web connecté à une base de données Microsoft SQL Server.
Par exemple, un site web de commande de pièces existant peut être amélioré par programme afin d’autoriser les organisations partenaires à consulter leur historique d’achat et l’état de leur compte. Pour des raisons de sécurité, toutes les données financières des partenaires sont stockées dans une base de données sécurisée sur un serveur SQL (Structured Query Language) dédié. Dans ce cas, le code de l’application frontale ne sait rien sur les données financières de l’organisation partenaire. Par conséquent, il doit récupérer ces données à partir d’un autre ordinateur situé à un autre emplacement du réseau, qui héberge (dans ce cas) le service web pour la base de données de pièces (principale).
Pour que ce processus de récupération de données réussisse, une série de négociations d’autorisation doit avoir lieu entre l’application web et le service web pour la base de données de pièces, comme indiqué dans l’illustration suivante.
Étant donné que la demande d’origine a été effectuée sur le serveur web lui-même, qui est probablement situé dans une organisation complètement différente de celle de l’utilisateur qui tente d’accéder au serveur web, le jeton de sécurité qui est envoyé avec la demande ne répond pas aux critères d’autorisation requis pour accéder à un ordinateur, au-delà du serveur web. Par conséquent, la demande d’origine de l’utilisateur peut être satisfaite uniquement en plaçant un serveur de fédération intermédiaire dans l’organisation partenaire de ressource pour aider à émettre à nouveau un jeton de sécurité qui dispose des privilèges d’accès appropriés.
Fonctionnement de la délégation d’identité
Les applications web des architectures d’application intermédiaires appellent souvent des services web pour accéder à des données ou des fonctionnalités communes. Il est important pour ces services web de connaître l’identité de l’utilisateur d’origine afin que le service puisse prendre des décisions d’autorisation et faciliter les audits. Dans ce cas, l’application web frontale représente l’utilisateur en tant que délégué auprès du service web. AD FS facilite ce scénario en permettant aux comptes Active Directory d’agir en tant qu’utilisateur auprès d’une autre partie de confiance. Un scénario de délégation d’identité est illustré ci-après.
Frank tente d’accéder à l’historique de commande de pièces à partir d’une application web d’une autre organisation. Son ordinateur client demande et reçoit un jeton AD FS pour l’application web de commande de pièces frontale.
L’ordinateur client envoie une demande à l’application web, incluant le jeton obtenu à l’étape 1, pour prouver l’identité du client.
L’application web doit communiquer avec le service web pour terminer sa transaction pour le client. L’application web contacte AD FS afin d’obtenir un jeton de délégation pour interagir avec le service web. Les jetons de délégation sont des jetons de sécurité émis à un délégué de sorte que ce dernier puisse agir en tant qu’utilisateur. AD FS retourne un jeton de délégation avec des revendications relatives au client, ciblé pour le service web.
L’application web utilise le jeton obtenu à partir de AD FS à l’étape 3 pour accéder au service web qui agit en tant que client. En examinant le jeton de délégation, le service web peut déterminer que l’application web agit en tant que client. Le service web exécute sa stratégie d’autorisation, enregistre la demande et fournit les données d’historique de pièces requises, initialement demandées par Frank à l’application web, donc à Frank.
Pour un délégué particulier, AD FS peut limiter les services web pour lesquels l’application web peut demander un jeton de délégation. L’ordinateur client ne doit pas nécessairement posséder un compte Active Directory pour que cette opération réussisse. Enfin, comme indiqué précédemment, le service web peut déterminer facilement l’identité du délégué qui agit en tant qu’utilisateur. Cela permet aux services web de présenter un comportement différent selon qu’ils s’adressent à l’ordinateur client directement ou via un délégué.
Configuration d’AD FS pour la délégation d’identité
Vous pouvez utiliser le composant logiciel enfichable Gestion AD FS pour configurer AD FS pour la délégation d’identité à chaque fois que vous avez besoin de faciliter le processus de récupération de données. Une fois configuré, AD FS peut générer de nouveaux jetons de sécurité qui incluent le contexte d’autorisation que le service principal peut exiger avant de fournir l’accès aux données protégées.
AD FS ne limite pas les utilisateurs dont l’identité peut être empruntée. Une fois configuré pour la délégation d’identité, AD FS effectue les opérations suivantes :
Il détermine à quels serveurs l’autorité de demande de jetons peut être déléguée pour emprunter l’identité d’un utilisateur.
Il établit et garde séparés le contexte d’identité pour le compte du client délégué et le serveur qui agit en tant que délégué.
Vous pouvez configurer la délégation d’identité en ajoutant des règles d’autorisation de délégation à l’approbation de partie de confiance dans le composant logiciel enfichable Gestion AD FS. Pour plus d’informations sur la procédure à suivre, consultez Checklist: Creating Claim Rules for a Relying Party Trust.
Configuration de l’application web frontale pour la délégation d’identité
Les développeurs disposent de plusieurs options pour programmer correctement l’application web ou le service frontal pour rediriger les demandes de délégation à un ordinateur AD FS. Pour plus d’informations sur la personnalisation d’une application web de sorte qu’elle fonctionne avec la délégation d’identité, consultez Kit de développement logiciel (SDK) de Windows Identity Foundation.