Así que me han dicho que nuestra aplicación PHP puede necesitar admitir autenticación usando ADFS.
Para una persona que no es de Microsoft, ¿qué es ADFS?
¿En qué se diferencia de cosas como LDAP?
¿Como funciona? ¿Qué tipo de información se incluiría en una solicitud típica a un servidor ADFS? ¿Está diseñado para autenticación y autorización?
¿Los servidores ADFS suelen ser accesibles desde Internet (mientras que los controladores de dominio AD corporativos no lo serían)?
Intenté leer algunos de los documentos de Technet, pero está lleno de Microsoft-speak que no es de gran ayuda.
Wikipedia es mejor (ver más abajo), pero quizás parte de la comunidad ServerFault puede llenar algunos de los vacíos.
Active Directory Federation Services (ADFS) es un componente de software desarrollado por Microsoft que se puede instalar en los sistemas operativos Windows Server para proporcionar a los usuarios acceso de inicio de sesión único a sistemas y aplicaciones ubicados más allá de los límites de la organización. Utiliza un modelo de autorización de control de acceso basado en notificaciones para mantener la seguridad de la aplicación e implementar la identidad federada.
La autenticación basada en reclamos es el proceso de autenticación de un usuario basado en un conjunto de reclamos sobre su identidad contenida en un token de confianza.
En ADFS, la federación de identidad se establece entre dos organizaciones al establecer la confianza entre dos reinos de seguridad. Un servidor de federación en un lado (el lado de Cuentas) autentica al usuario a través de los medios estándar en los Servicios de dominio de Active Directory y luego emite un token que contiene una serie de reclamos sobre el usuario, incluida su identidad. Por otro lado, en el lado de Recursos, otro servidor de federación valida el token y emite otro token para que los servidores locales acepten la identidad reclamada. Esto permite que un sistema proporcione acceso controlado a sus recursos o servicios a un usuario que pertenece a otro ámbito de seguridad sin requerir que el usuario se autentique directamente en el sistema y sin que los dos sistemas compartan una base de datos de identidades de usuario o contraseñas.
En la práctica, el usuario suele percibir este enfoque de la siguiente manera:
- El usuario inicia sesión en su PC local (como lo haría normalmente al comenzar a trabajar por la mañana)
- El usuario debe obtener información en el sitio web de extranet de una empresa asociada, por ejemplo, para obtener información sobre precios o productos.
- El usuario navega al sitio de extranet de la empresa asociada, por ejemplo: http://example.com
- El sitio web del socio ahora no requiere que se ingrese ninguna contraseña; en cambio, las credenciales de usuario se pasan al sitio de la extranet del socio mediante AD FS
- El usuario ahora ha iniciado sesión en el sitio web asociado y puede interactuar con el sitio web 'conectado'
De https://en.wikipedia.org/wiki/Active_Directory_Federation_Services
fuente
Respuestas:
ADFS es la solución de Microsoft para el inicio de sesión único y la autenticación basada en web.
Se utiliza principalmente para proporcionar un conjunto único de credenciales que pueden acceder a una variedad de sitios que no necesariamente están alojados en el mismo dominio.
LDAP:
mod_authnz_ldap
.ADFS:
Ver también esta respuesta sobre el tema.
Funciona al tener un solo sitio (sitio A) que aloja los servidores proxy ADFS / ADFS, que tiene acceso a las credenciales (generalmente comunicándose con un controlador de dominio de Active Directory). Luego se le otorga una confianza entre otros sitios (sitios B y C) que requieren autenticación a través del ADFS.
Cuando un usuario intenta acceder al sitio B en su navegador, el sitio redirige al usuario al sitio web de proxy ADFS (sitio A) que solicita su nombre de usuario y contraseña, los autentica, devuelve un conjunto de cookies para recordarlos y los redirige volver al sitio B, junto con un token de acceso.
Si el usuario intenta visitar el sitio C, también será redirigido al sitio A para la autenticación del sitio web de proxy ADFS. Si existen las cookies correctas, no se requerirá que el usuario ingrese su contraseña nuevamente, sino que será redirigido instantáneamente al sitio C con un token.
El ADFS se puede configurar con reclamos específicos (o permisos) para el usuario, con fines de autorización. Por lo tanto, puede cumplir ambos roles. (Tenga en cuenta la diferencia entre autenticación y autorización ).
Algunas personas prefieren no usarlo para autorización, sino que mantienen la administración de permisos en el sitio web de terceros. El inconveniente obvio es que tanto el sitio A como el B deben realizar un seguimiento de las cuentas de los usuarios, mientras que en el escenario en el que ADFS maneja ambos, solo el ADFS debe conocer a los usuarios.
Si, casi siempre. ADFS se basa en la noción de que se utilizará principalmente para la autenticación de sitios web. Y está construido alrededor de IIS.
El sitio de proxy ADFS es el que generalmente es accesible desde Internet. Sin embargo, el ADFS en sí no lo es. El ADFS es generalmente un servidor separado del proxy ADFS.
que se vincula a las credenciales y tiene la configuración de notificaciones, así como las confianzas. Generalmente no accesible al público.
Servidor que aloja la instancia de IIS que tiene las páginas de inicio de sesión para los sitios web que requieren autenticación. Se comunica de nuevo con el ADFS cuando se requiere autenticación. Generalmente accesible al público.
fuente