Tenants
L'écran Tenants permet de lister les organisations isolées de la plateforme, de créer un tenant avec ses premiers
administrateurs et de le renommer. Chemin dans le portail : /admin/tenants. Il sert aux administrateurs de la
plateforme (platform_admin) quand ils accueillent une organisation, et à un administrateur de tenant (tenant_admin)
pour renommer son propre tenant.
Ce que montre l'écran
Un tableau Tenants avec un bouton d'actualisation (Actualiser) et le bouton Nouveau tenant.
| Colonne | Contenu |
|---|---|
| Slug | Identifiant court et unique du tenant (minuscules, chiffres, tirets). |
| Nom | Nom affiché. |
| Résidence des données | Région où restent les données du tenant (eu par défaut). |
| Statut | active ou suspended. |
| Créé | Date de création. |
La liste est paginée par slug : la pagination sous le tableau charge à la demande la page suivante de l'API. Un clic sur une ligne ouvre un panneau latéral avec l'enregistrement complet lu dans l'API. État vide : Aucun tenant, « Créez le premier tenant pour accueillir une organisation. »
Actions
| Bouton ou action | Ce qu'il fait | Appel d'API | Rôles |
|---|---|---|---|
| Ouverture de l'écran, Actualiser, page suivante de la pagination | Lit les tenants page par page. | GET /v1/tenants | Utilisateur connecté ; le serveur renvoie les tenants que l'appelant peut voir. |
| Nouveau tenant puis Créer | Formulaire Slug (obligatoire, par exemple acme), Nom (obligatoire), Résidence des données (suggestions eu, fr, de, ch, uk, us, ca, ae, sa, sg), Administrateurs (liste de sujets, suggérés parmi les membres). Chaque administrateur reçoit le rôle tenant_admin dans le nouveau tenant. | POST /v1/tenants (suggestions : GET /v1/members) | platform_admin |
| Clic sur une ligne | Ouvre le panneau de détail. | GET /v1/tenants/{id} | platform_admin, ou un membre de ce tenant |
| Renommer | Boîte de dialogue avec Nom (obligatoire), puis Renommer. | PATCH /v1/tenants/{id} | tenant_admin du tenant, platform_admin |
Le statut d'un tenant ne se change pas depuis cet écran ; dans l'API, seul platform_admin peut le modifier.
Rôles
D'après services/control-plane/src/eai/domains/tenancy/__init__.py :
POST /v1/tenantsexigeplatform_admin(require_role("platform_admin")).PATCH /v1/tenants/{id}exigetenant_admin;platform_adminpasse toujours. Un administrateur de tenant n'atteint que son propre tenant : un autre tenant répondnot_found. Modifier le champstatusexigeplatform_admin.GET /v1/tenants/{id}répond pour le tenant de l'appelant, ou pour tout tenant àplatform_admin.
Le portail affiche le bouton Nouveau tenant à tout utilisateur (la configuration ne déclare aucun rôle) ; le
serveur refuse la création avec forbidden à tout autre que platform_admin.
Tâches courantes
Accueillir une nouvelle organisation
- Ouvrir l'écran. Portail : Administration > Tenants. Résultat attendu : le tableau des tenants. En cas d'échec : une erreur signifie que l'API est injoignable ou que votre session a expiré ; reconnectez-vous.
- Créer le tenant. Bouton Nouveau tenant : saisissez le Slug (
acme), le Nom, choisissez la Résidence des données et ajoutez les sujets des premiers administrateurs dans Administrateurs, puis Créer. Les administrateurs gèrent ensuite leur tenant sans administrateur de la plateforme. Résultat attendu : le message Créé et une nouvelle ligne. En cas d'échec :forbidden(HTTP 403) si vous n'êtes pasplatform_admin;conflict(HTTP 409) si le slug existe. - Vérifier l'enregistrement. Cliquez la nouvelle ligne. Résultat attendu : le panneau de détail avec le slug, la
résidence et le statut
active. En cas d'échec :not_foundsignifie que le tenant est hors de votre périmètre.
Renommer un tenant
- Ouvrir l'action. Menu de la ligne > Renommer. Résultat attendu : une boîte de dialogue avec le nom actuel. En cas d'échec : pas de menu signifie que la liste ne s'est pas chargée ; cliquez Actualiser.
- Saisir le nouveau nom et confirmer. Bouton Renommer. Résultat attendu : le message Terminé et le nouveau
nom dans le tableau. En cas d'échec :
forbiddensi vous n'êtes nitenant_adminniplatform_admin;not_foundpour un tenant qui n'est pas le vôtre.
Dépannage
| Symptôme | Cause | Correction |
|---|---|---|
forbidden (HTTP 403) sur Créer | Seul platform_admin crée un tenant. | Adressez-vous à un administrateur de la plateforme. |
conflict (HTTP 409) sur Créer | Le slug est déjà pris par un autre tenant. | Choisissez un autre slug. |
| Erreur de validation sur Slug | Le slug ne respecte pas le format attendu (minuscules, chiffres, tirets). | Saisissez un slug comme acme ou acme-eu. |
not_found (HTTP 404) sur le détail ou Renommer | Le tenant n'est pas le vôtre et vous n'êtes pas platform_admin, ou l'identifiant n'est pas un UUID. | Travaillez sur votre propre tenant ou connectez-vous en platform_admin. |
| Un administrateur ne peut pas gérer le nouveau tenant | Le sujet saisi dans Administrateurs n'est pas celui du fournisseur d'identité. | Ajoutez le bon sujet dans Membres et rôles. |