Repository navigation
💡 [REQUEST] - Ajout du rôle Sécurité au système de rôles admin #2792
Description
Description
L'ADR-014 « Gestion des droits fins et propagation dans les outils » définit les seuls groupes Keycloak d'administration plateforme comme étant /console/admin, /console/readonly et /console/security. Le système de rôles admin de la console (table AdminRole) ne comporte aucun rôle adossé à /console/security :
Administrateur Plateforme→/console/adminLecture Seule Plateforme→/console/readonly- aucun rôle →
/console/security
Or les modules de la console référencent déjà /console/security comme groupe plateforme :
- GitLab : groupe auditor
'/console/readonly,/console/security' - Argo CD :
PLATFORM_SECURITY_GROUP_PATH = '/console/security' - Nexus :
DEFAULT_PLATFORM_READ_GROUP_PATHS = '/console/readonly,/console/security' - Registry :
DEFAULT_PLATFORM_GUEST_GROUP_PATHS = '/console/security,/console/readonly' - SonarQube :
DEFAULT_SECURITY_GROUP_PATH = '/console/security'
Conséquences : le groupe /console/security n'est jamais créé ni synchronisé par la réconciliation Keycloak (elle ne traite que les groupes portés par un AdminRole), les utilisateurs ne peuvent pas se voir attribuer le rôle sécurité via la console, et la résolution des rôles côté outils ne trouve aucune ligne AdminRole pour ce groupe.
C'est le pendant « plateforme » de l'ajout du rôle Sécurité projet (#2676) : le rôle projet /<slug>/console/security existe déjà , il manque son homologue admin.
PRs liées
- PR d'implémentation : feat(server-nestjs): add Sécurité Plateforme admin role #2793
- Intégration GitLab (multi-chemins) : fix(server-nestjs): resolve multi-path auditor groups in GitLab mapping #2795
Issues liées
Exemples simples
Un utilisateur positionné dans le groupe Keycloak /console/security doit apparaître dans la console via un rôle admin « Sécurité Plateforme », et la réconciliation Keycloak doit créer puis synchroniser ce groupe comme elle le fait pour /console/admin et /console/readonly.
Spécifications techniques
- Ajouter le rôle admin système « Sécurité Plateforme » :
oidcGroup = '/console/security', typesystem:managed, position 3 (après Lecture Seule Plateforme), permissionsADMIN_PERMS.LIST(lecture seule — l'ADR-014 positionne la sécurité plateforme en *-RO pour la console). - Livrer par migration Prisma idempotente (anti-jointure sur
oidcGroup) dansapps/server-nestjs/src/prisma/migrations/, en miroir du backfill projet20260908155700_add_security_role. - Propagation outils : la réconciliation Keycloak crée le groupe de tout
AdminRoleporteur d'unoidcGroupnon vide et synchronise ses membres ; Vault, Harbor, SonarQube, Nexus et Argo CD câblent dĂ©jĂ/console/security. La cartographie GitLab admin/auditor est corrigĂ©e pour rĂ©soudre la configuration multi-chemins (PR : fix(server-nestjs): resolve multi-path auditor groups in GitLab mapping #2795).
Définition du fini
- Le rôle « Sécurité Plateforme » est inséré par migration (
oidcGroup = '/console/security', typesystem:managed, position 3, permissions 1 =LIST) - La migration est idempotente : rĂ©-exĂ©cution sans effet, aucun doublon si un rĂ´le personnalisĂ© rĂ©fĂ©rence dĂ©jĂ
/console/security - La réconciliation Keycloak crée le groupe
/console/securityet synchronise ses membres - La cartographie GitLab résout les groupes plateforme multi-chemins (
/console/admin,/console/readonly,/console/security) - Les tests unitaires passent (
pnpm test)
Activity
feat(server-nestjs): add Sécurité Plateforme admin role
feat(server-nestjs): add Sécurité Plateforme admin role
feat(server-nestjs): add Sécurité Plateforme admin role
fix(server-nestjs): resolve multi-path auditor groups in GitLab mapping
feat(server-nestjs): add Sécurité Plateforme admin role
fix(server-nestjs): resolve multi-path auditor groups in GitLab mapping
feat(server-nestjs): add Sécurité Plateforme admin role
fix(server-nestjs): resolve multi-path auditor groups in GitLab mapping
feat(server-nestjs): add Sécurité Plateforme admin role
fix(server-nestjs): resolve multi-path auditor groups in GitLab mapping