Authentification LDAP
En configurant l'authentification LDAP (Lightweight Directory Access Protocol), le mot de passe est d'abord validé par un serveur LDAP puis, en cas d'échec, sur la base de données d'authentification locale.
Pour activer l'authentification LDAP, modifiez la section authentication dans <PM_HOME>/etc/processmining.conf comme dans l'exemple suivant :
authentication: {
mode: "**ldap**", # ldap | basic | saml
limiting: {
enabled: false,
maxFailures: 3,
timeFrame: 600000
}
ldap: {
url: "ldap://<server>:<port>",
type: "standard" # basic | query
searchBase : "" # ou=quality,o=mycompany.com
filter:"", # the attribute that represents the username, i.e. mail
domain: "", # valid for Active Directory integration
backupurl: "",# valid for Active Directory integration
domainexclude: [],# valid for Active Directory integration
domainRemove: false, # true if the username is stored with no domain
}
bcrypt : true,
maxInactiveIntervalInMinutes: 30,
},
Le tableau suivant contient les descriptions des différentes propriétés.
| Propriété | Descriptif | Valeurs |
|---|---|---|
url |
Définit l'adresse URL du serveur dans le protocole LDAP ou LDAPS. Si le protocole est LDAP, il est nécessaire d'ajouter le certificat au magasin de certificats Java | <Format d'adresse IP> Par exemple : ldap://172.16.1.19:389 |
Type |
Configure le serveur pour qu'il fonctionne comme une fonction de base ou une fonction d'interrogation. |
|
searchBase |
Configure le serveur pour qu'il utilise les URL donnés selon que le type est basique ou qu'il s'agit d'une requête. Si le type est query, le système exécute cette requête pour récupérer l'objet compte. Si le type est basic, il est utilisé pour gérer les exigences particulières du serveur LDAP qui nécessitent une chaîne de requête comme nom d'utilisateur. |
<Clés de base de la recherche> Par exemple : ou=users,o=mycompany.com
|
filter |
Obligatoire si le type est une requête. Identifie l'attribut utilisé comme username. |
<Nom d'utilisateur> Par exemple : mail
|
domain |
Définit le nom de domaine Windows utilisé pour l'authentification de l'interface web. Généralement utilisé lorsque le serveur LDAP est mis en œuvre par des systèmes tels que MS Active Directory. | < URL Format> Par exemple : mydomain.com Lorsqu'il est concaténé avec le nom d'utilisateur donné " user1 ", l'authentification de l'interface web est exécutée avec " user1@mydomain.com "
|
Backupurl |
Définit le deuxième contrôleur de domaine URL à des fins de sauvegarde. Généralement utilisé lorsque le serveur LDAP est mis en œuvre par des systèmes tels que MS Active Directory. | <Format d'adresse IP> Par exemple : ldap://172.16.1.20,390
|
domainRemove |
Utilisé lorsque le serveur LDAP est mis en œuvre par des systèmes tels que MS Active Directory. Doit être true si l'utilisateur enregistré dans LDAP contient le domaine (par exemple, user1@mydomain.com) mais que l'utilisateur enregistré dans Process Mining ne l'est pas (par exemple, " user1 ") |
|
domainexclude |
Définit le nom de domaine Windows à exclure pour une liste de noms d'utilisateur. Généralement utilisé lorsque le serveur LDAP est mis en œuvre par des systèmes tels que MS Active Directory. | < URL Format> Par exemple : mydomain.com
|
maxInactiveIntervalInMinutes |
Intervalle maximal d'inactivité en minutes pour le délai d'expiration de la session web. Si vous modifiez la valeur de cet attribut, la session web se termine après le délai que vous avez défini en minutes. | <Temps en minutes>
|
Les utilisateurs doivent être ajoutés manuellement au système dans la console d'administration.
L'exemple suivant présente un scénario de configuration de l'authentification LDAP :
- Configurer l'application sans LDAP.
- Ajouter un utilisateur et lui attribuer des privilèges d'administrateur.
- Configurer et activer les configurations LDAP.
- Gérer plus d'utilisateurs avec le compte administrateur créé.
Importer un certificat pour LDAP sécurisé
Si vous utilisez LDAP, vous devez importer dans la machine virtuelle Java (JVM) le certificat de serveur publié par votre fournisseur LDAP. Si vous ne fournissez pas le certificat, l'erreur suivante s'affiche dans les journaux : javax.naming.CommunicationException: simple bind failed
Pour importer le certificat de votre serveur LDAP dans la JVM :
- Utilisez la commande keytool suivante du kit de développement Java (JDK) intégré pour faire confiance au certificat dans la JVM :
cd /opt/processmining/jdk/linux/ibm-openjdk-semeru/bin ./keytool -import -keystore ../lib/security/cacerts -trustcacerts -alias "LdapCert" -file <PATH TO YOUR FILE>.pem - Redémarrez le module PMWeb.
Approvisionnement des utilisateurs pour LDAP
Par défaut, l'auto-provisionnement est activé. Le compte est automatiquement créé si l'utilisateur n'existe pas dans la base de données IBM Process Mining base de données.
Vous pouvez également établir des correspondances entre les groupes d'utilisateurs de votre organisation et les groupes dans IBM Process Mining dans la page Administration de l'application IBM Process Mining de l'application. Pour plus d'informations, voir Gestion des groupes - Détails. Si aucune modification n'est apportée à la page d' administration, les mappages de groupes de ce fichier de configuration sont utilisés.
Le tableau suivant contient des descriptions des propriétés utilisées dans le provisionnement des utilisateurs :
| Propriété | Descriptif | Valeurs |
|---|---|---|
bindON |
Facultatif - à n'utiliser que si le serveur requiert une authentification. | Valeur par défaut : vide Exemple : uid=admin,ou=system |
bindPassword |
Facultatif - doit être stocké sous forme cryptée. A utiliser uniquement si le serveur nécessite une authentification. | Valeur par défaut : vide Exemple : SUD+qxiBriyRrChmw/Aykw= |
userFilter |
Requis - requête de recherche pour l'utilisateur. | Valeur par défaut : (&(emailAddress=%s)(objectclass=person)) Exemple : (&(mail=tester1@tester1.com)(objectclass=inetOrgPerson)) |
groupFilter |
Facultatif - si défini, obtenir les groupes d'utilisateurs à partir de l'objet groupOfUniqueNames . Dans le cas contraire, le groupe de l'utilisateur est obtenu à partir d'un autre attribut. |
Valeur par défaut : vide Exemple : (&(cn=%s)(objectclass=groupOfUniqueNames)) |
groupMemberIDmap |
Facultatif - l'attribut de l'objet groupe qui stocke le DN de l'utilisateur. | Valeur par défaut : vide Exemple : uniqueMember |
IBM Process Mining obtient les propriétés d'utilisateur suivantes du serveur LDAP :
- Prénom
- Nom de famille
Configurez le mappage et la propriété correspondante dans le répertoire après chacune des propriétés de l'utilisateur.
provisioning : {
attributes : {
username: "emailAddress" # sAMAccountName for ADFS, emailAddress for Ibm
email : "EmailAddress",
firstName : "givenname"
lastName : "sn",
groups : "memberOf"
},
groupMapping: {
owner : "",
administrator : "myCompanyGroup"
}
}
Vous pouvez ajouter un utilisateur au groupe Administration et au groupe Propriétaire (utilisateur analytique). Cependant, si un utilisateur n'appartient pas à un groupe, alors IBM Process Mining ne peut accorder à l'utilisateur de base qu'un accès en lecture seule (Business User).
Le groupe peut être obtenu de deux manières :
- A partir d'un attribut d'objet Personne (c'est-à-dire memberOf ) - La propriété
groupFilterdoit être vide - A partir d'une relation de lien entre un objet "groupe" (c'est-à-dire l'attribut
uniqueMemberd'un objetgroupOfUniqueNames) - La propriétégroupFilterdoit être renseignée - L'attributuniqueMemberdoit être le DN de l'utilisateur
Exemples
Microsoft Active Directory
L'exemple suivant montre comment configurer une connexion à un serveur LDAP sécurisé exposé par Microsoft Active Directory :
ldap: {
url: "ldaps://ldapsrv.mycompany.com:636",
type: "basic"
searchBase : ""
filter:"",
domain: "MYDOMAIN",
backupurl: "",
domainexclude: [],
},
Cas du serveur LDAP générique 1
L'exemple suivant montre un cas générique de serveur LDAP :
ldap: {
url: "ldaps://ldap.intranet.group.eu:636",
type: "standard"
searchBase : "uid={USERNAME},ou=people,dc=group,dc=eu"
filter:"uid",
domain: "",
backupurl: "",
domainexclude: [],
},
Cas du serveur LDAP générique 2
L'exemple suivant montre un autre cas générique de serveur LDAP :
ldap: {
url: "ldaps://myserver.company.com:636"
type: "query"
searchBase: "ou=myorganization,o=company.com"
filter: "mail",
domain: "",
backupurl: "",
domainexclude: [],
},