Aller au contenu principal

Gestion des utilisateurs

Les utilisateurs Avatar sont stockés dans Authentik, le fournisseur d'identité des deux chemins d'installation auto-hébergés. Avatar n'a pas de base d'utilisateurs distincte.

Avec l'outil de déploiement (Docker)​

octopize-deploy-tool tasks create-users crée les comptes dans Authentik, les place dans le bon groupe, et envoie à chaque utilisateur un lien par email pour définir son mot de passe. Exécutez-la une fois la stack démarrée. Elle peut être relancée sans risque : les comptes existants sont ignorés.

octopize-deploy-tool tasks create-users --app-root ./app/avatar \
--admins alice@company.com \
--users bob@company.com,carol@company.com

--no-email crée les comptes sans envoyer l'email. Si l'envoi de l'email échoue, le compte existe tout de même : envoyez le lien depuis l'interface Authentik, comme à l'étape 3.

Dans l'interface d'administration Authentik​

Utilisez cette méthode sur Kubernetes, ou lorsque vous avez besoin d'un contrôle plus fin que celui offert par la commande. Connectez-vous à https://<your-domain>/sso/ avec un compte superutilisateur ou disposant du rôle Avatar Tenant Admin, par exemple akadmin. Le déroulement est le suivant :

  1. Créer un groupe pour l'organisation.
  2. Créer les utilisateurs dans ce groupe.
  3. Envoyer à chaque utilisateur un email de récupération pour qu'il définisse lui-même son mot de passe.

Voir aussi la documentation Authentik sur les utilisateurs, groupes et rôles.

1. Créer un groupe​

Dans Authentik, les groupes sont le principal mécanisme de gestion des permissions. Chaque entreprise cliente doit disposer de son propre groupe. Le nom du groupe doit correspondre au domaine email de ce client (par ex. facebook pour un utilisateur avec john@facebook.com). Le type de licence est contrôlé via un attribut au niveau du groupe.

1.1 Accéder à la page des groupes​

Dans la barre latérale gauche, dépliez Directory et cliquez sur Groups.

Page des groupes — naviguer et cliquer sur New Group

(1) Cliquez sur Groups dans la barre latérale sous Directory. (2) Cliquez sur le bouton New Group en haut à droite de la liste.

1.2 Remplir le formulaire de création de groupe​

La boîte de dialogue New Group apparaît.

Formulaire de création de nouveau groupe

Remplissez les champs comme suit :

ChampQue saisir
Group NameLe domaine email du client, par ex. facebook. Voir l'annotation dans la capture d'écran.
Superuser PrivilegesLaisser désactivé sauf besoin explicite.
Parents / RolesLaisser vide pour les groupes clients standards.
AttributesDéfinir le type de licence : license: expert pour les clients payants, license: free_trial pour un essai.

(1) Saisissez le nom du groupe — de préférence le domaine email du nouveau client. (2) Dans le champ Attributes, saisissez license: expert ou license: free_trial au format YAML. (3) Cliquez sur Create Group.

Pourquoi le domaine email ? Utiliser le domaine comme nom de groupe facilite la mise en correspondance des groupes avec les organisations clientes, et correspond à ce que nous faisons avec la connexion Google OAuth.

2. Créer des utilisateurs​

Les utilisateurs sont créés depuis le groupe auquel ils appartiennent. Cela garantit qu'ils sont automatiquement associés au bon groupe dès leur création — pas besoin d'affecter l'appartenance au groupe séparément.

2.1 Ouvrir le groupe et accéder à l'onglet Users​

Une fois le groupe créé, il apparaît dans la liste des groupes. Cliquez sur le nom du groupe pour l'ouvrir.

Liste des groupes — cliquer sur le nom du groupe pour gérer les utilisateurs

La page de détail du groupe s'ouvre. Cliquez sur l'onglet Users en haut.

2.2 Ajouter un nouvel utilisateur​

Dans l'onglet Users, cliquez sur le bouton déroulant Add new user, puis sélectionnez New user….

Onglet Users du groupe — menu déroulant Add new user

(1) Vous êtes maintenant dans l'onglet Users du groupe. (2) Cliquez sur le bouton déroulant Add new user. (3) Sélectionnez New user… dans le menu (pas New service account…).

2.3 Remplir le formulaire de création d'utilisateur​

La boîte de dialogue New User apparaît, préassociée au groupe courant.

Formulaire de création de nouvel utilisateur

Remplissez les champs comme suit :

ChampQue saisir
UsernameL'adresse email de l'utilisateur (ex. john@facebook.com). C'est son identifiant de connexion principal.
Display NameOptionnel — peut être laissé vide ou renseigné avec le nom complet de l'utilisateur.
User typeSélectionnez External pour les clients (utilisateurs B2C sans accès aux fonctionnalités entreprise).
Email AddressIdentique au username — l'adresse email de l'utilisateur.
ActiveLaisser activé.
PathLaisser users.
AttributesLaisser vide sauf besoin d'attributs spécifiques par utilisateur.

(1) Définissez à la fois Username et Email Address avec l'adresse email de l'utilisateur. (2) Sélectionnez le type d'utilisateur External. (3) Cliquez sur Create User.

Types d'utilisateurs : choisissez Internal uniquement pour les employés Octopize avec un accès entreprise complet. External est le type correct pour tous les clients et collaborateurs externes. Voir la documentation Authentik sur les types d'utilisateurs pour plus de détails.

2.4 Confirmer la création de l'utilisateur​

Après avoir cliqué sur Create User, vous serez redirigé vers l'onglet Users du groupe. Le nouvel utilisateur apparaît dans la liste avec Active: Yes, et un message de confirmation s'affiche en bas de l'écran.

Confirmation de création et d&#39;ajout de l&#39;utilisateur au groupe

(1) L'utilisateur new_user@example.com est maintenant membre du groupe et actif.

3. Envoyer l'email de bienvenue​

L'utilisateur a été créé sans mot de passe. Vous devez lui envoyer un lien de récupération pour qu'il puisse définir son propre mot de passe et se connecter pour la première fois.

3.1 Ouvrir le profil de l'utilisateur​

Cliquez sur le nom d'utilisateur dans la liste Users du groupe pour accéder à sa page de profil.

Page de synthèse de l&#39;utilisateur — bouton Email recovery link

Dans l'onglet Overview du profil utilisateur, repérez la section Recovery en haut à droite de la carte User Info, et cliquez sur Email recovery link.

3.2 Sélectionner l'étape email​

Une boîte de dialogue Send recovery link to user apparaît. Cliquez sur le menu déroulant Email stage et sélectionnez avatar-recovery-email.

Envoi du lien de récupération — sélection de l&#39;étape avatar-recovery-email

(1) Cliquez sur le champ Email stage. (2) Sélectionnez avatar-recovery-email dans la liste des étapes email disponibles.

L'étape avatar-recovery-email utilise le modèle d'email Avatar personnalisé. Ne sélectionnez pas avatar-email-account-confirmation ou une autre étape pour cet usage.

3.3 Définir la durée du jeton et envoyer​

Après avoir sélectionné l'étape email, vérifiez la Token duration (par défaut : days=7). Ajustez si nécessaire, puis cliquez sur Send link.

Envoi du lien de récupération — définir la durée du jeton et envoyer

(1) Ajustez éventuellement la Token duration — days=7 est la durée de validité standard. (2) Cliquez sur Send link.

L'utilisateur recevra un email contenant un lien lui permettant de définir son mot de passe. Le lien est valide pour la durée spécifiée.

Résumé​

ÉtapeActionEmplacement
1Naviguer vers Directory → GroupsBarre latérale
2Cliquer sur New Group, définir le nom (domaine email) + l'attribut licensePage Groups
3Cliquer sur le nom du groupe, aller dans l'onglet UsersDétail du groupe
4Add new user → New user…, renseigner l'email + sélectionner ExternalOnglet Users du groupe
5Sur le profil de l'utilisateur, cliquer sur Email recovery linkOverview utilisateur
6Sélectionner avatar-recovery-email, définir la durée, cliquer sur Send linkBoîte de dialogue Recovery

Pour aller plus loin​

Récupérer l'accès administrateur​

Si vous avez perdu le mot de passe akadmin et qu'aucun autre compte administrateur n'existe, générez un lien de récupération à usage unique depuis le worker Authentik :

# Docker, depuis generated_files/
docker compose exec authentik_worker ak create_recovery_key 1 akadmin

# Kubernetes (le nom du deployment est préfixé par le nom de la release Helm)
kubectl -n avatar exec deploy/<authentik-worker-deployment> -- ak create_recovery_key 1 akadmin

Cette commande affiche une URL, valide un an ici, qui vous permet de définir un nouveau mot de passe pour akadmin. Voir la documentation Authentik sur la récupération de connexion.