Comment migrer les utilisateurs de domaine
Cette section décrit comment migrer les utilisateurs de domaine entre deux domaines. L'article décrit comment déplacer les utilisateurs du domaine "A" (domaine interne) vers le domaine "B" (domaine SAML).
Prérequis
- Un domaine interne est configuré dans S-Filer Portal.
- Avoir l'utilitaire "sfiler-admin-cli" à disposition.
- Avoir les identifiants d'un compte administrateur.
La procédure
Il existe différentes approches pour procéder à la migration des utilisateurs de domaine. La procédure décrite ici repose sur l'utilisation de l'utilitaire "sfiler-admin-cli". Il aurait été possible d'obtenir le même résultat en utilisant des requêtes SQL sur la base de données ou en utilisant l'API REST.
Étape 1 : Création du domaine SAML
La première étape consiste à créer le domaine SAML dans S-Filer Portal. Pour ce faire, il faut se rendre dans la console administrative, cliquer sur "Serveur" et ensuite sur le bouton "Ajouter un mécanisme d'authentification".
IMPORTANT
Il est important de ne pas mettre en oeuvre l'adoption du domaine SAML tant que la migration n'est pas terminée. Cela compliquerait la migration des utilisateurs.
Étape 2 : Identifier les domaines source et destination
La meilleure approche pour s'en assurer est d'utiliser l'utilitaire "sfiler-admin-cli" pour lister les domaines disponibles. La commande "list-domains" retourne la liste des domaines disponibles.
sfiler-admin.exe -l [compte administrateur] -p [mot de passe] -s http://[url]/sfiler/server/ list-domains
Le résultat de la commande sera similaire à ceci :
--------------------------
| ID | Name |
--------------------------
| 1 | Business Partners |
| 3 | LDAP |
| 4 | OpenID |
| 6 | SAML |
--------------------------
Dans cet exemple, le domaine "interne" est identifié par "1" et le domaine "SAML" par "6". Notez les "ID" des domaines car ils seront utilisés dans les commandes suivantes.
Étape 3 : Extraire les utilisateurs devant être migrés
Encore une fois, l'utilitaire "sfiler-admin-cli" est la meilleure approche pour obtenir la liste des utilisateurs à migrer. Les commandes "list-users" et "list-admins" retournent la liste des utilisateurs du domaine source.
sfiler-admin.exe -l [compte administrateur] -p [mot de passe] -s http://[url]/sfiler/server/ list-users
sfiler-admin.exe -l [compte administrateur] -p [mot de passe] -s http://[url]/sfiler/server/ list-admins
Le résultat de la commande sera similaire à ceci :
List of users
-------------------------------------------------------------------------------------------------------------
| ID | Name | Full Name | Email | Language | Notification | ServiceAccount |
-------------------------------------------------------------------------------------------------------------
| 10 | mjones | Mike Jones | mjones@test.sfiler.com | en | false | true |
| 16 | sflowers | Sonia Flowers | sflowers@test.sfiler.com | en | true | false |
| 9 | sroy | Sebastien Roy | sroy@test.sfiler.com | fr | true | true |
-------------------------------------------------------------------------------------------------------------
Étape 4 : Construire un fichier CSV avec les utilisateurs à migrer
La structure du fichier CSV est la suivante :
id,name,email,actual_domain,target_name,target_domain
10,mjones,mjones@test.sfiler.com,1,mjones_2,6
16,sflowers,sflowers@test.sfiler.com,1,sflowers_2,6
9,sroy,sroy@test.sfiler.com,1,sroy_2,6
INFO
La colonne "target_name" doit correspondre au "sujet" dans le domaine cible. Si celui-ci n'existe pas, l'authentification échouera. Dans beaucoup de cas, le "sujet" correspond au courriel de l'utilisateur. Mais ce n'est pas toujours le cas.
Étape 5 : Exécuter la commande de migration
La migration peut être effectuée en appelant de façon répétée la commande "migrate-user" avec les paramètres appropriés.
sfiler-admin.exe -l [compte administrateur] -p [mot de passe] -s http://[url]/sfiler/server/ --modify-user -d 1 -n mjones -e mjones@test.sfiler.com -rename mjones_2 -domain 6
sfiler-admin.exe -l [compte administrateur] -p [mot de passe] -s http://[url]/sfiler/server/ --modify-user -d 1 -n sflowers -e sflowers@test.sfiler.com -rename sflowers_2 -domain 6
sfiler-admin.exe -l [compte administrateur] -p [mot de passe] -s http://[url]/sfiler/server/ --modify-user -d 1 -n sroy -e sroy@test.sfiler.com -rename sroy_2 -domain 6
Cependant, il est possible que les utilisateurs devant être migrés ne soient pas dans le domaine "interne" (habituellement le domaine "1") et qu'il soit nécessaire de leurs attribuer un nouveau nom d'utilisateur. Dans ce cas, il faut exécuter la procédure en deux étapes:
- Migrer les utilisateurs du domaine source vers le domaine interne.
- Migrer les utilisateurs du domaine interne vers le domaine cible en spécifiant le nouveau nom de l'utilisateur.
Cette procédure est nécessaire car il n'est pas possible de modifier le nom d'un utilisateur dans un domaine autre que le domaine interne.
Si le nombre d'utilisateurs à migrer est important, il est recommandé d'automatiser la migration en utilisant un script. Un exemple de script serait le suivant :
@echo off
setlocal EnableDelayedExpansion
if "%~1"=="" (
echo Usage: migrate-users.bat [csv_file]
echo CSV file must have the format: id,name,email,actual_domain,target_name,target_domain
exit /b 1
)
:: Skip the header line and process each line of the CSV
for /f "skip=1 tokens=1-6 delims=," %%a in (%~1) do (
echo Migrating user: %%b / %%c from domain %%d to domain %%e
sfiler-admin.exe -l sfiler-master -p Passw0rd -s "http://localhost:8080/sfiler/server/" modify-user -d %%d -n %%b -e %%c -rename %%e -domain 1
sfiler-admin.exe -l sfiler-master -p Passw0rd -s "http://localhost:8080/sfiler/server/" modify-user -d 1 -n %%e -e %%c -domain %%f
if !errorlevel! neq 0 (
echo Error migrating user %%b
) else (
echo Successfully migrated user %%b to %%f
)
)
echo Migration complete
Étape 6 : Vérifier la migration
La migration est terminée lorsque les utilisateurs ont été migrés vers le domaine SAML. Il est recommandé de vérifier que les utilisateurs ont été migrés en se connectant à la console web avec un rôle d'administrateur.
Étape 7 : Mise-en-oeuvre de l'adoption
Afin de simplifier le processus d'authentification, il est recommandé de mettre en oeuvre l'adoption pour le domaine SAML. Pour ce faire, il faut se rendre dans la console administrative et mettre en place la configuration nécessaire. Vous trouverez la documentation pour réaliser cette opération dans la section sur la Configuration de la source d'adoption.