Configuración de AD FS para autenticar a los usuarios almacenados en directorios LDAP en Windows Server 2016 o posterior

En este tema se describe la configuración necesaria para que la infraestructura de AD FS autentique a los usuarios cuyas identidades se almacenan en directorios conformes con el protocolo ligero de acceso a directorios (LDAP) v3.

En muchas organizaciones, las soluciones de administración de identidades son una combinación de Active Directory, AD LDS o directorios LDAP de terceros. Gracias a la funcionalidad de AD FS para autenticar usuarios almacenados en directorios conformes con LDAP v3, puede beneficiarse de todo el conjunto de características de AD FS de nivel empresarial, independientemente de dónde se almacenen las identidades de usuario. AD FS admite cualquier directorio conforme con LDAP v3.

Nota:

Algunas de las características de AD FS incluyen el inicio de sesión único (SSO), la autenticación de dispositivos, las directivas de acceso condicional flexibles, la posibilidad de trabajar desde cualquier lugar gracias a la integración con el Proxy de aplicación web y la federación fluida con Microsoft Entra, que a su vez les permite a usted y a sus usuarios utilizar la nube, incluidos Office 365 y otras aplicaciones SaaS. Para obtener más información, consulte Introducción a AD FS.

Para que AD FS autentique a los usuarios de un directorio LDAP, debe conectar ese directorio LDAP a la granja de AD FS mediante la creación de una confianza de proveedor de notificaciones local. Una confianza de proveedor de notificaciones local es un objeto de confianza que representa un directorio LDAP en la granja de AD FS. Un objeto de confianza de proveedor de notificaciones local consta de una serie de identificadores, nombres y reglas que identifican ese directorio LDAP en el servicio de federación local.

Puede admitir varios directorios LDAP, cada uno con su propia configuración, dentro de la misma granja de AD FS. Para ello, agregue varias confianzas de proveedor de notificaciones local. Además, los bosques de AD DS que no son de confianza en el bosque donde reside AD FS también se pueden modelar como confianzas del proveedor de notificaciones local. Puede crear confianzas de proveedor de notificaciones local con Windows PowerShell.

Los directorios LDAP (confianzas de proveedor de notificaciones local) pueden coexistir con directorios de AD (confianzas de proveedor de notificaciones) en el mismo servidor de AD FS, dentro de la misma granja de AD FS, por lo que una única instancia de AD FS puede autenticar y autorizar el acceso de los usuarios almacenados en directorios de AD y que no sean de AD.

Solo se admite la autenticación basada en formularios para autenticar usuarios de directorios LDAP. La autenticación basada en certificados y la autenticación integrada de Windows no se admiten para la autenticación de usuarios de directorios LDAP.

Todos los protocolos de autorización pasiva compatibles con AD FS, incluidos SAML, WS-Federation y OAuth, se admiten también para identidades almacenadas en directorios LDAP.

El protocolo de autorización activa WS-Trust también se admite para las identidades almacenadas en directorios LDAP.

Configuración de AD FS para autenticar a usuarios almacenados en un directorio LDAP

Para configurar una granja de AD FS con el fin de autenticar a los usuarios de un directorio LDAP, siga estos pasos:

  1. En primer lugar, configure una conexión al directorio LDAP usando el cmdlet New-AdfsLdapServerConnection:

    $DirectoryCred = Get-Credential
    $vendorDirectory = New-AdfsLdapServerConnection -HostName dirserver -Port 50000 -SslMode None -AuthenticationMethod Basic -Credential $DirectoryCred
    

    Nota

    Se recomienda crear un nuevo objeto de conexión para cada servidor LDAP al que desee conectarse. AD FS puede conectarse a varios servidores LDAP de réplica y conmutar por error automáticamente en el caso de que un servidor LDAP específico deje de funcionar. En este caso, puede crear una conexión AdfsLdapServerConnection para cada uno de estos servidores LDAP de réplica y, a continuación, agregar la matriz de objetos de conexión con el parámetro -LdapServerConnection del cmdlet Add-AdfsLocalClaimsProviderTrust.

    NOTA: Si intenta usar Get-Credential y escribir un DN y una contraseña para establecer un enlace con una instancia de LDAP, puede producir un error, porque la interfaz de usuario requiere formatos de entrada específicos, como dominio\nombreDeUsuario o user@domain.tld. En su lugar, puede usar el cmdlet ConvertTo-SecureString como se indica a continuación (en el ejemplo siguiente se supone que uid=admin, ou=system como DN de las credenciales que se van a usar para el enlace con la instancia de LDAP):

    $ldapuser = ConvertTo-SecureString -string "uid=admin,ou=system" -asplaintext -force
    $DirectoryCred = Get-Credential -username $ldapuser -Message "Enter the credentials to bind to the LDAP instance:"
    

    Después, escriba la contraseña de uid=admin y realice los demás pasos.

  2. A continuación, puede realizar el paso opcional de asignar atributos LDAP a las notificaciones de AD FS usando el cmdlet New-AdfsLdapAttributeToClaimMapping. En el ejemplo siguiente, se asignan los atributos LDAP givenName, Surname y CommonName a las notificaciones de AD FS:

    #Map given name claim
    $GivenName = New-AdfsLdapAttributeToClaimMapping -LdapAttribute givenName -ClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"
    # Map surname claim
    $Surname = New-AdfsLdapAttributeToClaimMapping -LdapAttribute sn -ClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"
    # Map common name claim
    $CommonName = New-AdfsLdapAttributeToClaimMapping -LdapAttribute cn -ClaimType "http://schemas.xmlsoap.org/claims/CommonName"
    

    Esta asignación se realiza para que los atributos del almacén LDAP estén disponibles como notificaciones en AD FS para crear reglas de control de acceso condicional en AD FS. También permite que AD FS funcione con esquemas personalizados en almacenes LDAP proporcionando una manera sencilla de asignar atributos LDAP a notificaciones.

  3. Por último, debe registrar el almacén LDAP en AD FS como confianza de proveedor de notificaciones local por medio del cmdlet Add-AdfsLocalClaimsProviderTrust:

    Add-AdfsLocalClaimsProviderTrust -Name "Vendors" -Identifier "urn:vendors" -Type Ldap
    
    # Connection info
    -LdapServerConnection $vendorDirectory
    
    # How to locate user objects in directory
    -UserObjectClass inetOrgPerson -UserContainer "CN=VendorsContainer,CN=VendorsPartition" -LdapAuthenticationMethod Basic
    
    # Claims for authenticated users
    -AnchorClaimLdapAttribute mail -AnchorClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" -LdapAttributeToClaimMapping @($GivenName, $Surname, $CommonName)
    
    # General claims provider properties
    -AcceptanceTransformRules "c:[Type != ''] => issue(claim=c);" -Enabled $true
    
    # Optional - supply user name suffix if you want to use Ws-Trust
    -OrganizationalAccountSuffix "vendors.contoso.com"
    

    En el ejemplo anterior, crea una confianza de proveedor de notificaciones local denominada "Proveedores". Especifica información de conexión para que AD FS se conecte al directorio LDAP que representa esta confianza de proveedor de notificaciones local asignando $vendorDirectory al parámetro -LdapServerConnection. Tenga en cuenta que, en el primer paso, le ha asignado a $vendorDirectory una cadena de conexión para conectarse a su directorio LDAP específico. Por último, especifica que los atributos LDAP $GivenName, $Surname y $CommonName (que había asignado a las notificaciones de AD FS) deben usarse para el control de acceso condicional, incluidas las directivas de autenticación multifactor y las reglas de autorización de emisión, y para la emisión por medio de notificaciones en tokens de seguridad emitidos por AD FS. Para usar protocolos activos, como Ws-Trust, con AD FS, debe especificar el parámetro OrganizationalAccountSuffix, que permite a AD FS eliminar la ambigüedad entre confianzas de proveedor de notificaciones local al atender una solicitud de autorización activa.

Consulte también

Operaciones de AD FS