ONYX - 9.0 - Authentification LDAP

Différence entre versions

De MappingDoc
(Impacts sur la configuration Mapping)
(Configuration côté Apache)
 
(20 révisions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :
 
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 autres applications qu'il utilise au quotidien.
+
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 12 : Ligne 17 :
 
- 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
 
: - Adresse IP ou DNS du serveur
: - Utilisateur ayant accès à l'annuaire (bind)
+
: - 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.
  
==Principe==
+
La configuration qui suit décrit les modifications à apporter à la configuration Apache afin de remplacer cette authentification "fichier" par une authentification "ldap".
La configuration LDAP de Mapping doit se faire en priorité du côté serveur Web Apache afin de garantir une authentification sécurisée.
 
  
==Configuration Apache==
+
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 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 :
  
  
'''Restriction sur Linux'''
+
'''Restriction sur les plateformes Linux et AIX'''
- Pour des raisons de compatibilité avec l'interface du Workflow Mapping, sur Linux, il n'est pas possible à ce jour de se connecter avec le "userPrincipalName" (login du type user@domain.xxx). Cette restriction sera levée dans une version ultérieure.
+
- 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.
  
===Impacts sur la configuration Mapping===
+
==Configuration côté Mapping==
====L'administrateur====
+
===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".
 
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 de ''(au choix)'' :
+
Cela implique donc ''(au choix)'' :
  
:- Créer un utilisateur "mapadmin" dans l'annuaire ldap ''(unique solution à ce jour sur plateformes Linux et AIX)''
+
:- De créer un utilisateur "mapadmin" dans l'annuaire ldap ''(seule solution à ce jour sur plateformes Linux et AIX)''
  
:- Modifier la valeur du paramètre "USER_ADMIN" afin d'y renseigner le nom de login d'un utilisateur de l'annuaire ldap déjà existant ou créé spécialement pour cet usage.
+
:- 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===
Les autres utilisateurs ayant besoin de se connecter à l'interface Web du serveur Mapping doivent créés au préalable directement depuis l'interface d'administration Mapping et affectés à leurs groupes respectifs :  
+
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]]
 
:[[ONYX:9.0:Utilisation:Gestion_des_droits_d%27accès|Cf. Documentation sur la gestion des utilisateurs et droits d'accès]]
  
Le mot de passe renseigné lors de la création de l'utilisateur n'est pas utilisé dans le cadre d'une authentification LDAP.
+
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.