carl source 6

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

Upload: others

Post on 21-Jun-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CARL Source 6

CARL Source 6.2Paramétrage CARL Source - Licence et connexionLDAP

Page 2: CARL Source 6

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

Page 3: CARL Source 6

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 : [email protected] – Web : www.carl-software.fr

Paramétrage CARL Source - Licence et connexion LDAP

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021 1 / 20

Page 4: CARL Source 6

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

Paramétrage CARL Source - Licence et connexion LDAP

2 / 20 Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021

Page 5: CARL Source 6

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

Paramétrage CARL Source - Licence et connexion LDAP

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021 3 / 20

Page 6: CARL Source 6

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.

Paramétrage CARL Source - Licence et connexion LDAP

4 / 20 Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021

Page 7: CARL Source 6

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).

Paramétrage CARL Source - Licence et connexion LDAP

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021 5 / 20

Page 8: CARL Source 6

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.

Paramétrage CARL Source - Licence et connexion LDAP

6 / 20 Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021

Page 9: CARL Source 6

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

Paramétrage CARL Source - Licence et connexion LDAP

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021 7 / 20

Page 10: CARL Source 6

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 dansCARL 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)

Paramétrage CARL Source - Licence et connexion LDAP

8 / 20 Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021

Page 11: CARL Source 6

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 = sAMAccountNameuser.fullName = displayNameuser.organization = companyuser.job = titleuser.department = ouuser.language = preferredLanguage

user.address1 = streetAddressuser.address2 =user.address3 =user.zipCode = postalCodeuser.city = luser.state = stuser.country = c

user.phone = telephoneNumberuser.mobile = mobileuser.fax = facsimileTelephoneNumberuser.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).

Paramétrage CARL Source - Licence et connexion LDAP

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021 9 / 20

Page 12: CARL Source 6

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=COMuser.mobility = CN=Rôle-Clients Mobiles,OU=Groupes Rôles,OU=OU-Groupes Active Directory,DC\=DOMAIN,DC\=COMuser.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=COMuser.profile.ADMIN = CN=Rôle-Administrateurs,OU=Groupes Rôles,OU=OU - Groupes Active Directory,DC=DOMAIN,DC=FRuser.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=FRuser.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

Paramétrage CARL Source - Licence et connexion LDAP

10 / 20 Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021

Page 13: CARL Source 6

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 :

Paramétrage CARL Source - Licence et connexion LDAP

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021 11 / 20

Page 14: CARL Source 6

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 , - * ? / L W

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".

Paramétrage CARL Source - Licence et connexion LDAP

12 / 20 Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021

Page 15: CARL Source 6

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.

Paramétrage CARL Source - Licence et connexion LDAP

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021 13 / 20

Page 16: CARL Source 6

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 annuaireexterne'

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.

Paramétrage CARL Source - Licence et connexion LDAP

14 / 20 Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021

Page 17: CARL Source 6

Exemple d’un fichier de production

...

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

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" | sortactalisauthenticationrootca [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,...

Paramétrage CARL Source - Licence et connexion LDAP

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021 15 / 20

Page 18: CARL Source 6

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+xOKMA0GCSqGSIb3DQEBBQUAMFsxCzAJBgNVBAYTAkZSMRQwEgYDVQQIEwtSaG9uZS1BbHBlczEWMBQGA1UEChMNQ0FSTCBTb2Z0d2FyZTEMMAoGA1UECxQDUiZEMRAwDgYDVQQDEwdUZXN0IENBMB4XDTEzMDcwOTA4MjUzMVoXDTE2MDcwODA4MjUzMVowWzELMAkGA1UEBhMCRlIxFDASBgNVBAgTC1Job25lLUFscGVzMRYwFAYDVQQKEw1DQVJMIFNvZnR3YXJlMQwwCgYDVQQLFANSJkQxEDAOBgNVBAMTB1Rlc3QgQ0EwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJtJfYYRKoCWDUaC21XawyUdUO2BOfmSzbCnZg3Mz24nvocHhJzoJ5ehnhfnEO7PP367h4RDsbSw3B5oPmJcpL7g9cKBoy2nvgHEHyTDViQnKh9IzLsrALCbj670VSfZ/VwnWiN8tSKbCObWvCGwVqsO5AjkuVccuGpQnJP06pd7AgMBAAGjgcAwgb0wHQYDVR0OBBYEFP/w9Tz9OA3mazVOTnOy9/Or6pkrMIGNBgNVHSMEgYUwgYKAFP/w9Tz9OA3mazVOTnOy9/Or6pkroV+kXTBbMQswCQYDVQQGEwJGUjEUMBIGA1UECBMLUmhvbmUtQWxwZXMxFjAUBgNVBAoTDUNBUkwgU29mdHdhcmUxDDAKBgNVBAsUA1ImRDEQMA4GA1UEAxMHVGVzdCBDQYIJAK30jIex+xOKMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEACYjqoI7Q+HeVi53f8iLCL2cZl1OQTXV2HCxeX7YligY5ji0Eoj07EFXAj5aeiegs5RL6IY7xbQ4MeCGYee+CVAHMJMqD0qM7MGcALl4Bw9QhDE5ZiWhDPpgP7uWepIV3viRHJNdsDiD88qFB92stY7XosBWfjNhAP8DB9xbp44A=----- 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.

Paramétrage CARL Source - Licence et connexion LDAP

16 / 20 Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021

Page 19: CARL Source 6

Cliquer sur le bouton Copier dans un fichier…

Cliquer sur le bouton Suivant

Paramétrage CARL Source - Licence et connexion LDAP

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

Page 20: CARL Source 6

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.

Paramétrage CARL Source - Licence et connexion LDAP

18 / 20 Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021

Page 21: CARL Source 6

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=FRIssuer: CN=Test CA, OU=R&D, O=CARL International, ST=Rhone-Alpes, C=FRSerial number: adf48c87b1fb138aValid from: Tue Jul 09 10:25:31 CEST 2013 until: Fri Jul 08 10:25:31 CEST 2016Certificate 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=falseSubjectKeyIdentifier [KeyIdentifier [0000: FF F0 F5 3C FD 38 0D E6   6B 35 4E 4E 73 B2 F7 F3  ...<.8..k5NNs&...0010: AB EA 99 2B                                        ...]]

#2: ObjectId: 2.5.29.19 Criticality=falseBasicConstraints:[    CA:true    PathLen:2147483647]

#3: ObjectId: 2.5.29.35 Criticality=falseAuthorityKeyIdentifier [KeyIdentifier [0000: FF F0 F5 3C FD 38 0D E6   6B 35 4E 4E 73 B2 F7 F3  ...<.8..k5NNs...0010: AB EA 99 2B                                        ...]

[CN=Test CA, OU=R&D, O=CARL International, ST=Rhone-Alpes, C=FR]SerialNumber: [    adf48c87 b1fb138a]]

Trust this certificate? [no]: yesCertificate was added to keystore

A la question « Trust this certificate ? » : répondre « yes ».

Exécuter la commande suivante pour s’assurer que le certificat d’autorité a été correctement importé :

>keytool -keystore cacerts -list -alias sb-win2012-ad-ca -storepass changeit -v

Paramétrage CARL Source - Licence et connexion LDAP

Version du document : 17-06-2021 08:31:33 - © CARL Berger-Levrault 2021 19 / 20

Page 22: CARL Source 6

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.

Paramétrage CARL Source - Licence et connexion LDAP

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