11.8.4. Utiliser LDAP pour vous authentifier auprès des interfaces de gestion
- Créer une connexion sortante au serveur LDAP.
- Créer un domaine de sécurité activé-LDAP.
- Référencer le nouveau domaine de sécurité dans l'interface de gestion.
La connexion sortante LDAP autorise les attributs suivants :
Tableau 11.4. Attributs d'une connexion sortante LDAP
Attribut | Requis | Description |
---|---|---|
url | oui |
L'adresse URL du serveur de répertoire.
|
search-dn | non |
Le nom distinctif (DN) de l'utilisateur autorisé à effectuer des recherches.
|
search-credentials | non |
Le mot de passe de l'utilisateur autorisé à effectuer des recherches.
|
initial-context-factory | non |
L'usine de contexte initiale à utiliser quand on établit une connexion. Valeur par défaut
com.sun.jndi.ldap.LdapCtxFactory .
|
security-realm | non |
Domaine de sécurité à référencer pour obtenir un
SSLContext configuré pour établir la connexion.
|
Exemple 11.7. Ajouter une connexion sortante LDAP
- Recherche DN :
cn=search,dc=acme,dc=com
- Recherche indentifiants :
myPass
- URL :
ldap://127.0.0.1:389
/host=master/core-service=management/security-realm=ldap_security_realm:add
/host=master/core-service=management/ldap-connection=ldap_connection/:add(search-credential=myPass,url=ldap://127.0.0.1:389,search-dn="cn=search,dc=acme,dc=com")
Les interfaces de gestion peuvent s'authentifier sur le serveur LDAP au lieu des domaines de sécurité basés fichiers de propriétés et configurés par défaut. L'authentificateur LDAP fonctionne en établissant tout d'abord une connexion vers le serveur de répertoires distant. Il effectue ensuite une recherche en utilisant le nom d'utilisateur que l'utilisateur a transmis au système d'authentification, afin de trouver le nom distinctif complet (DN) du dossier LDAP. Une nouvelle connexion est alors établie, utilisant le DN de l'utilisateur comme information d'identification et mot de passe fournis par l'utilisateur. Si cette authentification au serveur LDAP réussit, le DN est considéré comme valide.
- connection
- Le nom de la connexion défini dans
outbound-connections
à utiliser pour se connecter au répertoire LDAP. - advanced-filter
- Le filtre complet utilisé pour rechercher un utilisateur basé sur l'ID d'utilisateur fourni. Le filtre doit contenir une variable suivant le format suivant :
{0}
. Sera plus tard remplacé par le nom d'utilisateur fourni par l'utilisateur. - base-dn
- Le nom distinctif (DN) du contexte pour commencer à chercher l'utilisateur.
- recursive
- Indique si la recherche doit être récursive dans toute l'arborescence de répertoires LDAP, ou si l'on doit rechercher uniquement le contexte spécifié. La valeur par défaut est
false
. - user-dn
- Attribut de l'utilisateur qui contient le nom distinctif (DN). Utilisé par la suite pour tester l'authentification. Valeur par défaut
dn
. - username-attribute
- Le nom de l'attribut à rechercher pour l'utilisateur. Ce filtre effectue une recherche simple où le nom d'utilisateur entré par l'utilisateur correspond à l'attribut spécifié.
- allow-empty-passwords
- Cet attribut détermine si un mot de passe vide est accepté. La valeur par défaut pour cet attribut est
false
. - Soit
username-filter
ouadvanced-filter
, devra être spécifié. - L'attribut
advanced-filter
contient une recherche par filtre dans la syntaxe standard LDP, par exemple :(&(sAMAccountName={0})(memberOf=cn=admin,cn=users,dc=acme,dc=com))
Exemple 11.8. XML représentant un domaine de sécurité activé-LDAP
- connection -
ldap_connection
- base-dn -
cn=users,dc=acme,dc=com
. - username-filter -
attribute="sambaAccountName"
<security-realm name="ldap_security_realm"> <authentication> <ldap connection="ldap_connection" base-dn="cn=users,dc=acme,dc=com"> <username-filter attribute="sambaAccountName" /> </ldap> </authentication> </security-realm>
Avertissement
Exemple 11.9. Ajout d'un domaine de sécurité LDAP
/host=master/core-service=management/security-realm=ldap_security_realm/authentication=ldap:add(base-dn="DC=mycompany,DC=org", recursive=true, username-attribute="MyAccountName", connection="ldap_connection")
Après avoir créé un domaine de sécurité, vous devez le référencer dans la configuration de votre interface de gestion. L'interface de gestion utilisera le domaine de sécurité pour l'authentification HTTP digest.
Exemple 11.10. Ajouter le domaine de sécurité à l'interface HTTP
/host=master/core-service=management/management-interface=http-interface/:write-attribute(name=security-realm,value=ldap_security_realm)
Exemple 11.11. Ajouter le domaine de sécurité à l'interface native
/host=master/core-service=management/management-interface=native-interface/:write-attribute(name=security-realm,value=ldap_security_realm)