On m'a donc dit que notre application PHP pourrait avoir besoin de prendre en charge l'authentification avec ADFS.
Pour les utilisateurs autres que Microsoft, qu’est-ce que ADFS?
Comment cela diffère-t-il de choses comme LDAP?
Comment ça marche? Quel type d'informations serait inclus dans une demande typique à un serveur ADFS? Est-il conçu pour l'authentification et l'autorisation?
Les serveurs ADFS sont-ils généralement accessibles à partir d'Internet (contrairement aux contrôleurs de domaine d'entreprise AD)?
J'ai essayé de lire certains documents Technet, mais ce livre contient des informations Microsoft qui ne sont pas d'une grande aide.
Wikipedia est meilleur (voir ci-dessous), mais peut-être qu'une partie de la communauté ServerFault pourra combler certaines des lacunes.
ADFS (Active Directory Federation Services) est un composant logiciel développé par Microsoft qui peut être installé sur les systèmes d'exploitation Windows Server pour fournir aux utilisateurs un accès en connexion unique aux systèmes et applications situés au-delà des limites de l'organisation. Il utilise un modèle d'autorisation de contrôle d'accès basé sur les revendications pour maintenir la sécurité des applications et implémenter l'identité fédérée.
L'authentification basée sur les revendications est le processus d'authentification d'un utilisateur basé sur un ensemble de revendications sur son identité contenues dans un jeton approuvé.
Dans ADFS, la fédération d'identité est établie entre deux organisations en établissant une relation de confiance entre deux domaines de sécurité. Un serveur de fédération d'un côté (côté Comptes) authentifie l'utilisateur par le biais des moyens standard des services de domaine Active Directory, puis émet un jeton contenant une série de revendications sur l'utilisateur, y compris son identité. De l'autre côté, du côté des ressources, un autre serveur de fédération valide le jeton et émet un autre jeton pour que les serveurs locaux acceptent l'identité revendiquée. Cela permet à un système de fournir un accès contrôlé à ses ressources ou services à un utilisateur appartenant à un autre domaine de sécurité sans exiger que l'utilisateur s'authentifie directement auprès du système et sans que les deux systèmes ne partagent une base de données d'identités d'utilisateur ou de mots de passe.
En pratique, cette approche est généralement perçue par l'utilisateur comme suit:
- L'utilisateur se connecte à son PC local (comme il le ferait généralement lorsqu'il commence à travailler le matin)
- L'utilisateur doit obtenir des informations sur le site extranet de la société partenaire, par exemple pour obtenir les tarifs ou les détails du produit.
- L'utilisateur accède au site extranet de la société partenaire, par exemple: http://example.com.
- Le site Web partenaire ne nécessite plus de mot de passe. Les informations d'identification de l'utilisateur sont transmises au site extranet du partenaire à l'aide d'AD FS.
- L'utilisateur est maintenant connecté au site Web du partenaire et peut interagir avec le site "connecté".
De https://en.wikipedia.org/wiki/Active_Directory_Federation_Services
la source
Réponses:
ADFS est la solution de Microsoft pour l'authentification unique et l'authentification Web.
Il est principalement utilisé pour fournir un ensemble unique d'informations d'identification pouvant accéder à une variété de sites non nécessairement hébergés dans le même domaine.
LDAP:
mod_authnz_ldap
.ADFS:
Voir aussi cette réponse à ce sujet.
Il fonctionne avec un seul site (site A) qui héberge les serveurs proxy ADFS / ADFS, qui ont accès aux informations d'identification (généralement en communiquant avec un contrôleur de domaine Active Directory). Une confiance est ensuite établie entre les autres sites (sites B et C) nécessitant une authentification via ADFS.
Lorsqu'un utilisateur tente d'accéder au site B dans son navigateur, celui-ci le redirige vers le site Web du proxy ADFS (site A), qui lui demande son nom d'utilisateur et son mot de passe, les authentifie, renvoie un ensemble de cookies pour les mémoriser et les redirige. retour sur le site B, avec un jeton d'accès.
Si l'utilisateur tente ensuite de visiter le site C, il sera également redirigé vers le site A pour s'authentifier à partir du site Web proxy ADFS. Si les bons cookies existent, l'utilisateur ne sera plus obligé de saisir son mot de passe, mais sera immédiatement redirigé vers le site C avec un jeton.
Les ADFS peuvent être configurés avec des revendications (ou autorisations) spécifiques pour l'utilisateur, à des fins d'autorisation. Cela peut donc servir les deux rôles. (Notez la différence entre authentification et autorisation .)
Certaines personnes préfèrent ne pas l'utiliser pour des autorisations mais conserver la gestion des autorisations dans le site Web tiers. L'inconvénient évident est que les sites A & B doivent garder une trace des comptes d'utilisateurs, tandis que dans le scénario où ADFS gère les deux, seul ADFS doit connaître les utilisateurs.
Oui, presque toujours. ADFS est basé sur l'idée qu'il sera principalement utilisé pour l'authentification de site Web. Et est construit autour d'IIS.
Le site proxy ADFS est celui qui est généralement accessible à partir d'Internet. Cependant, le système ADFS lui-même ne l'est pas. ADFS est généralement un serveur distinct du proxy ADFS.
Server qui établit un lien vers les informations d'identification et possède la configuration des revendications ainsi que les approbations. Généralement pas accessible au public.
Server qui héberge l'instance IIS contenant les pages de connexion des sites Web nécessitant une authentification. Communique avec le système ADFS lorsqu’il exige une authentification. Généralement accessible au public.
la source