CARL Source 6.2 Paramétrage CARL Source - Licence et connexion LDAP

 
CONTINUER À LIRE
CARL Source 6.2 Paramétrage CARL Source - Licence et connexion LDAP
CARL Source 6.2
Paramétrage CARL Source - Licence et connexion
LDAP
CARL Source 6.2 Paramétrage CARL Source - Licence et connexion LDAP
TABLE DES MATIÈRES
1. Lancement de CARL Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Mise à jour du fichier de licence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
    2.1. Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
    2.2. Mode opératoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Configuration de la connexion LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
    3.1. Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
    3.2. Accès à la configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
    3.3. Configuration de l’annuaire externe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
         3.3.1. Connexion à l’annuaire JNDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
         3.3.2. Liste des attributs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
         3.3.3. Mapping des attributs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
              3.3.3.1. Attributs booléens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
              3.3.3.2. Valeur d’attribut selon l’appartenance à un groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
              3.3.3.3. Valeur par défaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
         3.3.4. Test de la connexion LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
    3.4. Particularités liées à l’annuaire LDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
         3.4.1. Automatisation de la mise à jour des utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
         3.4.2. Mise à jour des utilisateurs depuis l’annuaire externe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
              3.4.2.1. Les expressions du Cron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
         3.4.3. Accès basé sur l’appartenance à un groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
              3.4.3.1. Exemple de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
    3.5. Synchronisation et recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
    3.6. Connexion LDAPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
         3.6.1. Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
              3.6.1.1. Format du certificat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
              3.6.1.2. Import du certificat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
         3.6.2. Connexion à l’annuaire JNDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Paramétrage CARL Source - Licence et connexion LDAP

Avis de marques déposées

Nous avons apporté tous nos efforts pour garantir l’exactitude des informations au moment de la publication de ce document.
CARL Source étant en constante évolution, CARL Berger-Levrault ne peut être tenu responsable des éventuels manques ou erreurs de ce
document.
Si vous relevez une incohérence ou une erreur, merci de contacter le service support de CARL Berger-Levrault.

Toute reproduction, en tout ou en partie, sous quelque forme que ce soit, est formellement interdite sans l’autorisation préalable de
CARL Berger-Levrault.

Toutes les marques et noms de produits mentionnés dans ce document sont les propriétés de leurs détenteurs respectifs telles que
répertoriées ci-dessous :

      • Android™ et Google Chrome® sont des marques déposées de Google LLC
      • ArcGIS® est une marque déposée d’Environmental Systems Research Institute.
      • Elasticsearch® est une marque déposée d’Elasticsearch B.V. aux États-Unis et dans d’autres pays.
      • Firefox® est une marque déposée de Mozilla Foundation.
      • Java® et Oracle® sont des marques déposées d’Oracle Corporation.
      • PostgreSQL® est une marque déposée de The PostgreSQL Community Association of Canada.
      • Safari® est une marque d’Apple Inc., déposée aux États-Unis et dans d’autres pays.
      • SQL Server®, Microsoft Edge® et Windows® sont des marques déposées de Microsoft Corporation.
      • Tomcat® est une marque déposée de l’Apache Software Foundation aux États-Unis et dans d’autres pays.

                                   CARL INTERNATIONAL SA, au capital de 514 276 €, RCS LYON B 384 841 250
                          Siège social : 361 Allée des noisetiers, 69760 Limonest, France - © CARL Berger-Levrault 2021
                                                 E-mail : info@carl.eu – Web : www.carl-software.fr

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021                                                         1 / 20
Paramétrage CARL Source - Licence et connexion LDAP

1. LANCEMENT DE CARL SOURCE
Vérifier si CARL Source est maintenant accessible à partir d’un navigateur Internet en saisissant l’adresse suivante :

Table 1. Adresses pour accéder à CARL Source
                    Type instance                                       Avec frontal Apache® installé                                 Sans frontal Apache® installé
                        Production                                      http://srvgmao/gmaoCS02                                    http://srvinst:8080/gmaoCS02
                        Education                                       http://srvgmao/gmaoCS03                                    http://srvinst:8180/gmaoCS03
                        Acceptance                                      http://srvgmao/gmaoCS04                                    http://srvinst:8280/gmaoCS04
                            srvgmao représentant le serveur hébergeant le frontal Apache® / srvinst représentant le serveur hébergeant l’instance Tomcat®

Table 2. Liste des verticalisations disponibles dans CARL Source
              Factory                            Facility                              Santé                             Transport                          City

Table 3. Liste des utilisateurs par défaut dans CARL Source
Utilisateur                Mot de passe               Changement à la connexion exigé
DEMO                       demo                       Non
GUEST                      azerty                     Oui
CARLSOURCE_LIC             demo                       Oui
2 / 20                                                                                                  Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021
Paramétrage CARL Source - Licence et connexion LDAP

                      CARL Source est sensible à la casse du login et du mot de passe lors de l’authentification.

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021                                             3 / 20
Paramétrage CARL Source - Licence et connexion LDAP

2. MISE À JOUR DU FICHIER DE LICENCE

2.1. Prérequis

Pour mettre à jour les informations de licence dans l’application, il faut être administrateur de licence CARL Source.
Le fichier de licence doit être à disposition de la personne exécutant la procédure. Il peut être téléchargé directement depuis le site
support CARL Berger-Levrault.

2.2. Mode opératoire

Se connecter sur CARL Source avec un compte Administrateur de licence (CARLSOURCE_LIC).

CARL Source nous invite à changer le mot de passe (demo par défaut)

Une fois dans l’application, cliquer sur le point d’interrogation, puis sur A propos de CARL Source.

La fenêtre A propos de CARL Source s’ouvre

         • Se positionner sur l’onglet Licence et "glissez / déposez" votre fichier de licence (fichier avec extension .xml) dans la zone dédiée.

         • Cliquer sur Envoyer.

         • Confirmer le message en cliquant sur Oui.

4 / 20                                                                               Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021
Paramétrage CARL Source - Licence et connexion LDAP

3. CONFIGURATION DE LA CONNEXION LDAP
Ce chapitre décrit la procédure de paramétrage de la connexion entre CARL Source et un annuaire LDAP.

                      Cette configuration est à effectuer uniquement dans le cas où l’authentification CARL Source doit être déléguée à un
                      annuaire LDAP.

Il est nécessaire de configurer une connexion vers un annuaire si l’on souhaite déléguer l’authentification et/ou synchroniser
automatiquement les informations d’un utilisateur (nom, prénom, mail, adresse, etc.).
La synchronisation est unidirectionnelle, de l’annuaire vers CARL Source.
Par ailleurs, suivant le groupe LDAP auquel appartient l’utilisateur, la synchronisation attribuera un profil dans CARL Source permettant de
définir les droits de l’utilisateur.

Dans ce cas, il est possible de :

      • Créer automatiquement les utilisateurs inexistants dans CARL Source.
      • Mettre à jour automatiquement les utilisateurs existants dans CARL Source.
      • Déléguer l’authentification des utilisateurs à l’annuaire.

CARL Source propose 3 modes d’authentification des utilisateurs :

      • Interne : l’utilisateur saisit son login et son mot de passe sur la page de connexion de l’application CARL Source. L’authentification
        est basée sur un mot de passe stocké dans la base de données de CARL Source.
      • SSO : l’utilisateur est authentifié en amont par un serveur SSO. L’accès à CARL Source s’effectue automatiquement.
      • Délégué à un annuaire : comme dans le mode « interne » l’utilisateur saisit son login et son mot de passe sur la page de
        connexion de l’application CARL Source, mais l’authentification est déléguée à un annuaire externe.

Avec les modes « SSO » et « Délégué », il est possible de créer automatiquement les utilisateurs inexistants. Si cette synchronisation n’est
pas activée, seuls les utilisateurs préalablement créés dans CARL Source pourront accéder à l’application.

Quel que soit le mode d’authentification retenu, il est toujours possible de mettre à jour automatiquement les utilisateurs existants à
partir des données de l’annuaire.

                      Si vous disposez d’un serveur web frontal Apache® sous Windows®, vous pouvez ajouter une option SSO permettant
                      le login automatique de l’utilisateur.
                      Référez-vous à la documentation WIN-AD-Installation Frontal Apache.

Le tableau suivant résume les différentes configurations qu’il est possible de mettre en œuvre :

Table 4. Type de configuration de connexion à CARL Source
          Authentification                   Saisie login & mot de passe                    Synchronisation automatique
                                                                                      Création                        Modification
interne                                   Dans CARL Source                 Non                             Possible
SSO                                       En amont                         Possible                        Possible
Déléguée                                  Dans CARL Source                 Possible                        Possible

3.1. Prérequis
Pour configurer la connexion LDAP dans l’application, il faut être administrateur CARL Source (c-à-d. disposer d’un « Profil » ayant les
droits suffisants).

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021                                                                  5 / 20
Paramétrage CARL Source - Licence et connexion LDAP

3.2. Accès à la configuration
Pour consulter les paramètres de connexion,

         1. se positionner sur la fonctionnalité Configuration du système du module Système,

         2. sélectionner la rubrique Authentification dans la partie gauche de l’onglet Système, et effectuer les actions suivantes :

                 a. Renseigner        le      paramètre         externalUserDirectoryAdapter             avec          la        valeur         suivante :
                   com.carl.xnet.system.backend.auth.JNDIUserDirectory
                 b. Décocher la case loginCaseSensitive (Recherche du login en tenant compte de la casse).

                       La classe com.carl.xnet.system.backend.auth.JNDIUserDirectory est fournie en standard et permet d’assurer la
                       connexion avec un annuaire LDAP.

3.3. Configuration de l’annuaire externe
Pour configurer la connexion à un annuaire et définir la correspondance entre les attributs disponibles dans cet annuaire et ceux utilisés
dans CARL Source, il faut se positionner sur l’onglet Annuaire externe accessible à partir de la rubrique Authentification décrite
précédemment.

L’écran ci-dessus présente les informations permettant de configurer l’interface avec l’annuaire.
Si le profil de l’utilisateur le permet, ces informations sont modifiables.

                       Attention, les modifications doivent être faites par un utilisateur averti.

                       Le mot de passe sera sauvegardé au format crypté dans la base de données.

6 / 20                                                                               Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021
Paramétrage CARL Source - Licence et connexion LDAP

3.3.1. Connexion à l’annuaire JNDI

Le tableau ci-dessous récapitule les propriétés utilisées pour établir la connexion à l’annuaire via JNDI (ici LDAP / Active Directory).

                      Les valeurs proposées dans ce tableau sont des valeurs à titre d’exemple.

Table 5. Propriétés de connexion à l’annuaire LDAP via JNDI
Nom du paramètre                                    Obligatoire Description
jndi.ctx.java.naming.factory.initial                               Classe chargée de fabriquer les connexions à l’annuaire.

                                                                          com.sun.jndi.ldap.LdapCtxFactory

jndi.ctx.java.naming.provider.url                                  URL de connexion à l’annuaire.

                                                                          ldap://domain.com/DC=DOMAIN,DC=COM

jndi.backup.java.naming.provider.url                               URL de secours qui sera utilisée si l’URL principale ne répond pas.

                                                                          ldap://domain.com/DC=DOMAIN,DC=COM

jndi.bind.user                                                     DN utilisé pour se connecter sur l’annuaire et rechercher les utilisateurs.

                                                                          CN=CARLSOURCE, OU=Applications, ,DC=DOMAIN,DC=COM

jndi.bind.password                                                 Mot de passe DN utilisé pour se connecter sur l’annuaire.

                                                                   Attention : Ce mot de passe doit être permanent.

                                                                          crypt2:xxxxxxxxxxxxxx

jndi.user.query                                                    Expression LDAP de recherche d’un utilisateur dans laquelle la séquence {0} sera
                                                                   remplacée par le login saisi sur la page de connexion.

                                                                          (sAMAccountName={0})

jndi.user.base.path                                                Chemin de base utilisé pour rechercher les utilisateurs dans l’annuaire.

                                                                          ldap://domain.com/ OU=Utilisateurs,DC=DOMAIN,DC=COM

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021                                                                          7 / 20
Paramétrage CARL Source - Licence et connexion LDAP

Nom du paramètre                                  Obligatoire Description
jndi.groups.attr                                              Nom de l’attribut LDAP permettant de récupérer les groupes d’un utilisateur.

                                                                 memberOf

jndi.access.group                                             DN du groupe auquel les utilisateurs doivent appartenir pour être autorisés à
                                                              accéder CARL Source.

                                                                 OU=CARLSourceGroup,DC=DOMAIN,DC=COM

jndi.auth.externalized                                        Indicateur pour déléguer l’authentification à l’annuaire (true OU false).
jndi.user.synchronized                                        Indicateur pour activer la création automatique des utilisateurs inexistants dans
                                                              CARL Source (true OU false).

3.3.2. Liste des attributs

CARL Source gère un ensemble d’attributs de l’utilisateur qui peuvent être utilisés dans le mapping de l’annuaire.
Vous trouverez ci-dessous la liste complète de ces attributs.

Table 6. Liste des attributs de l’utilisateur
Paramètre                  Description
code                       Code de l’acteur
fullName                   Nom complet
organization               Organisation
job                        Emploi occupé, fonction
department                 Service, département, division
language                   Langue parlée par l’acteur
address1                   Ligne 1 de l’adresse
address2                   Ligne 2 de l’adresse
address3                   Ligne 3 de l’adresse
zipCode                    Code postal
city                       Ville
state                      Etat (adresse)
country                    Pays
phone                      Numéro de téléphone
mobile                     Numéro de téléphone portable
fax                        Numéro de fax
mail                       Adresse mail
MRAddressee                Destinataire DI
mobility                   Mobilité
external                   L’acteur est il extérieur à l’entreprise ?
site                       Organisation de rattachement
profile                    Profil associé à l’utilisateur
customGroup                Groupe de personnalisation associé à l’utilisateur
groupTech                  Groupe technique rattaché à l’utilisateur
groupSite                  Groupe de restriction d’accès multi-organisation
business                   Domaine métier (vocabulaire)

8 / 20                                                                                Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021
Paramétrage CARL Source - Licence et connexion LDAP

3.3.3. Mapping des attributs

Le mapping entre les attributs de l’utilisateur et les attributs de l’annuaire est fait d’une manière automatique.

      • A gauche du signe = l’attribut de l’utilisateur.
      • A droite, l’attribut correspondant dans l’annuaire qui fournit la valeur.

Exemple : récupération du numéro de téléphone

   Le numéro de téléphone (attribut phone de l’utilisateur) correspond à l’attribut telephoneNumber de l’annuaire.
   Cette correspondance sera décrite de la manière suivante :

      user.phone = telephoneNumber

Si l’attribut dans l’annuaire n’est pas précisé, l’attribut de l’utilisateur sera laissé vide.

  user.code = sAMAccountName
  user.fullName = displayName
  user.organization = company
  user.job = title
  user.department = ou
  user.language = preferredLanguage

  user.address1 = streetAddress
  user.address2 =
  user.address3 =
  user.zipCode = postalCode
  user.city = l
  user.state = st
  user.country = c

  user.phone = telephoneNumber
  user.mobile = mobile
  user.fax = facsimileTelephoneNumber
  user.mail = mail

Voici le schéma de la fenêtre de configuration système montrant le mapping effectué :

3.3.3.1. Attributs booléens

Pour les attributs booléens (vrai/faux) de l’utilisateur, la valeur peut être définie selon l’appartenance à un groupe (en décrivant
l’arborescence complète du groupe dans l’annuaire).

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021                                                        9 / 20
Paramétrage CARL Source - Licence et connexion LDAP

Exemple : Attribution d’une valeur booléenne

   Si l’on souhaite attribuer au booléen Destinataire DI (attribut MRAdressee de l’utilisateur) la valeur vraie si l’utilisateur appartient
   au groupe Service Maintenance de l’annuaire, on écrira :

      user.MRAddressee = CN=Rôle-Service Maintenance,OU=Groupes Rôles,OU=OU-Groupes Active Directory,DC=DOMAIN,DC=COM

   Ce qui donne pour l’ensemble des attributs booléens :

      user.MRAddressee = CN=Rôle-Service Maintenance,OU=Groupes Rôles,OU=OU-Groupes Active Directory,DC=DOMAIN,DC=COM
      user.mobility = CN=Rôle-Clients Mobiles,OU=Groupes Rôles,OU=OU-Groupes Active Directory,DC\=DOMAIN,DC\=COM
      user.external = CN=Rôle-Clients Externes,OU=Groupes Rôles,OU=OU-Groupes Active Directory,DC=DOMAIN,DC=COM

3.3.3.2. Valeur d’attribut selon l’appartenance à un groupe

Il est également possible de définir la valeur d’un attribut selon l’appartenance à un groupe de l’annuaire.

Exemple : Attribution d’une valeur selon l’appartenance à un groupe

   Si l’on souhaite définir pour le profil (attribut profile de l’utilisateur) la valeur EXT pour les utilisateurs appartenant au groupe Rôle-
   Clients Externes ; ADMIN pour les utilisateurs appartenant au groupe Rôle-Administrateurs et DEFAULT pour tous les autres
   utilisateurs appartenant au groupe Rôle-Utilisateurs.
   Les groupes EXT, ADMIN devront être présent dans CARL Source. On écrira :

      user.profile.EXT = CN=Rôle-Clients Externes,OU=Groupes Rôles,OU=OU-Groupes Active Directory,DC=DOMAIN,DC=COM
      user.profile.ADMIN = CN=Rôle-Administrateurs,OU=Groupes Rôles,OU=OU - Groupes Active Directory,DC=DOMAIN,DC=FR
      user.profile.DEFAULT = CN=Rôle-Utilisateurs,OU=Groupes Rôles,OU=OU - Groupes Active Directory,DC=DOMAIN,DC=FR

3.3.3.3. Valeur par défaut

Lorsqu’un utilisateur n’existe pas dans l’application, il est créé automatiquement.
Afin qu’il n’y ait pas d’erreur lors de cette opération, il est nécessaire de définir une valeur pour tous les attributs obligatoires.
Or, il se peut que des attributs de l’utilisateur ne soient pas définis dans l’annuaire.

Pour prendre en compte ce cas de figure, mais également pour définir une valeur commune à tous les utilisateurs, il est possible de
préciser une valeur par défaut pour chaque attribut en préfixant sa définition par default..

Exemple : Définition de valeur par défaut

   Pour définir que le profil (attribut profile de l’utilisateur) aura la valeur ADMIN pour les utilisateurs appartenant au groupe Rôle-
   Administrateurs et DEFAULT pour tous les utilisateurs appartenant au groupe Rôle-Utilisateurs :

      user.profile.ADMIN = CN=Rôle-Administrateurs,OU=Groupes Rôles,OU=OU - Groupes Active Directory,DC=DOMAIN,DC=FR
      user.profile.DEFAULT = CN=Rôle-Utilisateurs,OU=Groupes Rôles,OU=OU - Groupes Active Directory,DC=DOMAIN,DC=FR

   Afin qu’un utilisateur n’appartenant pas aux groupes ci-dessus se voit attribuer le profil CONSULTATION par défaut, on ajoutera :

      default.user.profile = CONSULTATION

10 / 20                                                                            Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021
Paramétrage CARL Source - Licence et connexion LDAP

3.3.4. Test de la connexion LDAP

Les informations de connexion vers l’annuaire LDAP étant saisies, il est nécessaire de procéder à un test de connexion.
Pour cela, il faut cliquer sur le lien Tester présent dans la page.

La fenêtre de test de la configuration s’ouvre.
Renseigner le code de l’utilisateur, puis cliquer sur le bouton Rechercher.
L’utilisateur est recherché dans l’annuaire LDAP, les informations sont récupérées puis sauvegardées dans CARL Source.

3.4. Particularités liées à l’annuaire LDAP

3.4.1. Automatisation de la mise à jour des utilisateurs

La mise à jour régulière des champs modifiés dans l’annuaire vers les champs mappés dans CARL Source se définit au sein de l’application
CARL Source.
Ouvrir le menu Traitements automatiques du module Système; la fenêtre suivante s’affiche :

Il est possible de déclarer une tâche périodique utilisant la classe CSJOBDIRECTORYUPDATE.
Pour cela, cliquer sur le bouton      (Ajout de tâches automatiques) situé en haut à gauche - la fenêtre de création/modification s’ouvre :

Ci-dessous la description de quelques champs :

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021                                                               11 / 20
Paramétrage CARL Source - Licence et connexion LDAP

      1. Identifiant du traitement.
      2. Si l’état est inactif, le traitement n’est pas lancé en automatique, mais vous pouvez l’exécuter immédiatement en cliquant sur
         Exécuter. Cela permet d’inhiber l’exécution d’une tâche pendant une période donnée, tout en conservant l’intervalle.
      3. Description du traitement.
      4. Utilisateur de référence : le traitement automatique s’exécutera en tenant compte des droits définis sur le profil de cet utilisateur.
      5. Modèle de message à envoyer lorsque le traitement automatique s’est terminé sur une erreur ou un avertissement.
      6. Nom de la classe qui contient la méthode à exécuter (CSJOBDIRECTORYUPDATE). Un certain nombre de classes sont livrées avec
         CARL Source.
      7. La périodicité d’exécution de la tâche.
      8. La date et le temps restant avant la prochaine exécution.
      9. Les dates, durée et résultat de l’exécution précédente :
                 a. Erreur : Le traitement n’a pas pu se terminer.
                 b. Avertissement : Le traitement s’est terminé, mais des erreurs sont signalées.
                 c. Correct : Le traitement s’est terminé sans erreur.
    10. Rapport d’erreur retourné par la méthode.
    11. La liste des paramètres.

3.4.2. Mise à jour des utilisateurs depuis l’annuaire externe

En affectant CSJOBDIRECTORYUPDATE à la propriété classe, les utilisateurs de CARL Source sont synchronisés avec un annuaire externe
(exemple : LDAP).
Les données de l’annuaire remplacent les données utilisateur de CARL Source.
Ce traitement, exécuté sous la forme d’un « JOB », est assuré par un composant Java embarqué par l’application : Quartz.
Celui-ci permet d’exploiter des mécanismes de planification de tâches appelés « Cron ».

3.4.2.1. Les expressions du Cron

Quartz utilise des "expressions Cron" pour calculer le moment exact du lancement d’un JOB (par exemple : « Le 3 de chaque mois à
21H10, lancer le batch. »).
Les expressions Cron sont riches de possibilités, mais nécessitent quelques commentaires pour faciliter leur interprétation.
Une expression Cron est une chaine de caractères composée de 7 champs (dont les 6 premiers sont obligatoires).

Table 7. Champ d’une expression Cron
Champ                           Valeurs autorisées           Caractère spécial autorisé
Secondes                        0-59                         ,-*/
Minutes                         0-59                         ,-*/
Heures                          0-23                         ,-*/
Jour du mois                    1-31                         ,-*?/LW
Mois                            1-12 ou JAN-DEC              ,-*/
Jour de la semaine              1-7 ou SUN-SAT               ,-*?/L#
Année                           vide, 1970-2099              ,-*/

Table 8. Signification des caractères spéciaux
          Caractère      Signification
             *           (toutes les valeurs) - Utilisé pour sélectionner toutes les valeurs dans un champ.
                         Par exemple, "*" dans le domaine minutes pour "chaque minute".

12 / 20                                                                               Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021
Paramétrage CARL Source - Licence et connexion LDAP

       Caractère         Signification
           ?             (pas de valeur) - Utilisé pour préciser quelque chose dans l’un des deux domaines (Jour du mois ou Jour de la
                         semaine) dans lesquels les caractères sont autorisés, mais pas l’autre.
                         Par exemple, pour déclencher un job le 3ème jour du mois, indépendamment du jour la semaine "0 15 21 8 * ?".

                         Attention, l’utilisation de l’expression "0 15 21 8 * *", déclenche une Exception
                         java.lang.UnsupportedOperationException: Support for specifying both a day-of-week AND a day-of-month
                         parameter is not implemented.

           -             Utilisé pour indiquer un intervalle de valeurs.
                         Par exemple, "10-12" à l’heure domaine signifie "l’heure 10, 11 et 12".

            ,            Utilisé pour spécifier et séparer plusieurs valeurs.
                         Par exemple, "MON,WED,FRI" signifie, "les lundi, mercredi et vendredi".

           /             Utilisé pour spécifier les incréments.
                         Par exemple :

                                • "0/15" dans le champ des secondes signifie "la seconde 0, 15, 30 et 45"
                                • "5/15" dans le champ des secondes signifie "la seconde 5, 20, 35 et 50".

                         Par exemple, "2/3" dans le champ "Jour du mois", signifie "tous les 3 jours à partir du 2ème jour du mois".

                         À noter qu’il est possible de spécifier "/" après le caractère "-" dans ce cas, cela est équivalent à avoir "0" avant le
                         "/".

           L             ("dernier")
                         Par exemple,

                                • La valeur "L" dans « Jour de la semaine » signifie simplement "7" ou "SAT".
                                • La valeur "L" dans « Jour du mois » signifie "le dernier jour du mois" (31 pour janvier, 28 pour février les
                                  années non bissextiles, etc..).
                                • Utilisé après une autre valeur, il signifie "le xxx dernier jour du mois" (par exemple "6L" signifie "le dernier
                                  vendredi du mois").

           W             ("semaine") - Utilisé pour spécifier le jour de la semaine (lundi-vendredi) le plus proche de la journée.

                         Par exemple,

                                • "15W": "le plus proche jour de la semaine du 15 du mois".
                                  Ainsi, si le 15 est un samedi, le job sera lancé, le vendredi 14;
                                  mais si le 15 est un dimanche, le job sera lancé le lundi 16;
                                  si le 15 est un mardi, le job sera lancé, le mardi 15.
                                • Cas exceptionnel : "1W",
                                  si le 1er est un samedi, le job sera lancé le lundi 3 du mois, car il doit être lancé durant le mois.
                                • Autre cas "LW" : le dernier jour de la semaine du mois.

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021                                                                     13 / 20
Paramétrage CARL Source - Licence et connexion LDAP

          Caractère     Signification
             #          Signifie "le Nième XXX jour du mois".
                        Par exemple,

                                • "6#3" = le 3ème vendredi du mois (jour 6 = friday).
                                • "2#1" = le 1er lundi du mois.
                                • "4#5" = le 5ème mercredi du mois (si le mois ne comporte pas 5 mercredi, le job ne sera pas lancé).

                      Le bouton                               (de la section 8) lance l’exécution immédiate de la tâche.

                      L’icône       correspond à l’ouverture de la fenêtre de recherche de la zone.

                      Une entrée dans le Log du serveur applicatif montre que l’exécution se déroule normalement :

                        INFO [CronBean] Start execution of task = 'Mise à jour des utilisateurs depuis un annuaire
                        externe'

Depuis le panneau de gestion des traitements automatiques, l’heure et le résultat de l’exécution s’affichent.

3.4.3. Accès basé sur l’appartenance à un groupe

                      Ce chapitre ne concerne que le cas où votre plateforme utilise un serveur web frontal Apache® configuré avec le
                      module SSO.

Pour restreindre l’accès SSO aux membres d’un groupe, il est nécessaire de remplacer la directive Require user par Require group dans la
configuration du Virtual Host Apache®.

                      Require group DOMAIN\Group_sAMAccountName

Plusieurs groupes peuvent être spécifiés :

                      Require group DOMAIN\Group1 DOMAIN\Group2 DOMAIN\Group3

L’identification du groupe est composée :

      1. du nom du domaine
      2. du sAMAccountName du groupe (et pas de son DN)

3.4.3.1. Exemple de configuration

Virtual Host avec authentification intégrée Windows® gérée par le module mod_auth_sspi.

14 / 20                                                                                 Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021
Paramétrage CARL Source - Licence et connexion LDAP

Exemple d’un fichier de production

  ...

  # Configuration du SSO
  # /!\ Valeurs à remplacer pour la valeur de la location et pour la directive SSPIDomain
  
      AuthName "Authentification SSPI"
      AuthType SSPI
      SSPIAuth On
      SSPIAuthoritative On
      SSPIDomain company.local
      SSPIOmitDomain On
      SSPIOfferBasic Off
      SSPIPerRequestAuth On
      SSPIPackage Negotiate
      Require group DOMAIN\GROUP
  
  ...

3.5. Synchronisation et recherche
        • La synchronisation est unidirectionnelle : celle-ci s’effectue uniquement de l’annuaire vers CARL Source.
        • Par défaut, chaque modification d’un paramètre au niveau de l’annuaire est répercutée dans les attributs de l’utilisateur CARL
          Source. Néanmoins, il est possible d’exclure certains des paramètres de l’annuaire pour que leur modification ne soit pas
          appliquée au niveau de CARL Source lors de la synchronisation. Cette exclusion s’effectue par l’utilisation de l’attribut
          excludeForUpdate dans la définition du "Mapping des attributs" de CARL Source.

                      Ce type d’exclusion est possible uniquement dans le cas d’une mise à jour d’utilisateur.

        • La recherche au sein de l’annuaire est effectuée sur tous les nœuds et sous-nœuds de l’arborescence.
        • La recherche au sein de l’annuaire est basée sur le nom de l’utilisateur.

3.6. Connexion LDAPS
Il est possible de sécuriser la connexion entre CARL Source et l’annuaire externe utilisé pour la délégation d’authentification et la
synchronisation des utilisateurs.
Il faut pour cela utiliser le protocole ldaps.
Avec le protocole ldaps, le serveur LDAP présente un certificat X.509 qui doit être accepté par la JVM.
La JVM utilise par défaut le magasin de clés (keystore) %JAVA_HOME%\jre\lib\security\cacerts qui contient les certificats des autorités de
confiances (CA) standard (ex : Thawte, Verisign, …).

                      Le mot de passe par défaut (storepass) du magasin cacerts est : changeit

Exemples de certificat des CA présents dans le keystore cacerts

  >keytool -list -keystore cacerts -storepass changeit | findstr "trustedCertEntry" | sort
  actalisauthenticationrootca [jdk], 1 dÚc. 2017, trustedCertEntry,
  addtrustclass1ca [jdk], 1 dÚc. 2017, trustedCertEntry,
  addtrustexternalca [jdk], 1 dÚc. 2017, trustedCertEntry,
  addtrustqualifiedca [jdk], 1 dÚc. 2017, trustedCertEntry,
  affirmtrustcommercialca [jdk], 27 juin 2018, trustedCertEntry,
  affirmtrustnetworkingca [jdk], 27 juin 2018, trustedCertEntry,
  affirmtrustpremiumca [jdk], 27 juin 2018, trustedCertEntry,
  affirmtrustpremiumeccca [jdk], 27 juin 2018, trustedCertEntry,
  baltimorecybertrustca [jdk], 1 dÚc. 2017, trustedCertEntry,
  buypassclass2ca [jdk], 1 dÚc. 2017, trustedCertEntry,
  buypassclass3ca [jdk], 1 dÚc. 2017, trustedCertEntry,
  camerfirmachambersca [jdk], 1 dÚc. 2017, trustedCertEntry,
  camerfirmachamberscommerceca [jdk], 1 dÚc. 2017, trustedCertEntry,
  camerfirmachambersignca [jdk], 1 dÚc. 2017, trustedCertEntry,
  certplusclass2primaryca [jdk], 1 dÚc. 2017, trustedCertEntry,
  certplusclass3pprimaryca [jdk], 1 dÚc. 2017, trustedCertEntry,
  certumca [jdk], 1 dÚc. 2017, trustedCertEntry,
  certumtrustednetworkca [jdk], 1 dÚc. 2017, trustedCertEntry,
  chunghwaepkirootca [jdk], 1 dÚc. 2017, trustedCertEntry,
  ...

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021                                                             15 / 20
Paramétrage CARL Source - Licence et connexion LDAP

Si le certificat présenté par le serveur LDAP n’a pas été émis et signé par une de ces Certificate Authority, il faut ajouter dans le magasin
de clés cacerts :

          • soit le certificat de l’autorité ayant signé le certificat de l’annuaire,
          • soit directement le certificat de l’annuaire s’il est auto-signé (self-signed certificate).

3.6.1. Configuration

3.6.1.1. Format du certificat

Le certificat du serveur LDAP doit être au format PEM (DER encodé en Base64).

Pour s’en assurer, il faut afficher le certificat avec un éditeur de texte et vérifier qu’il contient bien un bloc encodé en base 64 délimité par
2 lignes :

  ----- BEGIN CERTIFICATE -----

  ----- END CERTIFICATE -----

Exemple

  ----- BEGIN CERTIFICATE -----
  MIIC9TCCAl6gAwIBAgIJAK30jIex+xOKMA0GCSqGSIb3DQEBBQUAMFsxCzAJBgNV
  BAYTAkZSMRQwEgYDVQQIEwtSaG9uZS1BbHBlczEWMBQGA1UEChMNQ0FSTCBTb2Z0
  d2FyZTEMMAoGA1UECxQDUiZEMRAwDgYDVQQDEwdUZXN0IENBMB4XDTEzMDcwOTA4
  MjUzMVoXDTE2MDcwODA4MjUzMVowWzELMAkGA1UEBhMCRlIxFDASBgNVBAgTC1Jo
  b25lLUFscGVzMRYwFAYDVQQKEw1DQVJMIFNvZnR3YXJlMQwwCgYDVQQLFANSJkQx
  EDAOBgNVBAMTB1Rlc3QgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJtJ
  fYYRKoCWDUaC21XawyUdUO2BOfmSzbCnZg3Mz24nvocHhJzoJ5ehnhfnEO7PP367
  h4RDsbSw3B5oPmJcpL7g9cKBoy2nvgHEHyTDViQnKh9IzLsrALCbj670VSfZ/Vwn
  WiN8tSKbCObWvCGwVqsO5AjkuVccuGpQnJP06pd7AgMBAAGjgcAwgb0wHQYDVR0O
  BBYEFP/w9Tz9OA3mazVOTnOy9/Or6pkrMIGNBgNVHSMEgYUwgYKAFP/w9Tz9OA3m
  azVOTnOy9/Or6pkroV+kXTBbMQswCQYDVQQGEwJGUjEUMBIGA1UECBMLUmhvbmUt
  QWxwZXMxFjAUBgNVBAoTDUNBUkwgU29mdHdhcmUxDDAKBgNVBAsUA1ImRDEQMA4G
  A1UEAxMHVGVzdCBDQYIJAK30jIex+xOKMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcN
  AQEFBQADgYEACYjqoI7Q+HeVi53f8iLCL2cZl1OQTXV2HCxeX7YligY5ji0Eoj07
  EFXAj5aeiegs5RL6IY7xbQ4MeCGYee+CVAHMJMqD0qM7MGcALl4Bw9QhDE5ZiWhD
  PpgP7uWepIV3viRHJNdsDiD88qFB92stY7XosBWfjNhAP8DB9xbp44A=
  ----- END CERTIFICATE -----

Sous Windows®, il est fréquent d’avoir des certificats dans un format binaire. Il faut dans ce cas les convertir en DER encodé en base 64.

Ouvrir le certificat depuis l’explorateur Windows® et sélectionner l’onglet Détails.

16 / 20                                                                                  Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021
Paramétrage CARL Source - Licence et connexion LDAP

Cliquer sur le bouton Copier dans un fichier…

Cliquer sur le bouton Suivant

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021                                17 / 20
Paramétrage CARL Source - Licence et connexion LDAP

Sélectionner l’option X.509 encodé en base 64
Cliquer sur le bouton Suivant

Saisir le nom du fichier de destination.
Cliquer sur le bouton Suivant

Cliquer sur le bouton Terminer

                   Sous les extensions .cer, .crt, .der, Windows® reconnait indifféremment le format binaire ou le format texte (base
                   64).

3.6.1.2. Import du certificat

Dans chaque JVM utilisée pour lancer une instance serveur, il faut importer le certificat dans le keystore cacerts.
L’importation du certificat est effectuée avec l’outil keytool.

18 / 20                                                                          Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021
Paramétrage CARL Source - Licence et connexion LDAP

Table 9. Options de l’outil Keytool
Options                          Description
-importcert                      Commande d’importation d’un certificat dans le magasin de clés.
-keystore cacerts                Fichier du magasin de clés.
                                 Le magasin par défaut de la JVM est stocké dans le fichier : %JAVA_HOME%\jre\lib\security\cacerts
-storepass changeit              Mot de passe du magasin de clés.
                                 Le mot de passe par défaut est : changeit
-alias "myAlias"                 Nom du certificat dans le magasin.
-file "cacert_x509.pem"          Fichier contenant le certificat au format PEM (DER en Base 64).
-trustcacerts                    Option à rajouter si le certificat est celui d’une CA (Certificate Authority).
                                 Attention, cette option ne doit pas être spécifiée dans le cas de l’importation d’un certificat auto-signé.

Exécuter la commande suivante pour afficher les certificats installés :

  >keytool -keystore cacerts -list

Importer le certificat via la commande suivante :

  >cd %JAVA_HOME%\jre\lib\security

  >..\..\bin\keytool -importcert -keystore cacerts -storepass changeit -alias "Test CA" -file "cacert_x509.pem"
  -trustcacerts

  Owner: CN=Test CA, OU=R&D, O=CARL International, ST=Rhone-Alpes, C=FR
  Issuer: CN=Test CA, OU=R&D, O=CARL International, ST=Rhone-Alpes, C=FR
  Serial number: adf48c87b1fb138a
  Valid from: Tue Jul 09 10:25:31 CEST 2013 until: Fri Jul 08 10:25:31 CEST 2016
  Certificate fingerprints:
          MD5: 8A:FF:1A:86:B5:88:7B:C3:BA:92:EF:B1:2B:F1:A5:98
          SHA1: 62:E7:55:DC:71:2F:71:D3:99:AE:F7:5A:C0:22:4E:7C:1B:6A:61:02
          Signature algorithm name: SHA1withRSA
          Version: 3

  Extensions:

  #1: ObjectId: 2.5.29.14 Criticality=false
  SubjectKeyIdentifier [
  KeyIdentifier [
  0000: FF F0 F5 3C FD 38 0D E6   6B 35 4E 4E 73 B2 F7 F3                 ...
Paramétrage CARL Source - Licence et connexion LDAP

Il est ensuite nécessaire de redémarrer la JVM (donc l’instance serveur).

3.6.2. Connexion à l’annuaire JNDI

Les propriétés de connexion à l’annuaire JNDI sont les mêmes que celles décrites pour une Connexion à l’annuaire JNDI.
Seules les propriétés qui contiennent l’adresse de l’annuaire doivent préciser qu’il s’agit d’une connexion sécurisée.

Table 10. Propriétés de connexion à l’annuaire LDAPS via JNDI
Nom du paramètre          Obligatoire   Description
Adresse de l’annuaire                   URL de connexion à l’annuaire.

                                           ldaps://domain.com/DC=DOMAIN,DC=COM

Annuaire de secours                     URL de secours qui sera utilisée si l’URL principale ne répond pas.

                                           ldaps://domain.com/DC=DOMAIN,DC=COM

Racine des utilisateurs                 Chemin de base utilisé pour rechercher les utilisateurs dans
                                        l’annuaire.

                                           ldaps://domain.com/ OU=Utilisateurs,DC=DOMAIN,DC=COM

Le reste des propriétés est identique à celles du paragraphe Configuration de l’annuaire externe.
Par défaut, la connexion Ldaps est sécurisée avec le protocole TLSv1.2.

20 / 20                                                                         Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021
Vous pouvez aussi lire