Skip to content

💡 [REQUEST] - Ajout du rôle Sécurité au système de rôles admin #2792

Closed

Description

@shikanime

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/admin
  • Lecture 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

Issues liées

#1732
#2676
#1651

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', type system:managed, position 3 (après Lecture Seule Plateforme), permissions ADMIN_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) dans apps/server-nestjs/src/prisma/migrations/, en miroir du backfill projet 20260908155700_add_security_role.
  • Propagation outils : la rĂ©conciliation Keycloak crĂ©e le groupe de tout AdminRole porteur d'un oidcGroup non 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', type system: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/security et 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

  1. self-assigned this
    on Sep 29, 2026
  2. added this to the 10.0.0 milestone on Sep 29, 2026
  3. moved this to Hypotheses in Cloud Pi Nativeon Oct 5, 2026
  4. modified the milestones: 10.0.0, 9.27.0 on Oct 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions