Membres et rôles
L'écran Membres et rôles permet d'ajouter les personnes du tenant, de donner à chacune un rôle et une habilitation
sur les données, de les modifier et de retirer une adhésion. Chemin dans le portail : /admin/members. Il sert aux
administrateurs du tenant (tenant_admin) ; tout membre du tenant peut lire la liste.
Ce que montre l'écran
Un tableau Membres avec Actualiser et Inviter un membre :
| Colonne | Contenu |
|---|---|
| Utilisateur | Sujet de la personne (sub OIDC ou identifiant utilisateur). |
| Nom affiché | Nom affiché dans le portail. |
| Adresse e-mail. | |
| Rôle | Rôle de cette adhésion : platform_admin, tenant_admin, security_officer, finops, developer, auditor, agent ou viewer. |
| Habilitation | Classification de données la plus haute que le membre peut lire : public, internal, confidential, restricted, secret. |
| Créé | Date de l'adhésion. |
Une ligne est une adhésion : une personne qui a deux rôles a deux lignes. La liste est paginée. État vide : Aucun membre, « Ajoutez un membre et attribuez des rôles. »
Pour un platform_admin, un bloc Consoles d'exploitation sous le tableau donne le lien Ouvrir la console vers
Keycloak (identités), ou la raison pour laquelle il n'est pas configuré.
Actions
| Bouton ou action | Ce qu'il fait | Appel d'API | Rôles |
|---|---|---|---|
| Ouverture de l'écran, Actualiser | Lit les adhésions page par page. | GET /v1/members | Membre du tenant |
| Inviter un membre puis Créer | Formulaire Utilisateur (obligatoire), Nom affiché, E-mail, Rôle (obligatoire), Habilitation, Projet (suggéré parmi les projets). Le serveur crée l'utilisateur au besoin ; le même utilisateur avec le même rôle met à jour l'habilitation et le projet, avec un autre rôle ajoute une adhésion. Habilitation internal si le champ reste vide. | POST /v1/members (suggestions : GET /v1/members, GET /v1/projects) | tenant_admin |
| Modifier les rôles | Boîte de dialogue Rôle (obligatoire) et Habilitation, puis Modifier les rôles. | PATCH /v1/members/{id} | tenant_admin |
| Retirer | Confirmation destructive avec l'impact, puis retrait de l'adhésion. | DELETE /v1/members/{id} (impact : GET /v1/lineage/graph) | tenant_admin |
| Ouvrir la console (Keycloak) | Ouvre la console des identités dans un nouvel onglet. | aucun | platform_admin |
Rôles
D'après services/control-plane/src/eai/domains/tenancy/__init__.py : la lecture exige un principal rattaché à un
tenant (require_tenant) ; ajouter, modifier et retirer exigent tenant_admin (platform_admin passe toujours).
Attribuer le rôle platform_admin est refusé avec forbidden à tout autre qu'un platform_admin. Le portail affiche
les boutons à tout utilisateur ; le serveur décide.
Une adhésion créée par un groupe d'annuaire est retirée quand le groupe disparaît du jeton de l'utilisateur, sauf si un administrateur l'a modifiée à la main ensuite : une adhésion modifiée sur cet écran devient manuelle.
Tâches courantes
Donner accès au tenant à une personne
- Ouvrir le formulaire. Bouton Inviter un membre. Résultat attendu : le formulaire latéral. En cas d'échec : pas de bouton signifie que l'écran ne s'est pas chargé ; cliquez Actualiser.
- Remplir l'identité et le rôle. Utilisateur : le sujet du fournisseur d'identité ; Rôle : le rôle
nécessaire, par exemple
developer; Habilitation :internalou plus si la personne lit des données confidentielles. Puis Créer. Résultat attendu : le message Créé et la nouvelle ligne. En cas d'échec :forbiddensi vous n'êtes pastenant_adminou si vous attribuezplatform_adminsans l'être. - Vérifier la connexion. Demandez à la personne de se connecter. Résultat attendu : les écrans de son rôle sont
accessibles. En cas d'échec : le sujet saisi diffère du
subdu jeton ; corrigez Utilisateur.
Changer le rôle d'un membre
- Ouvrir l'action. Menu de la ligne > Modifier les rôles. Résultat attendu : une boîte de dialogue avec le
rôle et l'habilitation actuels. En cas d'échec :
not_foundà l'envoi signifie que l'adhésion a été retirée entre-temps. - Choisir le nouveau rôle et envoyer. Résultat attendu : le message Terminé et la ligne mise à jour. En cas
d'échec :
conflict(HTTP 409) si la personne détient déjà ce rôle sur une autre ligne ; retirez l'une des deux lignes.
Retirer une adhésion
- Ouvrir l'action. Menu de la ligne > Retirer, lisez l'impact, confirmez. Résultat attendu : la ligne
disparaît. En cas d'échec :
forbiddensi vous n'êtes pastenant_admin.
Dépannage
| Symptôme | Cause | Correction |
|---|---|---|
forbidden (HTTP 403) avec required_roles: ["platform_admin"] | Vous attribuez le rôle platform_admin sans l'être. | Adressez-vous à un administrateur de la plateforme. |
forbidden (HTTP 403) sur toute modification | Votre rôle n'est pas tenant_admin. | Adressez-vous à un administrateur du tenant. |
conflict (HTTP 409) sur Modifier les rôles | La personne détient déjà le rôle visé. | Gardez une ligne par rôle. |
not_found (HTTP 404) | L'adhésion ou l'identifiant de projet n'existe pas. | Cliquez Actualiser ; vérifiez le champ Projet. |
tenant_required (HTTP 403) | La session n'agit pas dans un tenant. | Connectez-vous avec un compte du tenant. |
| Consoles d'exploitation affiche « Non configurée » | Aucune adresse de console Keycloak n'est configurée. | Renseignez le paramètre indiqué ou installez le service avec le Navin Manager. |