Konfigurieren von AD FS zum Authentifizieren von Benutzern, die in LDAP-Verzeichnissen in Windows Server 2016 oder höher gespeichert sind

Im folgenden Artikel wird die Konfiguration beschrieben, die erforderlich ist, um Ihre AD FS-Infrastruktur für die Authentifizierung von Benutzern zu aktivieren, deren Identitäten in LDAPv3-konformen (Lightweight Directory Access Protocol) Verzeichnissen gespeichert sind.

In vielen Organisationen bestehen Lösungen zur Identitätsverwaltung aus einer Kombination von Active Directory-, AD LDS- oder Drittanbieter-LDAP-Verzeichnissen. Mit der zusätzlichen AD FS-Unterstützung für die Authentifizierung von Benutzern, die in LDAPv3-konformen Verzeichnissen gespeichert sind, können Sie die AD FS-Features auf Unternehmensniveau unabhängig davon nutzen, wo Ihre Benutzeridentitäten gespeichert sind. AD FS unterstützt jedes LDAPv3-konforme Verzeichnis.

Hinweis

Einige der AD FS-Features umfassen das einmalige Anmelden (Single Sign-On, SSO), die Geräteauthentifizierung, flexible Richtlinien für den bedingten Zugriff, die Möglichkeit des ortsunabhängigen Arbeitens über die Integration mit dem Webanwendungsproxy und einen nahtlosen Verbund mit Microsoft Entra, über den Sie und Ihre Benutzer*innen wiederum die Cloud nutzen können, einschließlich von Office 365 und anderen SaaS-Anwendungen. Weitere Informationen finden Sie unter Übersicht über Active Directory-Verbunddienste.

Damit AD FS Benutzer aus einem LDAP-Verzeichnis authentifiziert, müssen Sie dieses LDAP-Verzeichnis mit Ihrer AD FS-Farm verbinden, indem Sie eine Vertrauensstellung eines lokalen Anspruchsanbieters erstellen. Eine Vertrauensstellung eines lokalen Anbieters ist ein Vertrauensstellungsobjekt, das ein LDAP-Verzeichnis in Ihrer AD FS-Farm darstellt. Ein Vertrauensstellungsobjekt eines lokalen Anbieters besteht aus mehreren IDs, Namen und Regeln, die dieses LDAP-Verzeichnis für den lokalen Verbunddienst identifizieren.

Sie können mehrere LDAP-Verzeichnisse mit eigener Konfiguration innerhalb derselben AD FS-Farm unterstützen, indem Sie mehrere Vertrauensstellungen eines lokalen Anbieters hinzufügen. Darüber hinaus können AD DS-Gesamtstrukturen, denen die Gesamtstruktur, in der die AD FS-Instanz sich befindet, nicht vertraut, auch als Vertrauensstellungen eines lokalen Anbieters modelliert werden. Sie können Vertrauensstellungen eines lokalen Anbieters mithilfe von Windows PowerShell erstellen.

LDAP-Verzeichnisse (Vertrauensstellungen lokaler Anbieter) können zusammen mit AD-Verzeichnissen (Anspruchsanbieter-Vertrauensstellungen) auf demselben AD FS-Server in derselben AD FS-Farm vorhanden sein. Daher ist eine einzelne Instanz von AD FS in der Lage, den Zugriff für Benutzer zu authentifizieren und zu autorisieren, die sowohl in AD- als auch Nicht-AD-Verzeichnissen gespeichert sind.

Nur die formularbasierte Authentifizierung wird für die Authentifizierung von Benutzern aus LDAP-Verzeichnissen unterstützt. Die zertifikatbasierte und integrierte Windows-Authentifizierung wird für die Authentifizierung von Benutzern in LDAP-Verzeichnissen nicht unterstützt.

Alle passiven Autorisierungsprotokolle, die von AD FS unterstützt werden, einschließlich von SAML, WS-Verbund und OAuth, werden auch für Identitäten unterstützt, die in LDAP-Verzeichnissen gespeichert sind.

Das aktive WS-Trust-Autorisierungsprotokoll wird auch für Identitäten unterstützt, die in LDAP-Verzeichnissen gespeichert sind.

Konfigurieren von AD FS zum Authentifizieren von Benutzern, die in einem LDAP-Verzeichnis gespeichert sind

Um Ihre AD FS-Farm so zu konfigurieren, dass Benutzer aus einem LDAP-Verzeichnis authentifiziert werden, müssen Sie die folgenden Schritte ausführen:

  1. Konfigurieren Sie zunächst mithilfe des Cmdlets New-AdfsLdapServerConnection ein LDAP-Verzeichnis:

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

    Hinweis

    Es wird empfohlen, für jeden LDAP-Server, mit dem Sie eine Verbindung herstellen möchten, ein neues Verbindungsobjekt zu erstellen. AD FS kann eine Verbindung mit mehreren Replikat-LDAP-Servern herstellen und automatisch ein Failover ausführen, wenn ein bestimmter LDAP-Server ausgefallen ist. Für einen solchen Fall können Sie eine AdfsLdapServerConnection für jeden dieser Replikat-LDAP-Server erstellen und dann das Array von Verbindungsobjekten mithilfe des Parameters -LdapServerConnection des Add-AdfsLocalClaimsProviderTrust-Cmdlets hinzufügen.

    Hinweis: Ihr Versuch, „Get-Credential“ zu verwenden und einen DN und ein Kennwort einzugeben, die für die Verbindung mit einer LDAP-Instanz verwendet werden sollen, kann zu einem Fehler führen, da die Benutzeroberfläche bestimmte Eingabeformate erfordert, z. B. domain\username oder user@domain.tld. Sie können stattdessen das Cmdlet „ConvertTo-SecureString“ wie folgt verwenden (im folgenden Beispiel wird angenommen, dass „uid=admin,ou=system“ als DN der Anmeldeinformationen verwendet wird, die für die Verbindung zur LDAP-Instanz verwendet werden):

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

    Geben Sie dann das Kennwort für „uid=admin“ ein, und führen Sie die restlichen Schritte durch.

  2. Als Nächstes können Sie den optionalen Schritt der Zuordnung von LDAP-Attributen zu den vorhandenen AD FS-Ansprüchen mithilfe des Cmdlets New-AdfsLdapAttributeToClaimMapping ausführen. Im folgenden Beispiel ordnen Sie den AD FS-Ansprüchen die LDAP-Attribute „givenName“, „Surname“ und „CommonName“ hinzu.

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

    Diese Zuordnung wird vorgenommen, um Attribute aus dem LDAP-Speicher als Ansprüche in AD FS verfügbar zu machen und so Regeln für die bedingte Zugriffssteuerung in AD FS zu erstellen. Außerdem kann AD FS mit benutzerdefinierten Schemas in LDAP-Speichern arbeiten, indem eine einfache Möglichkeit zur Zuordnung von LDAP-Attributen zu Ansprüchen bereitgestellt wird.

  3. Schließlich müssen Sie den LDAP-Speicher bei AD FS als Vertrauensstellung eines lokalen Anbieters registrieren, indem Sie das Cmdlet Add-AdfsLocalClaimsProviderTrust verwenden:

    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"
    

    Im obigen Beispiel erstellen Sie Vertrauensstellung eines lokalen Anbieters mit dem Namen „Vendors“. Sie geben Verbindungsinformationen für AD FS an, um eine Verbindung mit dem LDAP-Verzeichnis herzustellen, das diese Vertrauensstellung des lokalen Anbieters darstellt, indem Sie dem $vendorDirectory zum Parameter -LdapServerConnection zuweisen. Beachten Sie, dass Sie im ersten Schritt $vendorDirectory eine Verbindungszeichenfolge zugewiesen haben, die bei der Verbindung mit Ihrem spezifischen LDAP-Verzeichnis verwendet werden soll. Schließlich legen Sie fest, dass die LDAP-Attribute $GivenName, $Surname und $CommonName (die Sie den AD FS-Ansprüchen zugeordnet haben) für die bedingte Zugriffssteuerung, einschließlich der Richtlinien für die Multi-Faktor-Authentifizierung und der Ausstellungsautorisierungsregeln, sowie für die Ausstellung über Ansprüche in von AD FS ausgegebenen Sicherheitstoken verwendet werden sollen. Um aktive Protokolle wie WS-Trust mit AD FS zu verwenden, müssen Sie den Parameter „OrganizationalAccountSuffix“ angeben, mit dem AD FS in der Lage ist, bei der Verarbeitung einer aktiven Autorisierungsanforderung zwischen Vertrauensstellungen lokaler Anbieter zu unterscheiden.

Weitere Informationen

AD FS-Vorgänge