Identités de service
L'écran Identités de service permet d'enregistrer les identités SPIFFE que les workloads utilisent pour
l'authentification mTLS, de leur donner des rôles et de les supprimer. Chemin dans le portail :
/admin/service-identities. Il sert aux administrateurs du tenant (tenant_admin) et aux responsables sécurité
(security_officer) ; tout membre du tenant lit la liste.
Ce que montre l'écran
Un tableau Identités de service avec Actualiser et Nouvelle identité :
| Colonne | Contenu |
|---|---|
| Nom | Nom de l'identité. |
| Identifiant SPIFFE | Identifiant SPIFFE du workload, par exemple spiffe://eai.local/ns/agents/sa/worker. |
| Rôles | Rôles accordés au workload. |
| Créé | Date de création. |
La liste est lue en un seul appel et triée par nom. État vide : Aucune identité de service, « Enregistrez un identifiant SPIFFE pour un workload. »
Actions
| Bouton ou action | Ce qu'il fait | Appel d'API | Rôles |
|---|---|---|---|
| Ouverture de l'écran, Actualiser | Lit les identités de service. | GET /v1/service-identities | Membre du tenant |
| Nouvelle identité puis Créer | Formulaire Nom (obligatoire), Identifiant SPIFFE (obligatoire, spiffe://<domaine-de-confiance>/<chemin>), Rôles (liste ; suggestions platform_admin, tenant_admin, security_officer, finops, developer, auditor, agent, viewer). Habilitation internal. | POST /v1/service-identities | tenant_admin, security_officer |
| Supprimer | Confirmation destructive avec l'impact, puis suppression. | DELETE /v1/service-identities/{id} (impact : GET /v1/lineage/graph) | tenant_admin, security_officer |
Rôles
D'après services/control-plane/src/eai/domains/identity/__init__.py : la lecture exige un principal rattaché à un
tenant ; la création et la suppression exigent tenant_admin ou security_officer (platform_admin passe toujours).
Un security_officer sans rôle d'administrateur ne peut pas donner un rôle qu'il ne détient pas, et seul un
platform_admin donne platform_admin.
Tâches courantes
Enregistrer un workload de traitement
- Ouvrir le formulaire. Bouton Nouvelle identité. Résultat attendu : le formulaire latéral. En cas d'échec :
forbiddenà l'envoi si vous n'êtes nitenant_adminnisecurity_officer. - Remplir l'identifiant SPIFFE et les rôles. Nom :
agents-worker; Identifiant SPIFFE :spiffe://eai.local/ns/agents/sa/worker(l'identité délivrée au workload) ; Rôles :agent. Puis Créer. Le certificat mTLS du workload est alors associé à ces rôles. Résultat attendu : le message Créé et la nouvelle ligne. En cas d'échec : une erreur de validation si l'identifiant ne commence pas parspiffe://;conflict(HTTP 409) si l'identifiant SPIFFE est déjà enregistré.
Retirer un workload qui n'existe plus
- Supprimer l'identité. Menu de la ligne > Supprimer, lisez l'impact, confirmez. Résultat attendu : la ligne
disparaît et le workload ne peut plus s'authentifier avec cette identité. En cas d'échec :
not_foundsi elle a déjà été supprimée.
Dépannage
| Symptôme | Cause | Correction |
|---|---|---|
| Erreur de validation sur Identifiant SPIFFE | La valeur ne respecte pas spiffe://<domaine-de-confiance>/<chemin>. | Saisissez l'identifiant SPIFFE complet. |
conflict (HTTP 409) | Cet identifiant SPIFFE est déjà enregistré dans le tenant. | Réutilisez l'identité existante ou supprimez-la d'abord. |
forbidden (HTTP 403) avec required_roles | Votre rôle ne gère pas les identités de service, ou vous donnez un rôle que vous ne détenez pas. | Adressez-vous à un tenant_admin. |
not_found (HTTP 404) sur Supprimer | L'identité n'existe plus. | Cliquez Actualiser. |
tenant_required (HTTP 403) | La session n'agit pas dans un tenant. | Connectez-vous avec un compte du tenant. |