10.12.2. 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 :
| Attribut | Requis | Description |
|---|---|---|
| url | oui |
L'adresse URL du serveur de répertoire.
|
| search-dn | oui |
Le nom unique (DN) de l'utilisateur autorisé à effectuer des recherches.
|
| search-credentials | oui |
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 10.13. Ajouter une connexion sortante LDAP
- Search DN:
cn=search,dc=acme,dc=com - Search Credential:
myPass - URL:
ldap://127.0.0.1:389
/host=master/core-service=management/security-realm=ldap_security_realm:add
/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")
/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 authentifier sur le serveur LDAP au lieu des domaines de sécurité basés propriété-fichier et configurés par défaut. L'authentificateur LDAP fonctionne en établissant tout d'abord une connexion au 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 unique 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éfinie dans
<outbound-connections>à utiliser pour se connecter au répertoire LDAP. - base-dn
- Le nom unique (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 détient le nom unique (DN). Utilisé par la suite pour tester l'authentification. Valeur par défaut
dn. - Soit
username-filterouadvanced-filter, comme élément enfant. - Le
username-filterutilise un attribut unique nomméattribute, dont la valeur correspond au nom de l'attribut LDAP qui contient le nom d'utilisateur, commeuserNameousambaAccountName.Leadvanced-filterprend un attribut unique nomméfilter, qui contient une recherche de filtre en syntaxe LDAP standard. Veillez à bien échapper les caractères&en commutant à& amp;. Voici un exemple de filtre :(&(sAMAccountName={0})(memberOf=cn=admin,cn=users,dc=acme,dc=com))(&(sAMAccountName={0})(memberOf=cn=admin,cn=users,dc=acme,dc=com))Copy to Clipboard Copied! Toggle word wrap Toggle overflow Après avoir échappé un caractère esperluette, le filtre apparaîtra ainsi :(&(sAMAccountName={0})(memberOf=cn=admin,cn=users,dc=acme,dc=com))(&(sAMAccountName={0})(memberOf=cn=admin,cn=users,dc=acme,dc=com))Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Exemple 10.14. 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"
Avertissement
Exemple 10.15. 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")
/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 10.16. 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)
/host=master/core-service=management/management-interface=http-interface/:write-attribute(name=security-realm,value=ldap-security-realm)
Pour configurer un hôte dans un domaine géré pour s'authentifier sur Active Directory de Microsoft, suivre cette procédure, qui crée un domaine de sécurité et mappe les rôles aux groupes Active Directory, par l'authentification JAAS. Cette procédure est nécessaire parce que Microsoft Active Directory autorise la liaison avec un mot de passe vide. Cette procédure empêche l'utilisation d'un mot de passe vide dans la plate-forme d'applications.
master.
Ajouter un nouveau
<security-realm>nomméldap_security_realm, et le configurer pour qu'il puisse utiliser JAAS.Les commandes CLI suivantes ajoutent le domaine de sécurité, puis définissent son mécanisme d'authentification. Modifier le nom de l'hôte selon les besoins./host=master/core-service=management/security-realm=ldap_security_realm/:add
/host=master/core-service=management/security-realm=ldap_security_realm/:addCopy to Clipboard Copied! Toggle word wrap Toggle overflow /host=master/core-service=management/security-realm=ldap_security_realm/authentication=jaas/:add(name=managementLDAPDomain)
/host=master/core-service=management/security-realm=ldap_security_realm/authentication=jaas/:add(name=managementLDAPDomain)Copy to Clipboard Copied! Toggle word wrap Toggle overflow Configurer
<http-interface>pour utiliser le nouveau domaine de sécurité.La commande de Management CLI suivante configure l'interface HTTP./host=master/core-service=management/management-interface=http-interface/:write-attribute(name=security-realm,value=ldap_security_realm)
/host=master/core-service=management/management-interface=http-interface/:write-attribute(name=security-realm,value=ldap_security_realm)Copy to Clipboard Copied! Toggle word wrap Toggle overflow Configurer JBoss Enterprise Application Platform pour ajouter une configuration JAAS personnalisée à ses paramètres de démarrage (start-up).
Modifier le fichierEAP_HOME /bin/domain.conf. Rechercher la variableHOST_CONTROLLER_JAVA_OPTSpuis y ajouter des directives pour la JVM, qui sont nécessaires avant le démarrage de JBoss Enterprise Application Platform. Voici un exemple du contenu par défaut de ce paramètre :HOST_CONTROLLER_JAVA_OPTS="$JAVA_OPTS"
HOST_CONTROLLER_JAVA_OPTS="$JAVA_OPTS"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ajouter la directive suivante à la ligne :-Djava.security.auth.login.config=/opt/jboss-eap-6.0/domain/configuration/jaas.conf"La ligne modifiée ressemble à ceci :-Djava.security.auth.login.config=/opt/jboss-eap-6.0/domain/configuration/jaas.conf"
-Djava.security.auth.login.config=/opt/jboss-eap-6.0/domain/configuration/jaas.conf"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ajouter le module de connexion aux options de module.
Dans le même fichier, chercher la ligne contenant ce qui suit :JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman"
JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Modifier cette ligne pour qu'elle ressemble à ceci. Veillez à ne pas insérer d'espaces supplémentaires.JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,com.sun.security.auth.login"
JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,com.sun.security.auth.login"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Sauvegarder et fermer le fichierdomain.conf.Créer la configuration JAAS qui sera ajoutée au chemin de classe.
Créer un nouveau fichier à l'emplacement suivant :EAP_HOME/domain/configuration/jaas.confLe fichier doit contenir ce qui suit. Modifier les paramètres pour qu'ils correspondent à votre environnement.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Redémarrer JBoss Enterprise Application Platform et votre interface HTTP utilisera le serveur LDAP pour l'authentification.