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.

Important : Pour les offres SaaS, la configuration LDAP varie en fonction de l'environnement mis en place. Par conséquent, la configuration LDAP doit être évaluée par le biais d'un ticket d'assistance.

Pour activer l'authentification LDAP, modifiez la section authentication dans <PM_HOME>/etc/processmining.conf comme dans l'exemple suivant :

Attention : Lorsque vous apportez des modifications au fichier processmining.conf, veillez à le faire correctement. Pour plus d'informations, voir les directives relatives à l'édition des fichiers de configuration.
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.
  • basic (Par défaut) : généralement utilisé avec des systèmes LDAP tels que Microsoft Active Directory, authentifiant LDAP par l'utilisateur et le mot de passe.
  • query: Option plus complexe qui utilise une chaîne de requête définie par searchBase dans l'annuaire en utilisant un attribut comme le nom d'utilisateur qui peut être défini par le paramètre de filtre (c'est-à-dire l'email)
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
  • "vide" (par défaut)
filter Obligatoire si le type est une requête. Identifie l'attribut utilisé comme username. <Nom d'utilisateur> Par exemple : mail
  • "vide" (par défaut)
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 "
  • "vide" (par défaut)
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
  • "vide" (par défaut)
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 ")
  • false (par défaut)
  • true
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
  • "vide" (par défaut)
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>
  • "vide" (par défaut)

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 :

  1. Configurer l'application sans LDAP.
  2. Ajouter un utilisateur et lui attribuer des privilèges d'administrateur.
  3. Configurer et activer les configurations LDAP.
  4. 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 :

  1. 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
    
  2. 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 :

  • E-mail
  • 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"
        }
  }

Conseil : vous pouvez obtenir les groupes d'utilisateurs à partir de LDAP et les affecter à des groupes IBM Process Mining groupes.

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é groupFilter doit être vide
  • A partir d'une relation de lien entre un objet "groupe" (c'est-à-dire l'attribut uniqueMember d'un objet groupOfUniqueNames ) - La propriété groupFilter doit être renseignée - L'attribut uniqueMember doit ê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: [],
  },