Dela via


Konfigurera AD FS för att autentisera användare som lagras i LDAP-kataloger i Windows Server 2016 eller senare

I följande avsnitt beskrivs den konfiguration som krävs för att aktivera AD FS-infrastrukturen för att autentisera användare vars identiteter lagras i LDAP-kataloger (Lightweight Directory Access Protocol) v3-kompatibla kataloger.

I många organisationer består identitetshanteringslösningar av en kombination av Active Directory, AD LDS eller LDAP-kataloger från tredje part. Med tillägg av AD FS-stöd för autentisering av användare som lagras i LDAP v3-kompatibla kataloger kan du dra nytta av hela AD FS-funktionsuppsättningen i företagsklass oavsett var dina användaridentiteter lagras. AD FS stöder alla LDAP v3-kompatibla kataloger.

Anmärkning

Några av AD FS-funktionerna omfattar enkel inloggning (SSO), enhetsautentisering, flexibla principer för villkorlig åtkomst, stöd för arbete var som helst genom integrering med webbprogramproxyn och sömlös federation med Microsoft Entra som i sin tur gör att du och dina användare kan använda molnet, inklusive Office 365 och andra SaaS-program. För mer information, se Översikt över Active Directory Federation Services.

För att AD FS ska kunna autentisera användare från en LDAP-katalog måste du ansluta den här LDAP-katalogen till AD FS-servergruppen genom att skapa ett lokalt anspråksproviderförtroende. Ett lokalt anspråksproviderförtroende är ett förtroendeobjekt som representerar en LDAP-katalog i din AD FS-servergrupp. Ett lokalt anspråksproviderförtroendeobjekt består av en mängd olika identifierare, namn och regler som identifierar den här LDAP-katalogen för den lokala federationstjänsten.

Du kan stödja flera LDAP-kataloger, var och en med sin egen konfiguration, inom samma AD FS-servergrupp genom att lägga till flera lokala anspråksproviderförtroenden. Dessutom kan AD DS-skogar som inte har förtroende hos skogen där AD FS finns också modelleras som lokala anspråksleverantörsförtroenden. Du kan skapa lokala anspråksproviderförtroenden med hjälp av Windows PowerShell.

LDAP-kataloger (lokala anspråksproviderförtroenden) kan samexistera med AD-kataloger (anspråksproviderförtroenden) på samma AD FS-server, inom samma AD FS-servergrupp. Därför kan en enda instans av AD FS autentisera och auktorisera åtkomst för användare som lagras i både AD- och icke-AD-kataloger.

Endast formulärbaserad autentisering stöds för autentisering av användare från LDAP-kataloger. Certifikatbaserad och integrerad Windows-autentisering stöds inte för autentisering av användare i LDAP-kataloger.

Alla passiva auktoriseringsprotokoll som stöds av AD FS, inklusive SAML, WS-Federation och OAuth stöds också för identiteter som lagras i LDAP-kataloger.

WS-Trust aktivt auktoriseringsprotokoll stöds också för identiteter som lagras i LDAP-kataloger.

Konfigurera AD FS för att autentisera användare som lagras i en LDAP-katalog

Om du vill konfigurera AD FS-servergruppen för att autentisera användare från en LDAP-katalog kan du utföra följande steg:

  1. Konfigurera först en anslutning till din LDAP-katalog med hjälp av cmdleten New-AdfsLdapServerConnection:

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

    Anmärkning

    Vi rekommenderar att du skapar ett nytt anslutningsobjekt för varje LDAP-server som du vill ansluta till. AD FS kan ansluta till flera LDAP-replikservrar och automatiskt växla över om en specifik LDAP-server inte fungerar. I ett sådant fall kan du skapa en AdfsLdapServerConnection för var och en av dessa replik-LDAP-servrar och sedan lägga till matrisen med anslutningsobjekt med parametern -LdapServerConnection för Add-AdfsLocalClaimsProviderTrust cmdlet.

    OBS! Ditt försök att använda Get-Credential och ange ett DN och lösenord som ska användas för att binda till en LDAP-instans kan leda till ett fel på grund av användargränssnittskravet för specifika indataformat, till exempel domän\användarnamn eller user@domain.tld. Du kan i stället använda cmdleten ConvertTo-SecureString enligt följande (exemplet nedan förutsätter uid=admin,ou=system som DN för de autentiseringsuppgifter som ska användas för att binda till LDAP-instansen):

    $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:"
    

    Ange sedan lösenordet för uid=admin och slutför resten av stegen.

  2. Därefter kan du utföra det valfria steget för att mappa LDAP-attribut till befintliga AD FS-anspråk med hjälp av New-AdfsLdapAttributeToClaimMapping cmdlet. I exemplet nedan mappar du attributen givenName, Surname och CommonName LDAP till AD FS-anspråken:

    #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"
    

    Den här mappningen görs för att göra attribut från LDAP-arkivet tillgängliga som anspråk i AD FS för att skapa regler för villkorlig åtkomstkontroll i AD FS. Det gör också att AD FS kan arbeta med anpassade scheman i LDAP-butiker genom att tillhandahålla ett enkelt sätt att mappa LDAP-attribut till anspråk.

  3. Slutligen måste du registrera LDAP-arkivet med AD FS som ett lokalt anspråksproviderförtroende med hjälp av cmdleten 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"
    

    I exemplet ovan skapar du ett lokalt anspråksproviderförtroende med namnet "Leverantörer". Du anger anslutningsinformation för AD FS för att ansluta till den LDAP-katalog som det lokala anspråksproviderförtroendet representerar genom att tilldela $vendorDirectory till parametern -LdapServerConnection. Observera att du i steg ett har tilldelat $vendorDirectory en anslutningssträng som ska användas när du ansluter till din specifika LDAP-katalog. Slutligen anger du att $GivenName, $Surnameoch $CommonName LDAP-attribut (som du mappade till AD FS-anspråken) ska användas för villkorlig åtkomstkontroll, inklusive principer för multifaktorautentisering och utfärdandeauktoriseringsregler, samt för utfärdande via anspråk i AD FS-utfärdade säkerhetstoken. För att kunna använda aktiva protokoll som Ws-Trust med AD FS måste du ange parametern OrganizationalAccountSuffix, som gör det möjligt för AD FS att skilja mellan lokala anspråksproviderförtroenden när du hanterar en aktiv auktoriseringsbegäran.

Se även

AD FS-åtgärder