Configurer les services AD FS pour authentifier les utilisateurs stockés dans les annuaires LDAP dans Windows Server 2016 ou version ultérieure
La rubrique suivante décrit la configuration requise pour permettre à votre infrastructure AD FS d’authentifier les utilisateurs dont les identités sont stockées dans des annuaires conformes au protocole LDAP (Lightweight Directory Access Protocol) v3.
Dans de nombreuses organisations, les solutions de gestion des identités se composent d’une combinaison d’Active Directory, d’AD LDS ou d’annuaires LDAP tiers. Avec l’ajout de la prise en charge d’AD FS pour l’authentification des utilisateurs stockés dans des annuaires conformes au LDAP v3, vous pouvez tirer parti de l’ensemble des fonctionnalités AD FS de niveau entreprise, quel que soit l’emplacement où sont stockées les identités de vos utilisateurs. Les services AD FS prennent en charge tout annuaire conforme au LDAP v3.
Remarque
Certaines des fonctionnalités AD FS incluent l'authentification unique (SSO), l'authentification de l'appareil, les stratégies d'accès conditionnel flexibles, la prise en charge du travail en tout lieu via l'intégration avec le proxy d'application Web et la fédération transparente avec Microsoft Entra qui, à son tour, vous permet à vous et à vos utilisateurs d'utiliser le cloud, y compris Office 365 et d'autres applications SaaS. Pour plus d’informations, consultez Vue d’ensemble des services de fédération Active Directory (AD FS).
Pour que les services AD FS authentifient les utilisateurs à partir d’un annuaire LDAP, vous devez connecter cet annuaire LDAP à votre batterie de serveurs AD FS en créant une approbation de fournisseur de revendications locales. Une approbation de fournisseur de revendications locales est un objet d’approbation qui représente un annuaire LDAP dans votre batterie de serveurs AD FS. Un objet d’approbation de fournisseur de revendications locales se compose d’un ensemble d’identificateurs, de noms et de règles qui identifient cet annuaire LDAP auprès du service de fédération local.
Vous pouvez prendre en charge plusieurs annuaires LDAP, chacun avec sa propre configuration, au sein de la même batterie de serveurs AD FS en ajoutant plusieurs approbations de fournisseur de revendications locales. En outre, les forêts AD DS qui ne sont pas approuvées par la forêt dans laquelle réside AD FS peuvent également être modélisées comme des approbations de fournisseur de revendications locales. Vous pouvez créer des approbations de fournisseur de revendications locales à l’aide de Windows PowerShell.
Les annuaires LDAP (approbations de fournisseur de revendications locales) peuvent coexister avec les annuaires AD (approbations de fournisseur de revendications) sur le même serveur AD FS, au sein de la même batterie de serveurs AD FS. Par conséquent, une seule instance d’AD FS est capable d’authentifier et d’autoriser l’accès pour les utilisateurs stockés dans des annuaires AD et non AD.
Seule l’authentification basée sur les formulaires est prise en charge pour l’authentification des utilisateurs à partir d’annuaires LDAP. L’authentification basée sur un certificat et l’authentification Windows intégrée ne sont pas prises en charge pour l’authentification des utilisateurs dans les annuaires LDAP.
Tous les protocoles d’autorisation passive pris en charge par les services AD FS, notamment SAML, WS-Federation et OAuth, sont également pris en charge pour les identités stockées dans des annuaires LDAP.
Le protocole d’autorisation actif WS-Trust est également pris en charge pour les identités stockées dans des annuaires LDAP.
Configurer AD FS pour authentifier les utilisateurs stockés dans un annuaire LDAP
Pour configurer votre batterie de serveurs AD FS afin d’authentifier les utilisateurs à partir d’un annuaire LDAP, vous pouvez effectuer les étapes suivantes :
Tout d’abord, configurez une connexion à votre annuaire LDAP à l’aide de l’applet de commande New-AdfsLdapServerConnection :
$DirectoryCred = Get-Credential $vendorDirectory = New-AdfsLdapServerConnection -HostName dirserver -Port 50000 -SslMode None -AuthenticationMethod Basic -Credential $DirectoryCred
Notes
Il est recommandé de créer un objet de connexion pour chaque serveur LDAP auquel vous souhaitez vous connecter. AD FS peut se connecter à plusieurs serveurs LDAP réplicas et basculer automatiquement en cas de panne d’un serveur LDAP spécifique. Dans ce cas, vous pouvez créer un AdfsLdapServerConnection pour chacun de ces serveurs LDAP réplicas, puis ajouter le tableau d’objets de connexion à l’aide du paramètre -LdapServerConnection de l’applet de commande Add-AdfsLocalClaimsProviderTrust.
NOTE : votre tentative d’utiliser Get-Credential et de taper un nom de domaine et un mot de passe à utiliser pour établir une liaison à une instance LDAP peut entraîner un échec en raison de l’exigence d’interface utilisateur pour des formats d’entrée spécifiques, par exemple domain\username ou user@domain.tld. Vous pouvez utiliser l’applet de commande ConvertTo-SecureString comme suit (l’exemple ci-dessous suppose uid=admin,ou=system comme nom de domaine des informations d’identification à utiliser pour établir une liaison à l’instance 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:"
Saisissez ensuite le mot de passe pour uid=admin et suivez les autres étapes.
Vous pouvez ensuite effectuer l’étape facultative de mappage d’attributs LDAP aux revendications AD FS existantes à l’aide de l’applet de commande New-AdfsLdapAttributeToClaimMapping. Dans l’exemple ci-dessous, vous mappez les attributs LDAP givenName, Name et CommonName aux revendications 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"
Ce mappage permet de rendre les attributs du magasin LDAP disponibles en tant que revendications dans AD FS afin de créer des règles de contrôle d’accès conditionnel dans AD FS. Il permet également à AD FS d’utiliser des schémas personnalisés dans les magasins LDAP en fournissant un moyen simple de mapper des attributs LDAP aux revendications.
Enfin, vous devez inscrire le magasin LDAP auprès d’AD FS en tant qu’approbation de fournisseur de revendications locales à l’aide de l’applet de commande 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"
Dans l’exemple ci-dessus, vous créez une approbation de fournisseur de revendications locales appelée « Fournisseurs ». Vous spécifiez les informations de connexion pour qu’AD FS se connecte à l’annuaire LDAP que représente l’approbation du fournisseur de revendications locales en affectant
$vendorDirectory
au paramètre-LdapServerConnection
. Notez qu’à l’étape 1, vous avez affecté une chaîne de connexion$vendorDirectory
à utiliser lors de la connexion à votre annuaire LDAP spécifique. Enfin, vous spécifiez que les attributs LDAP$GivenName
,$Surname
et$CommonName
(que vous avez mappés aux revendications AD FS) doivent être utilisés pour le contrôle d’accès conditionnel, y compris les stratégies d’authentification multifacteur et les règles d’autorisation d’émission, ainsi que pour l’émission via des revendications dans les jetons de sécurité émis par AD FS. Pour utiliser des protocoles actifs tels que Ws-Trust avec AD FS, vous devez spécifier le paramètre OrganizationalAccountSuffix, qui permet à AD FS de lever l’ambiguïté entre les approbations de fournisseur de revendications locales lors de la maintenance d’une demande d’autorisation active.