ONYX - 9.0 - Authentification LDAP

Différence entre versions

De MappingDoc
(Configuration côté Apache)
 
(43 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
=Configuration d'un serveur Mapping ONYX avec un annuaire LDAP=
 
=Configuration d'un serveur Mapping ONYX avec un annuaire LDAP=
 
Ce document décrit la configuration à mettre en oeuvre afin d'activer l'authentification LDAP sur un serveur Mapping ONYX.
 
Ce document décrit la configuration à mettre en oeuvre afin d'activer l'authentification LDAP sur un serveur Mapping ONYX.
 +
 +
Ce mode d'authentification permet aux utilisateurs de se connecter à l'interface Web du serveur Mapping ONYX en utilisant le même identifiant et le même mot de passe que sur Windows ou sur les applications "métier".
 +
 +
==Principe==
 +
Pour des raisons de sécurité, la configuration LDAP doit se faire exclusivement côté serveur web Apache.
 +
 +
Cette méthode nécessite d'ajouter manuellement au référentiel Mapping les utilisateurs ayant besoin d'un accès à l'interface Web, afin de leur accorder les autorisations d'accès aux fonctionnalités dont ils ont besoin.
  
 
==Pré-requis==
 
==Pré-requis==
Ligne 6 : Ligne 13 :
  
 
- Le module apache '''mod_ldap''' doit être installé et activé
 
- Le module apache '''mod_ldap''' doit être installé et activé
: Exemple : <code>yum install mod_ldap</code> (sur Centos ou Rhel)
+
: Exemple : <code>yum install mod_ldap</code> (sur Centos ou Redhat)
  
 
- Un annuaire LDAP (Active Directory, OpenLdap...) doit être accessible du serveur Mapping et sa configuration connue :
 
- Un annuaire LDAP (Active Directory, OpenLdap...) doit être accessible du serveur Mapping et sa configuration connue :
: - Adresse IP ou DNS du serveur primaire
+
: - Adresse IP ou DNS du serveur
: - Utilisateur ayant accès à l'annuaire (bind)
+
: - Utilisateur ayant accès en lecture à l'annuaire (bind)
  
==Principe==
+
==Configuration côté Apache==
La configuration LDAP de Mapping doit se faire en priorité du côté serveur Web Apache afin de garantir une authentification sécurisée.
+
Le type d'authentification par défaut à l'installation de Mapping est basé sur un fichier texte contenant la liste des utilisateurs et leur mot de passe (AuthBasicProvider file) : c'est le fichier .htpasswd, qui est présent à la racine du dossier MapHTTPServer.
  
Bien qu'il soit également possible de configurer le LDAP côté Mapping il n'est pas recommandé de mettre en oeuvre ce type de configuration avec ONYX.
+
La configuration qui suit décrit les modifications à apporter à la configuration Apache afin de remplacer cette authentification "fichier" par une authentification "ldap".
  
==Configuration LDAP ==
+
D'autre part, le serveur Mapping est historiquement installé avec une configuration web basée sur la présence d'un fichier ".htaccess". L'utilisation d'un tel fichier n'étant pas conseillée, toute la configuration devra être réalisée directement dans le fichier httpd.conf (ou l'un des sous-fichiers de configuration présents dans le dossier conf.modules.d le cas échéant).
  
 
===Modification du fichier httpd.conf===
 
===Modification du fichier httpd.conf===
 
# Si ce n'est pas déjà le cas, simplifier la configuration "Mapping" de ce fichier comme suit :
 
# Si ce n'est pas déjà le cas, simplifier la configuration "Mapping" de ce fichier comme suit :
 
#:- Supprimer le noeud <code><Directory /xxxxx/xxxxx/MapHTTPServer/cgi-bin></code> (le noeud xml complet avec tout son contenu et la balise de fin <code></Directory></code>)
 
#:- Supprimer le noeud <code><Directory /xxxxx/xxxxx/MapHTTPServer/cgi-bin></code> (le noeud xml complet avec tout son contenu et la balise de fin <code></Directory></code>)
#:- Supprimer <code>AllowOverride all</code>  
+
#:- Supprimer <code>AllowOverride all</code> : afin de ne plus autoriser l'utilisation de fichiers .htaccess
#:- Supprimer <code>Order allow,deny</code>
+
#:- Supprimer <code>Order allow,deny</code> : instruction non compatible avec Apache 2.4
#:- Supprimer <code>Allow from all</code>  
+
#:- Supprimer <code>Allow from all</code> : instruction non compatible avec Apache 2.4
# Ajouter les instructions d'authentification LDAP
+
# Ajouter ou adapter les instructions suivantes permettant l'authentification LDAP
 
#:- '''AuthType Basic'''
 
#:- '''AuthType Basic'''
 
#:- '''AuthName Identification'''
 
#:- '''AuthName Identification'''
Ligne 35 : Ligne 42 :
 
#:- '''Require valid-user''' : Permet de laisser passer uniquement les utilisateurs pouvant s'authentifier
 
#:- '''Require valid-user''' : Permet de laisser passer uniquement les utilisateurs pouvant s'authentifier
 
#: Pour plus d'information, une documentation détaillée sur l'authentification LDAP sous Apache est disponible à l'emplacement suivant : https://httpd.apache.org/docs/current/fr/mod/mod_authnz_ldap.html<br><br>
 
#: Pour plus d'information, une documentation détaillée sur l'authentification LDAP sous Apache est disponible à l'emplacement suivant : https://httpd.apache.org/docs/current/fr/mod/mod_authnz_ldap.html<br><br>
# Supprimer (ou renommer) le fichier <code>MapHTTPServer/.htaccess</code> dans l'arborescence Mapping
+
# Supprimer (ou renommer) le fichier <code>MapHTTPServer/.htaccess</code> dans l'arborescence Mapping  
 
+
#:''Exemple : /apps/mapping/MapHTTPServer/.htaccess ou c:\Mapping\M-Processing Server\MapHTTPServer\.htaccess''
  
 
===Exemple de configuration dans le fichier httpd.conf===
 
===Exemple de configuration dans le fichier httpd.conf===
Ligne 55 : Ligne 62 :
 
               '''AuthLDAPURL "ldap://192.168.1.5/dc=mapping,dc=local?sAMAccountName?sub?(objectClass=person)"'''
 
               '''AuthLDAPURL "ldap://192.168.1.5/dc=mapping,dc=local?sAMAccountName?sub?(objectClass=person)"'''
 
               '''LDAPReferrals Off'''
 
               '''LDAPReferrals Off'''
               Require valid-user
+
               '''Require valid-user'''
 
               Options None
 
               Options None
 
  </Directory>
 
  </Directory>
Ligne 62 : Ligne 69 :
  
  
===Remarques===
+
'''Restriction sur les plateformes Linux et AIX'''
- Pour des raisons de compatibilité avec l'interface du Workflow Mapping, il n'est pas possible à ce jour de se connecter avec le "userPrincipalName" (user@domain.xxx).
+
- Pour des raisons de compatibilité avec l'interface de Workflow, il n'est pas possible à ce jour, sur les plateformes Linux et AIX, de se connecter avec le "userPrincipalName" (identifiant du type '''user@domain.xxx'''). Cette restriction sera levée dans une version ultérieure.
 +
 
 +
==Configuration côté Mapping==
 +
===L'administrateur===
 +
L'utilisateur "administrateur" du serveur Mapping est spécifié dans le fichier de configuration "mapping.conf", via le paramètre "USER_ADMIN". Par défaut, sa valeur est "mapadmin".
 +
 
 +
Cela implique donc ''(au choix)'' :
 +
 
 +
:- De créer un utilisateur "mapadmin" dans l'annuaire ldap ''(seule solution à ce jour sur plateformes Linux et AIX)''
 +
 
 +
:- Ou de modifier la valeur du paramètre "USER_ADMIN" afin d'y renseigner l'identifiant d'un utilisateur de l'annuaire ldap déjà existant ou créé spécialement pour cet usage.
 +
 
 +
===Les autres utilisateurs===
 +
Les autres utilisateurs ayant besoin de se connecter à l'interface Web du serveur Mapping doivent être créés au préalable depuis l'interface d'administration Mapping et affectés à leurs groupes respectifs :
 +
 
 +
:[[ONYX:9.0:Utilisation:Gestion_des_droits_d%27accès|Cf. Documentation sur la gestion des utilisateurs et droits d'accès]]
 +
 
 +
Les mots de passe renseignés lors de la création de ces utilisateurs ne sont pas exploités dans le cadre d'une authentification LDAP.
 +
 
 +
Les utilisateurs se connectant sans avoir été référencés au préalable se retrouveront devant une page web vide.

Version actuelle datée du 25 septembre 2019 à 14:37

Configuration d'un serveur Mapping ONYX avec un annuaire LDAP

Ce document décrit la configuration à mettre en oeuvre afin d'activer l'authentification LDAP sur un serveur Mapping ONYX.

Ce mode d'authentification permet aux utilisateurs de se connecter à l'interface Web du serveur Mapping ONYX en utilisant le même identifiant et le même mot de passe que sur Windows ou sur les applications "métier".

Principe

Pour des raisons de sécurité, la configuration LDAP doit se faire exclusivement côté serveur web Apache.

Cette méthode nécessite d'ajouter manuellement au référentiel Mapping les utilisateurs ayant besoin d'un accès à l'interface Web, afin de leur accorder les autorisations d'accès aux fonctionnalités dont ils ont besoin.

Pré-requis

- Serveur Apache version 2.4

- Le module apache mod_ldap doit être installé et activé

Exemple : yum install mod_ldap (sur Centos ou Redhat)

- Un annuaire LDAP (Active Directory, OpenLdap...) doit être accessible du serveur Mapping et sa configuration connue :

- Adresse IP ou DNS du serveur
- Utilisateur ayant accès en lecture à l'annuaire (bind)

Configuration côté Apache

Le type d'authentification par défaut à l'installation de Mapping est basé sur un fichier texte contenant la liste des utilisateurs et leur mot de passe (AuthBasicProvider file) : c'est le fichier .htpasswd, qui est présent à la racine du dossier MapHTTPServer.

La configuration qui suit décrit les modifications à apporter à la configuration Apache afin de remplacer cette authentification "fichier" par une authentification "ldap".

D'autre part, le serveur Mapping est historiquement installé avec une configuration web basée sur la présence d'un fichier ".htaccess". L'utilisation d'un tel fichier n'étant pas conseillée, toute la configuration devra être réalisée directement dans le fichier httpd.conf (ou l'un des sous-fichiers de configuration présents dans le dossier conf.modules.d le cas échéant).

Modification du fichier httpd.conf

  1. Si ce n'est pas déjà le cas, simplifier la configuration "Mapping" de ce fichier comme suit :
    - Supprimer le noeud <Directory /xxxxx/xxxxx/MapHTTPServer/cgi-bin> (le noeud xml complet avec tout son contenu et la balise de fin </Directory>)
    - Supprimer AllowOverride all : afin de ne plus autoriser l'utilisation de fichiers .htaccess
    - Supprimer Order allow,deny : instruction non compatible avec Apache 2.4
    - Supprimer Allow from all : instruction non compatible avec Apache 2.4
  2. Ajouter ou adapter les instructions suivantes permettant l'authentification LDAP
    - AuthType Basic
    - AuthName Identification
    - AuthBasicProvider ldap : activation de l'authentification LDAP
    - AuthLDAPBindDN : DN complet de l'utilisateur utilisé pour accéder à l'annuaire LDAP en lecture
    - AuthLDAPBindPassword : mot de passe de cet utilisateur
    - AuthLDAPURL : URL du serveur LDAP, emplacement racine des utilisateurs et filtre de recherche
    - LDAPReferrals off : Désactivation des redirections vers les serveurs LDAP alternatifs
    - Require valid-user : Permet de laisser passer uniquement les utilisateurs pouvant s'authentifier
    Pour plus d'information, une documentation détaillée sur l'authentification LDAP sous Apache est disponible à l'emplacement suivant : https://httpd.apache.org/docs/current/fr/mod/mod_authnz_ldap.html

  3. Supprimer (ou renommer) le fichier MapHTTPServer/.htaccess dans l'arborescence Mapping
    Exemple : /apps/mapping/MapHTTPServer/.htaccess ou c:\Mapping\M-Processing Server\MapHTTPServer\.htaccess

Exemple de configuration dans le fichier httpd.conf

#BEGIN_MAPPING_v9.0xxxxx
#DO NOT MODIFY THIS BLOCK. It will be automatically updated.
Listen 8002
<VirtualHost *:8002>
 	ServerName 127.0.0.1
	DocumentRoot "C:/MAPPING/M-ProcessingServer/MapHTTPServer"
	ScriptAlias /cgi-bin/ "C:/MAPPING/M-ProcessingServer/MapHTTPServer/cgi-bin/"
	<Directory "C:/MAPPING/M-ProcessingServer/MapHTTPServer">
              AuthType Basic
              AuthName Identification
              AuthBasicProvider ldap
              AuthLDAPBindDN "CN=Jacques Dewael, OU=Current, OU=Mapping, DC=mapping400, DC=local"
              AuthLDAPBindPassword "a54G$2!="
              AuthLDAPURL "ldap://192.168.1.5/dc=mapping,dc=local?sAMAccountName?sub?(objectClass=person)"
              LDAPReferrals Off
              Require valid-user
              Options None
	</Directory>
</VirtualHost>
#END_MAPPING_v9.0.xxxxx


Restriction sur les plateformes Linux et AIX - Pour des raisons de compatibilité avec l'interface de Workflow, il n'est pas possible à ce jour, sur les plateformes Linux et AIX, de se connecter avec le "userPrincipalName" (identifiant du type user@domain.xxx). Cette restriction sera levée dans une version ultérieure.

Configuration côté Mapping

L'administrateur

L'utilisateur "administrateur" du serveur Mapping est spécifié dans le fichier de configuration "mapping.conf", via le paramètre "USER_ADMIN". Par défaut, sa valeur est "mapadmin".

Cela implique donc (au choix) :

- De créer un utilisateur "mapadmin" dans l'annuaire ldap (seule solution à ce jour sur plateformes Linux et AIX)
- Ou de modifier la valeur du paramètre "USER_ADMIN" afin d'y renseigner l'identifiant d'un utilisateur de l'annuaire ldap déjà existant ou créé spécialement pour cet usage.

Les autres utilisateurs

Les autres utilisateurs ayant besoin de se connecter à l'interface Web du serveur Mapping doivent être créés au préalable depuis l'interface d'administration Mapping et affectés à leurs groupes respectifs :

Cf. Documentation sur la gestion des utilisateurs et droits d'accès

Les mots de passe renseignés lors de la création de ces utilisateurs ne sont pas exploités dans le cadre d'une authentification LDAP.

Les utilisateurs se connectant sans avoir été référencés au préalable se retrouveront devant une page web vide.