Development #9934
import/export utilisateurs et rôles d'authentic
0%
Description
Pour les passages de recette en prod on bricole avec l'export wcs et de l'inversion de provisioning et un appel à import-wcs-roles, ça ne tient pas la route.
Il faudrait depuis authentic en recette pouvoir exporter utilisateurs et rôles, et depuis l'authentic en prod charger ça.
(priorité normale, importance haute)
Demandes liées
Historique
Mis à jour par Thomas Noël il y a environ 8 ans
- disposer d'un export global tous les rôles + tous les utilisateurs + les affectations, avec conservation des UUID [pour une mise en prod total]
- et d'un export d'un seul rôle (ou d'une sélection de rôles), avec UUID [pour la suite, quand il faut faire avancer la prod pour lui faire rejoindre la recette]
- sur l'import : avec warning si un rôle du même nom existe déjà avec un autre UUID
Mis à jour par Benjamin Dauvergne il y a environ 8 ans
Ok, je ne vais traiter que export / import global via une commande, exporter 1 rôle ça n'a pas de sens, il faut que la recette soit une copie de la prod, si il y a des rôles en trop en recette il faut les virer.
L'exporte des rôles ça ne devrait pas poser de souci, par contre pour les utilisateurs c'est embêtant car on va forcément se retrouver avec les mêmes utilisateurs ayant des uuid différents en prod et en recette, je propose la méthode de résolution suivante:- chercher par uuid
- ensuite tenter de matcher sur l'identifiant LDAP si il y en a un
- ensuite se baser sur email, nom, prénom
- ensuite se baser sur username, nom, prénom
- finalement recréer l'utilisateur
- chercher par uuid
- chercher par slug
- chercher par nom
- sinon recréer
L'export aurait cette tête:
{ "users": [ { "uuid": "xxxx", "username": "xxxx", "first_name": "xxxx", "last_name": "xxxx", "email": "xxxx", "is_superuser": "xxxx", "is_staff": "xxxx", "attributes": [ # autres attributs du profil { "name": "xxx", "value": "yyy"} ], } ], "roles": [ { "uuid": "xxx", "ou": "Alfortville", "name": "...", "slug": "...", "members": [ "...." <- uuid du user, durant l'import des users on crée une table de mapping ], "parents": [ "...." <- uuid du rôle, idem.. ], "children": [ "...." ], "attributes": [ # autres attributs, emails, emails_to_members, etc.. on met à jour en se basant sur kind&name, on ne supprime pas les attributs en plus { "kind": "...", "name": "...", "value": "....", } ] } ] }
En fait je pense que l'import/export des utilisateurs et des membres c'est mal, en plus ça n'est pas essentiel, une mise en prod d'un formulaire c'est rôle+formulaire, l'affectation des utilisateurs est à faire en prod par la collectivité.
Mis à jour par Thomas Noël il y a environ 8 ans
Benjamin Dauvergne a écrit :
Pour moi, si :exporter 1 rôle ça n'a pas de sens
- sur la recette, je créé un rôle, je lui attribue des choses sur w.c.s., ailleurs, etc
- on vérifie que tout est ok
- pour basculer sur la prod, j'exporte le rôle, avec son UUID conservé par rapport à la recette
Si on crée le rôle sur la prod sans passer par export-recette/import-prod, il aura un autre UUID que la recette, et ça sera pénible de migrer le reste qui fera référence à cet UUID.
Mais ça peut attendre un poil.
Note : hier quand j'en causais avec Josué, l'idée qui sortait, c'était de programmer cet export/import via django-rest-framework ...?
Mis à jour par Frédéric Péters il y a presque 8 ans
- Lié à Development #11450: add a view for imports of roles and users ajouté
Mis à jour par Josué Kouka il y a plus de 7 ans
- Lié à Development #12595: add a manage command to import roles and users from a data dump ajouté
Mis à jour par Frédéric Péters il y a plus de 6 ans
- Lié à Development #20770: Pouvoir déployer Publik depuis une UI ajouté
Mis à jour par Frédéric Péters il y a environ 6 ans
- Sujet changé de import/export utlisateurs et rôles d'authentic à import/export utilisateurs et rôles d'authentic
Mis à jour par Benjamin Dauvergne il y a environ 6 ans
- Lié à Development #14207: Modifier le provisionning pour retrouver les rôles par uuid, slug ou nom ajouté
Mis à jour par Emmanuel Cazenave il y a plus de 5 ans
Up pour moi même parce que deux heures à créer des utilisateurs et leur affecter des rôles, plus jamais ça.
Mis à jour par Valentin Deniaud il y a plus de 2 ans
- Statut changé de Nouveau à Fermé
- Planning mis à Non
- Club mis à Non
On a tout ça depuis un moment.