Compartilhar via


Configurar o AD FS para autenticar usuários armazenados em diretórios LDAP no Windows Server 2016 ou posterior

O tópico a seguir descreve a configuração necessária para habilitar sua infraestrutura do AD FS para autenticar usuários cujas identidades são armazenadas em diretórios compatíveis com LDAP (Lightweight Directory Access Protocol).

Em muitas organizações, as soluções de gerenciamento de identidade consistem em uma combinação de Active Directory, AD LDS ou diretórios LDAP de terceiros. Com a adição do suporte do AD FS para autenticar usuários armazenados em diretórios compatíveis com LDAP v3, você pode se beneficiar de todo o conjunto de recursos do AD FS de nível empresarial, independentemente de onde suas identidades de usuário estão armazenadas. O AD FS dá suporte a qualquer diretório compatível com LDAP v3.

Note

Alguns dos recursos do AD FS incluem SSO (logon único), autenticação de dispositivo, políticas de acesso condicional flexíveis, suporte para trabalho de qualquer lugar por meio da integração com o Proxy de Aplicativo Web e federação perfeita com o Microsoft Entra, que, por sua vez, permite que você e seus usuários utilizem a nuvem, incluindo o Office 365 e outros aplicativos SaaS. Para obter mais informações, consulte a Visão geral dos Serviços de Federação do Active Directory.

Para que o AD FS autentique usuários de um diretório LDAP, será necessário conectar esse diretório LDAP ao farm do AD FS criando um objeto de confiança do provedor de declarações local. Um objeto de confiança do provedor de declarações local é um objeto de confiança que representa um diretório LDAP no farm do AD FS. Um objeto de confiança do provedor de declarações local consiste em uma variedade de identificadores, nomes e regras que identificam esse diretório LDAP para o serviço de federação local.

É possível dar suporte a vários diretórios LDAP, cada um com sua própria configuração, no mesmo farm do AD FS adicionando vários objetos de confiança do provedor de declarações locais. Além disso, florestas do AD DS que não são confiáveis pela floresta em que o AD FS reside também poderão ser modeladas como objetos de confiança do provedor de declarações local. Você pode criar relações de confiança do provedor de declarações local usando o Windows PowerShell.

Os diretórios LDAP (relações de confiança do provedor de declarações locais) podem coexistir com diretórios do AD (relações de confiança do provedor de declarações) no mesmo servidor do AD FS, no mesmo farm do AD FS, portanto, uma única instância do AD FS é capaz de autenticar e autorizar o acesso para usuários armazenados em diretórios AD e não AD.

Somente a autenticação baseada em formulários tem suporte para autenticar usuários de diretórios LDAP. Não há suporte para autenticação integrada e baseada em certificado do Windows para autenticar usuários em diretórios LDAP.

Todos os protocolos de autorização passiva compatíveis com o AD FS, incluindo SAML, WS-Federation e OAuth, também têm suporte para identidades armazenadas em diretórios LDAP.

O WS-Trust protocolo de autorização ativo também tem suporte para identidades armazenadas em diretórios LDAP.

Configurar o AD FS para autenticar usuários armazenados em um diretório LDAP

Para configurar seu farm do AD FS para autenticar usuários de um diretório LDAP, você pode concluir as seguintes etapas:

  1. Primeiro, configure uma conexão com o diretório LDAP usando o cmdlet New-AdfsLdapServerConnection :

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

    Note

    É recomendável que você crie um novo objeto de conexão para cada servidor LDAP ao qual deseja se conectar. O AD FS pode se conectar a vários servidores LDAP de réplica e fazer failover automaticamente caso um servidor LDAP específico esteja inativo. Para esse caso, você pode criar um AdfsLdapServerConnection para cada um desses servidores LDAP de réplica e, em seguida, adicionar a matriz de objetos de conexão usando o parâmetro -LdapServerConnection do cmdlet Add-AdfsLocalClaimsProviderTrust .

    NOTA: Sua tentativa de usar Get-Credential e digitar um DN e uma senha a serem usados para associar a uma instância LDAP pode resultar em uma falha devido ao requisito de interface do usuário para formatos de entrada específicos, por exemplo, domínio\nome de usuário ou user@domain.tld. Em vez disso, você pode usar o cmdlet ConvertTo-SecureString da seguinte maneira (o exemplo a seguir pressupõe uid=admin,ou=system como o DN das credenciais a serem usadas para associar à instância 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:"
    

    Em seguida, insira a senha para o uid=admin e conclua o restante das etapas.

  2. Em seguida, você pode executar a etapa opcional de mapeamento de atributos LDAP para as declarações existentes do AD FS usando o cmdlet New-AdfsLdapAttributeToClaimMapping . No exemplo abaixo, você mapeia atributos givenName, Surname e CommonName LDAP para as declarações do 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"
    

    Esse mapeamento é feito para disponibilizar atributos do repositório LDAP como declarações no AD FS para criar regras de controle de acesso condicional no AD FS. Ele também permite que o AD FS trabalhe com esquemas personalizados em repositórios LDAP fornecendo uma maneira fácil de mapear atributos LDAP para declarações.

  3. Por fim, você deve registrar o repositório LDAP com o AD FS como uma confiança do provedor de declarações local usando o 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"
    

    No exemplo acima, você está criando um truste de provedor de declarações local chamado "Fornecedores". Você está especificando informações de conexão para o AD FS se conectar ao diretório LDAP que esse objeto de confiança do provedor de declarações local representa atribuindo $vendorDirectory ao parâmetro -LdapServerConnection. Observe que, na primeira etapa, você atribuiu $vendorDirectory uma cadeia de conexão a ser usada ao se conectar ao diretório LDAP específico. Por fim, você está especificando que os atributos LDAP $GivenName, $Surname e $CommonName (que você mapeou para as declarações do AD FS) devem ser usados para controle de acesso condicional, incluindo políticas de autenticação multifator e regras de autorização de emissão, bem como para emissão por meio de declarações em tokens de segurança emitidos pelo AD FS. Para utilizar protocolos ativos como Ws-Trust com o AD FS, será necessário especificar o parâmetro OrganizationalAccountSuffix, que habilitará o AD FS para remover a ambiguidade entre os objetos de confiança do provedor de declarações local ao atender uma solicitação de autorização ativa.

Consulte Também

Operações do AD FS