共用方式為


設定 AD FS 以驗證儲存在 Windows Server 2016 或更新版本中 LDAP 目錄中的使用者

下列主題描述讓您的 AD FS 基礎結構能夠驗證身分識別儲存在羽量型目錄存取通訊協定 (LDAP) v3 相容目錄的使用者所需的設定。

在許多組織中,身分識別管理解決方案是由 Active Directory、AD LDS 或第三方 LDAP 目錄的組合所組成。 新增 AD FS 支援來驗證儲存在 LDAP v3 相容目錄中的使用者,您可以受益於整個企業級 AD FS 功能集,而不論您的使用者身分識別儲存在哪裡。 AD FS 支援任何符合LDAP v3規範的目錄。

備註

某些 AD FS 功能包括單一登錄(SSO)、裝置驗證、彈性條件式存取原則,透過與 Web 應用程式 Proxy 的整合來支援從任何地方工作的能力,並與 Microsoft Entra 無縫聯盟,進而讓您和您的用戶可以利用雲端服務,包括 Office 365 和其他 SaaS 應用程式。 如需詳細資訊,請參閱 Active Directory 同盟服務概觀

若要讓 AD FS 驗證 LDAP 目錄中的使用者,您必須建立 本機宣告提供者信任,將此 LDAP 目錄連線到 AD FS 伺服器陣列。 本地宣告提供者信任是表示您 AD FS 伺服器陣列中的 LDAP 目錄的信任物件。 本機聲明提供者信任物件由各種識別碼、名稱和規則組成,這些元素用來識別此 LDAP 目錄與本機同盟服務。

您可以在相同的 AD FS 伺服器農場中,藉由新增多個 本機宣告提供者信任,來支援多個 LDAP 目錄,每個目錄都有自己的組態。 此外,不被 AD FS 所在的樹系信任的 AD DS 樹系也可以被設定為本機宣告提供者信任。 您可以使用 Windows PowerShell 建立本地宣告提供者信任。

LDAP 目錄(本機宣告提供者信任)可以與同一 AD FS 伺服器中同一 AD FS 伺服器場中的 AD 目錄(宣告提供者信任)共存,因此,單一 AD FS 實例能夠驗證和授權存放於 AD 和非 AD 目錄之中的使用者的存取權。

只有表單型驗證支援從LDAP目錄驗證使用者。 不支援憑證型和整合式 Windows 驗證,以驗證 LDAP 目錄中的使用者。

AD FS 支援的所有被動授權通訊協定,包括 SAML、WS-Federation 和 OAuth,也支援儲存在 LDAP 目錄中的身分識別。

對於儲存在 LDAP 目錄中的身分識別,也支援 WS-Trust 活動授權協定。

設定 AD FS 來驗證儲存在 LDAP 目錄中的使用者

若要設定 AD FS 伺服器陣列來驗證 LDAP 目錄中的使用者,您可以完成下列步驟:

  1. 首先,使用 New-AdfsLdapServerConnection Cmdlet 設定 LDAP 目錄的連線:

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

    備註

    建議您為每個要連線的LDAP伺服器建立新的連接物件。 AD FS 可以連線到多個復本 LDAP 伺服器,並在特定 LDAP 伺服器關閉時自動轉移至備援伺服器。 在這種情況下,您可以為每個復本 LDAP 伺服器建立一個 AdfsLdapServerConnection,然後使用 Add-AdfsLocalClaimsProviderTrust Cmdlet 的 -LdapServerConnection 參數來新增連線物件的數組。

    注意: 您嘗試使用 Get-Credential 並輸入用於綁定到 LDAP 實例的 DN 和密碼可能會失敗,這是因為使用者介面的需求是特定的輸入格式,例如 domain\username 或 user@domain.tld。 您可以改用 ConvertTo-SecureString Cmdlet,如下所示(下列範例假設 uid=admin,ou=system 作為要用來系結至 LDAP 實例的認證 DN):

    $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. 接下來,您可以使用 New-AdfsLdapAttributeToClaimMapping cmdlet,執行一個選擇性步驟,將 LDAP 屬性對應至現有 AD FS 宣告。 在下列範例中,您會將 givenName、Surname 和 CommonName 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"
    

    為了在 AD FS 中建立條件式存取控制規則,讓 LDAP 存放區中的屬性可用為 AD FS 中的宣告,即可進行此對應。 它還可讓 AD FS 與 LDAP 存放區中的自定義架構協作,透過提供簡單的方法將 LDAP 屬性映射到宣告上。

  3. 最後,您必須使用 Add-AdfsLocalClaimsProviderTrust cmdlet,將 LDAP 存放區註冊為本機宣告提供者信任:

    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 參數。 請注意,在步驟一中,您已指派 $vendorDirectory 連線到特定 LDAP 目錄時要使用的連接字串。 最後,您會指定 $GivenName$Surname$CommonName LDAP 屬性(對應至 AD FS 宣告)用於條件式存取控制,包括多重要素驗證原則和發行授權規則,以及透過 AD FS 核發安全性令牌中的宣告發行。 若要搭配 AD FS 使用像是 Ws-Trust 的活動通訊協定,您必須指定 OrganizationalAccountSuffix 參數,這可讓 AD FS 在服務主動授權要求時區分不同的本機宣告提供者信任。

另請參閱

AD FS 作業