Compartir a través de


Configurar AD FS para autenticar a los usuarios almacenados en directorios LDAP en Windows Server 2016 o posterior

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

En muchas organizaciones, las soluciones de administración de identidades constan de una combinación de directorios LDAP de Active Directory, AD LDS o de terceros. Con la adición de compatibilidad con AD FS para autenticar a los usuarios almacenados en directorios compatibles 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 compatible 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 compatibilidad con el trabajo desde cualquier lugar a través de la integración con el proxy de aplicación web y la federación sin problemas con Microsoft Entra, lo que a su vez permite a usted y a los usuarios usar la nube, incluidas Office 365 y otras aplicaciones SaaS. Para obtener más información, consulte Introducción a los Servicios de federación de Active Directory.

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 del proveedor de declaraciones local consta de diversos identificadores, nombres y reglas que identifican este directorio LDAP para el servicio de federación local.

Puede admitir varios directorios LDAP, cada uno con su propia configuración, en la misma granja de servidores AD FS agregando varias relaciones de confianza con proveedores de notificaciones locales. 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 locales) 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 es capaz de autenticar y autorizar el acceso para los usuarios que se almacenan en directorios de AD y no AD.

Solo se admite la autenticación basada en formularios para autenticar a los usuarios de directorios LDAP. No se admite la autenticación integrada ni basada en certificados de Windows para autenticar a los usuarios en directorios LDAP.

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

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

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

Para configurar la granja de AD FS para autenticar a los usuarios desde un directorio LDAP, puede completar los pasos siguientes:

  1. En primer lugar, configure una conexión al directorio LDAP mediante 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 quiera conectarse. AD FS puede conectarse a varios servidores LDAP de réplica y conmutar automáticamente en caso de que un servidor LDAP específico esté inactivo. En este caso, puede crear un AdfsLdapServerConnection para cada uno de estos servidores LDAP de réplica y, a continuación, agregar la matriz de objetos de conexión mediante el parámetro -LdapServerConnection del cmdlet Add-AdfsLocalClaimsProviderTrust .

    NOTA: El intento de usar Get-Credential y escribir un DN y una contraseña que se usarán para enlazar a una instancia LDAP podría dar lugar a un error debido al requisito de la interfaz de usuario para formatos de entrada específicos, por ejemplo, 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 uid=admin,ou=system como DN de las credenciales que se usarán para enlazar a la instancia 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:"
    

    A continuación, escriba la contraseña para uid=admin y complete el resto de los pasos.

  2. A continuación, puede realizar el paso opcional de asignación de atributos LDAP a las notificaciones de AD FS existentes mediante el cmdlet New-AdfsLdapAttributeToClaimMapping . En el ejemplo siguiente, se relacionan los atributos LDAP givenName, Surname y CommonName con las afirmaciones 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 fácil de asignar atributos LDAP a declaraciones.

  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 paso uno, ha asignado $vendorDirectory una cadena de conexión que se usará al 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.

Véase también

Operaciones de AD FS