Outil d’importation d'utilisateurs

Modifié par Aurelie Bertrand le 2024/09/24 10:10


Description

importtools est un outil pour gérer les utilisateurs dans le LDAP DigDash. Il est notamment utile dans le cas de gestion d’une grosse base d’utilisateurs.

L'importtools peut être lancé directement via le fichier de commande « importtools.bat » fourni, avec les arguments par défaut (modifiables en éditant le fichier .bat)

ou

Il peut être exécuté via l’outil Java « importtools.jar » fourni dans le dossier <digdash_install>\add-ons\tools\lib avec les arguments par défaut ou personnalisables (voir partie suivante).

java -jar importtools.jar [-conf configfile] [-users userfile] [-out outputfile]

Depuis la version 2022R1, la valeur du paramètre utilisateur langChoice est maintenant un code langue et non plus un index. Par exemple 0 est devenu "en", 1 est devenu "fr". Il faut prendre en compte ce changement et adapter vos scripts existants d'import des utilisateurs si besoin.

Importation d’utilisateurs

Elle consiste principalement à avoir deux fichiers en entrée :

  • le fichier de configuration au format XML : le fichier d’exemple conf.xml est livré dans <digdash_install>\add-ons\tools\importtools ; il permet de faire la correspondance entre une colonne du fichier utilisateurs (voir suite) et un attribut d’un utilisateur LDAP dans le fichier de sortie (voir suite).
  • le fichier utilisateurs au format Excel ou CSV : le fichier d’exemple users.xls est livré dans <digdash_install>\add-ons\tools\importtools ; Il s’agit de la base utilisateurs (une ligne par utilisateur) à importer dans LDAP. Ses colonnes correspondent aux attributs du fichier de configuration XML.

Et un fichier en sortie :

  • le fichier de sortie au format XML : nommé « out.xml » par défaut, il est généré au lancement de l’outil « importtools » avec les deux fichiers mentionnés précédemment en entrée ; il est généré de manière à se mapper sur la structure LDAP.
TagDescription
-conf <config file>Chemin du fichier de configuration XML. Par défaut, conf.xml.
-users <excel file / csvfile>Chemin du fichier en entrée des utilisateurs à importer. Il s’agit d’un fichier Excel ou d’un fichier CSV. Par défaut, users.xls.
-out <outputfile>Chemin du fichier de sortie XML faisant le mapping avec LDAP. Par défaut, out.xml.
-helpCommande d’aide d’usage.
-debugAffiche les traces dans les cas erreurs.
-importEnvoie le fichier de sortie (par défaut out.xml) au serveur pour l’importer dans LDAP.
-importonlyUtilise un fichier de sortie existant (par défaut, out.xml) et l’envoie au serveur pour l’importer dans LDAP.
-serverAdresse du serveur DigDash.
-domainNom du domaine DigDash Enterprise (par exemple, ddenterpriseapi)
-userL’utilisateur superviseur.
-passLe mot de passe de l’utilisateur superviseur.

Commandes d'ajout d'utilisateurs

Un utilisateur peut être ajouté selon trois méthodes dans le LDAP :

create

Dans ce mode l'utilisateur sera ajouté si, et seulement si, il n'existe pas.
En d'autres termes, avec la commande create, l'ajout d'un utilisateur existant est une erreur.

overwrite

Cette commande va écraser un utilisateur existant.
Plus précisément il va être effacé avant d'un créé complètement avec les nouveaux attributs.
Si l'utilisateur n'existe pas au préalable, il sera simplement ajouté.

update

Cette commande va mettre à jour l'utilisateur avec les attributs contenus dans votre fichier d'import.
L'utilisateur doit donc exister au préalable. Il ne sera pas effacé.

Suppression d’utilisateurs

Il est possible de supprimer tout ou partie selon critères des utilisateurs de la base LDAP DigDash.

TagDescription
-removeallSupprime TOUS les utilisateurs présents dans LDAP ET la licence.
-removeall -attr="nom de l'attribut ldap" -regexp="valeur de l'attribut ou expression régulière"Supprime tous les utilisateurs dont la valeur de l'attribut ldap sépcifié vérifie l'expression régulière.
-removeall -license_type="all.missing.forbidden.[type d'utilisateur]"

Supprime tous les utilisateurs selon leur type ou leur statut dans la licence :

  • all : tous
  • missing :  les utilisateurs absents de la licence
  • forbidden : les utilisateurs dans la licence mais non autorisés
  • [type d'utilisateur] : les valeurs possibles sont named, extranet, concurrent, public, broadcast.
    Aucun, un ou plusieurs valeurs sont utilisables, séparés par un ".".
    Exemple : named.extranet ou missing.extranet.named

Au moins un de ces paramètres doit être utilisé.

Exportation d’utilisateurs

Il est possible d’exporter les utilisateurs de la base LDAP.

Options :

TagDescription
-exportExporte tous les utilisateurs dans un fichier CSV. Par défaut, le fichier d’export se nomme users_export.csv.
-exportfile "file.csv"Exporte tous les utilisateurs dans le fichier CSV mentionné par son chemin absolu (précédé de -export).

Paramètres généraux

Logs
-log "C:\temp"Le fichier log sera créé dans le répertoire spécifié, nommé de la manière suivante : importtool-yyyy-mm-dd_hh-mm-ss.log.
-log "C:\log.txt"Le fichier log sera créé dans le répertoire et sous le nom spécifiés.
Autres
-loginFormForce l’authentification LDAP dans le cas SSO.

Exemples

  • java -jar importtools.jar
  • java -jar importtools.jar -conf ../importtools/conf.xml -users ../importtools/users.xls -out ../importtools/out.xml
  • java -jar importtools.jar -conf ../importtools/conf.xml -users ../importtools/users.xls -out  ../importtools/out.xml -import -server http://localhost:8080 -domain ddenterpriseapi -user admin -pass admin
  • java -jar importtools.jar -export -server http://localhost:8080 -domain ddenterpriseapi -user admin -pass admin
  • java -jar importtools.jar -export -exportfile "D:\my_users_export.csv" -server http://localhost:8080 -domain ddenterpriseapi -loginForm -user admin -pass admin
  • java -jar importtools.jar -removeall -server http://localhost:8080 -domain ddenterpriseapi -user admin -pass admin
  • java -jar importtools.jar -removeall -attr "license_type" -regexp "extranet" -server http://localhost:8080 -domain ddenterpriseapi -user admin -pass admin
  • java -jar importtools.jar -removeall -attr "uid" -regexp "toto1[0-9]*" -server http://localhost:8080 -domain ddenterpriseapi -user admin -pass admin

Résolution d'erreur d'encodage sous Windows

Sous Windows, il peut y avoir des erreurs d'encodage. Afin de pallier à ces erreurs, il faut rajouter la commande suivante lors de l'export : 

-Dfile.encoding=utf-8

Cette commande est un paramètre pour JAVA, il faut donc la placer en amont des options pour l'importtool.jar. Par exemple :

"C:\java.exe" -Dfile.encoding=utf-8 -jar "importtools.jar" %* -export -exportFile "export_.csv" -server https://serveur.digdash.com -domain ddenterpriseapi -user admin -pass "AdminPassWrd"

Problématique de certificat SSL

L'exécution du module importtools afin d'importer des utilisateurs en masse sur un serveur DigDash protégé par un certificat SSL, depuis votre poste local ou un poste qui n'est pas le serveur DigDash, peut échouer en raison d'une mauvaise configuration du certificat SSL.
Vous êtes susceptibles d'obtenir le message suivant à l'exécution du script :

2020-11-09 20:39:34,407 INFO  [main] (DDEnterpriseAPIRest.java:1593) - Exception raised (params: clientId=ImportTool, method=login, pass=******, user=#####@###.fr): Erreur de téléchargement de l'URL: https://###.fr/####DOMAINE###/DDEnterpriseAuthServlet

Pour contourner ce problème :

  1. Modifiez le fichier importools.bat.
  2. Ajoutez le paramètre -DSSLNoPathCheck=true avant -jar comme dans l'exemple ci-dessous :

java -Dlog4j.configuration="file:///%importtoolshome%/import_log4j.properties" -DSSLNoPathCheck=true -jar "%importtoolshome%/importtools.jar" %* -conf conf.xml -users users.xls -out out.xml -import -server https://###.fr -domain ###DOMAINE### -user admin -pass ##PASS##