Настройка AD FS для проверки подлинности пользователей, хранящихся в каталогах LDAP в Windows Server 2016 или более поздней версии

В следующем разделе описывается конфигурация, необходимая для включения инфраструктуры AD FS для проверки подлинности пользователей, удостоверения которых хранятся в каталогах, совместимых с протоколом LDAP версии 3.

Во многих организациях решения по управлению удостоверениями состоят из сочетания каталогов Active Directory, AD LDS или сторонних каталогов LDAP. Благодаря добавлению поддержки AD FS для проверки подлинности пользователей, хранящихся в каталогах, совместимых с LDAP версии 3, вы можете воспользоваться всеми наборами функций AD FS корпоративного класса независимо от того, где хранятся удостоверения пользователей. AD FS поддерживает любой каталог, совместимый с LDAP версии 3.

Примечание.

Некоторые функции AD FS включают единый вход (SSO), проверку подлинности устройств, гибкие политики условного доступа, поддержку работы из любого места через интеграцию с прокси-сервером веб-приложения и простую федерацию с Microsoft Entra, которая, в свою очередь, позволяет вам и пользователям использовать облако, включая Office 365 и другие приложения SaaS. Дополнительные сведения см. в разделе службы федерации Active Directory (AD FS) Обзор.

Чтобы AD FS проверял подлинность пользователей из каталога LDAP, необходимо подключить этот каталог LDAP к ферме AD FS, создав доверие локального поставщика утверждений. Доверие локального поставщика утверждений — это объект доверия, представляющий каталог LDAP в ферме AD FS. Локальный объект доверия поставщика утверждений состоит из различных идентификаторов, имен и правил, определяющих этот каталог LDAP в локальной службе федерации.

Вы можете поддерживать несколько каталогов LDAP, каждый из которых имеет собственную конфигурацию, в одной ферме AD FS, добавив несколько локальных доверенных поставщиков утверждений. Кроме того, леса AD DS, которые не являются доверенными лесом, в которых живет AD FS, также можно моделировать как доверие локального поставщика утверждений. Вы можете создать доверие локального поставщика утверждений с помощью Windows PowerShell.

Каталоги LDAP (отношения доверия локальных поставщиков утверждений) могут существовать с каталогами AD (доверия поставщиков утверждений) на одном сервере AD FS в той же ферме AD FS, поэтому один экземпляр AD FS может выполнять проверку подлинности и авторизацию доступа для пользователей, хранящихся в каталогах AD и не AD.

Для проверки подлинности пользователей из каталогов LDAP поддерживается только проверка подлинности на основе форм. Интегрированные проверка подлинности Windows на основе сертификатов не поддерживаются для проверки подлинности пользователей в каталогах LDAP.

Все протоколы пассивной авторизации, поддерживаемые AD FS, включая SAML, WS-Federation и OAuth, также поддерживаются для удостоверений, хранящихся в каталогах LDAP.

Протокол активной авторизации WS-Trust также поддерживается для удостоверений, хранящихся в каталогах LDAP.

Настройка AD FS для проверки подлинности пользователей, хранящихся в каталоге LDAP

Чтобы настроить ферму AD FS для проверки подлинности пользователей из каталога LDAP, выполните следующие действия.

  1. Сначала настройте подключение к каталогу LDAP с помощью командлета New-AdfsLdapServer Подключение ion:

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

    Примечание.

    Рекомендуется создать новый объект подключения для каждого сервера LDAP, к которому требуется подключиться. AD FS может подключаться к нескольким реплика серверам LDAP и автоматически выполнять отработку отказа в случае сбоя конкретного сервера LDAP. В таком случае можно создать один AdfsLdapServer Подключение ion для каждого из этих реплика серверов LDAP, а затем добавить массив объектов подключения с помощью параметра -LdapServer Подключение ion командлета Add-AdfsLocalClaimsProviderTrust.

    ПРИМЕЧАНИЕ. Попытка использовать get-Credential и введите в DN и пароль, которые будут использоваться для привязки к экземпляру LDAP, может привести к сбою из-за требования пользовательского интерфейса для определенных форматов входных данных, например domain\username или user@domain.tld. Вместо этого можно использовать командлет ConvertTo-SecureString следующим образом (в приведенном ниже примере предполагается uid=admin,ou=system в качестве DN учетных данных, которые будут использоваться для привязки к экземпляру 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:"
    

    Затем введите пароль для uid=admin и выполните остальные действия.

  2. Затем можно выполнить необязательный шаг сопоставления атрибутов LDAP с существующими утверждениями AD FS с помощью командлета New-AdfsLdapAttributeToClaimMapping . В приведенном ниже примере вы сопоставляете атрибуты LDAP с атрибутами LDAP с утверждениями 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"
    

    Это сопоставление выполняется для того, чтобы сделать атрибуты из хранилища LDAP доступными в качестве утверждений в AD FS, чтобы создать правила условного управления доступом в AD FS. Она также позволяет AD FS работать с пользовательскими схемами в хранилищах LDAP, предоставляя простой способ сопоставления атрибутов LDAP с утверждениями.

  3. Наконец, необходимо зарегистрировать хранилище LDAP в AD FS в качестве локального доверия поставщика утверждений с помощью командлета 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"
    

    В приведенном выше примере вы создаете доверие локального поставщика утверждений с именем "Поставщики". Вы указываете сведения о подключении ad FS для подключения к каталогу LDAP, который представляет доверие локального поставщика утверждений, назначая $vendorDirectory параметру -LdapServerConnection . Обратите внимание, что на шаге 1 вы назначили $vendorDirectory строка подключения использовать при подключении к конкретному каталогу LDAP. Наконец, вы указываете, что $GivenName$Surname$CommonName атрибуты LDAP (сопоставленные с утверждениями AD FS) должны использоваться для условного контроля доступа, включая многофакторную проверку подлинности и правила авторизации выдачи, а также для выдачи с помощью утверждений в маркерах безопасности, выданных AD FS. Чтобы использовать активные протоколы, такие как Ws-Trust с AD FS, необходимо указать параметр ОрганизацииAccountSuffix, который позволяет AD FS диффугировать между локальными поставщиками утверждений доверия при обслуживании активного запроса авторизации.

См. также

Операции AD FS