Migration du répertoire des utilisateurs

IBM® Verify offre un moyen simple de migrer les référentiels des utilisateurs. La procédure standard pour l'intégration des utilisateurs de Verify consiste à utiliser l'API REST fournie. Vous pouvez utiliser la méthode d'importation « CSV » pour intégrer rapidement des utilisateurs.

IBM Verify prend en charge les méthodes suivantes pour importer des données utilisateur.
  • Entrée manuelle
  • CSV API d'importation
  • API utilisateur (simple)
  • API de chargement en masse (plusieurs)
La méthode d'importation « CSV » est l'approche la plus courante.

Informations sur les données

Format des données
Pour importer des utilisateurs à l'aide de la méthode CSV, Verify vous devez convertir votre référentiel d'utilisateurs, qu'il s'agisse d'une base de données LDAP ou SQL, au format CSV compatible avec UTF-8. Assurez-vous que la méthode que vous comptez utiliser pour convertir vos données prend en charge ce format.
Type d'utilisateur
Il est important de préciser le type d'utilisateurs que vous importez. Si vous ne connaissez pas le Verify modèle de répertoire Cloud, consultez l'article consacré à la structure du Verify répertoire. Dans le cadre de cette tâche, les utilisateurs importés se voient attribuer un compte utilisateur standard du répertoire cloud, doté d'un mot de passe local généré lors de la création du compte. Le regular type d'utilisateur détermine ce type d'utilisateur. Si vous souhaitez importer uniquement les métadonnées de l'utilisateur sans mot de passe local, vous devez remplacer les valeurs des realm attributs et userCategory.
Jeton d'accès
Le client API utilisé pour importer des utilisateurs doit disposer d'au moins l'une des autorisations suivantes dans IBM Verify.
  • Gérer les utilisateurs et les groupes
  • Synchroniser les utilisateurs et les groupes
  • Gérer les utilisateurs et les groupes standard
L'application doit obtenir un jeton d'accès en utilisant le flux d'authentification par identifiants client.

Obtenir les en-têtes d' CSV

Pour structurer correctement votre fichier ` CSV ` en vue de son importation, vous devez d'abord comprendre quelles sont les options d'en-tête disponibles. Si vous connaissez le schéma utilisateur, le nom de l'en-tête correspond à l'identifiant de l'attribut dans SCIM. Si vous utilisez un attribut personnalisé, il s'agit alors de la valeur qui a été spécifiée lors de la création de l'attribut.

curl -X GET "https://${tenant_url}/v2.0/CSV/headerNames?filter=user" -H "Authorization: Bearer ${access_token}"
Cette réponse comprend tous les noms d'en-tête possibles. Le nom que vous utilisez dans la colonne « a » de l' CSV e correspond au nom de name l'objet. Dans l'exemple d'appel, un filtre utilisateur a été ajouté pour empêcher le renvoi des noms d'attributs des groupes.

Créer le fichier « CSV »

Pour créer rapidement un fichier d' CSV s minimal contenant les champs utilisateur de base, avec un mot de passe généré automatiquement, suivez cet exemple.

preferred_username given_name family_name email
user1 John Doe jdoe@example.com
user2 Jane Smith jsmith@example.com
user3 John Jones jjones@example.com
Ajoutez d'autres colonnes si nécessaire. Les valeurs des attributs peuvent toujours être modifiées a posteriori dans la console d'administration. Enregistrez ce fichier au format texte « CSV » avec un encodage « UTF-8 ». La taille maximale du fichier est de 10 Mo. Si votre fichier est trop volumineux, divisez-le en plusieurs fichiers au format. CSV.
Remarque : si vous avez exporté vos données CSV depuis Excel, l'encodage comporte souvent des caractères étranges au début du fichier. Ouvrez le fichier dans un éditeur de texte brut et supprimez ces caractères. Ce caractère ressemble à :  et est connu sous le nom de « Byte Order Mark » (BOM). Si les caractères n'apparaissent pas dans l'éditeur de texte, copiez-collez le texte dans un autre éditeur de texte et enregistrez-le sous un nouveau fichier.

Migration de mot de passe

Verify prend en charge l'intégration des mots de passe existants ainsi que la migration des mots de passe fournis en texte clair. Si vous souhaitez créer des utilisateurs avec un mot de passe connu ou haché, ajoutez une colonne nommée password à chaque ligne d'utilisateur; Verify permet de créer un utilisateur avec ce mot de passe. Si votre base de données ou votre service LDAP fournit le hachage unidirectionnel dans l'un des formats pris en charge, vous devez récupérer cette valeur et la faire précéder du préfixe {TYPE}. Par exemple, si vous utilisez Salted-SHA256, la valeur doit être précédée du préfixe {SSHA256}.
“%2B”Remarque : si votre mot de passe contient le '+' caractère « », remplacez-le par « » pour éviter qu'il ne soit interprété comme un “+” caractère de fuite.

Exemple de fichier « CSV »

Cet exemple est un fichier « CSV » contenant un minimum d'informations.
preferred_username,given_name,family_name,email
user1,John,Doe,jdoe@example.com
user2,Jane,Smith,jsmith@example.com
user3,John,Jones,jjones@example.com
Remarque : les espaces après les virgules interrompent l'importation.

Importer le fichier

Une fois votre fichier créé, plusieurs autres options de configuration sont disponibles. Dans l'appel suivant, toutes les notifications par e-mail concernant les nouveaux comptes sont désactivées via le paramètre notifyType=NONE. Un mot de passe aléatoire est généré lors de la première connexion, mais l'utilisateur n'est pas obligé de le modifier (il peut le faire ultérieurement). Pour désactiver l'obligation de changer de mot de passe lors de la première connexion, ajoutez l'en-tête usershouldnotneedtoresetpassword: true.
curl --location -X POST "https://${tenant_url}/v2.0/CSV/importUsers?notifyType=NONE" \
--header "Authorization: Bearer ${access_token}" \
--header 'usershouldnotneedtoresetpassword: true' \
--form 'file=@/path/to/file/user_import.csv'

Si le fichier a été correctement formaté et accepté, vous recevez un identifiant en retour. Cet identifiant peut être utilisé pour interroger l'API d'état afin de vérifier si tout fonctionne correctement. Les utilisateurs sont traités de manière linéaire. Le traitement d'un fichier d'une taille maximale de 10 Mo peut prendre environ 15 à 20 minutes.

Remarque : en cas de mot de passe généré aléatoirement, l'utilisateur reçoit toujours un e-mail, quel que soit le paramètre de notification. Si le mot de passe est indiqué dans le fichier ` CSV `, le paramètre `notify` est alors défini sur `NONE` et l'utilisateur ne reçoit pas d'e-mail.

Vérifier l'état de l'importation

Pendant le traitement des utilisateurs, vous pouvez consulter l'état actuel de l'importation en appelant l'API des tâches de l' CSV.
curl --location --request GET "https://${tenant_url}/v2.0/CSV/jobs/${id}" \
--header "Authorization: Bearer ${access_token}"
La réponse fournit le nombre actuel state d'utilisateurs non traités (unprocessedCount) ainsi que les statistiques sur ceux qui ont été traités et ajoutés (processedCount). En cas d'erreur, un nombre d'erreurs est indiqué (errorsCount).

Chargement en bloc

Vous pouvez migrer des millions d'utilisateurs à l'aide des API de traitement en masse. Voir https://docs.verify.ibm.com/verify/reference/bulkrequest. Il est toutefois plus efficace de vous coordonner avec votre équipe Verify pour qu'elle se charge de planifier le chargement en masse à votre place. Vous pouvez créer un ticket d'assistance auprès du service d'assistance d' IBM, soit via la communauté d'assistance en ligne IBM, soit par téléphone au 1-800- IBM -SERV (800-426-7378). L'équipe chargée de la gestion des services met à votre disposition un espace de téléchargement sécurisé. VerifyVous pouvez ensuite télécharger vos données utilisateur à cet emplacement, et l'équipe de gestion du service se chargera de les importer.