feat(server-nestjs): implémenter le RBAC fins d'observability - #2435
Draft
shikanime wants to merge 1 commit into
Draft
feat(server-nestjs): implémenter le RBAC fins d'observability#2435shikanime wants to merge 1 commit into
shikanime wants to merge 1 commit into
Conversation
shikanime
force-pushed
the
feat/observability-adr014-rbac
branch
2 times, most recently
from
August 7, 2026 11:47
6d41afc to
a77ab03
Compare
shikanime
marked this pull request as draft
August 7, 2026 11:47
Member
Author
Revue — PR #2435 (RBAC fins observability, ADR 014)Vérifié localement sur
|
shikanime
force-pushed
the
feat/observability-adr014-rbac
branch
2 times, most recently
from
August 7, 2026 13:19
be6106f to
d791621
Compare
- getRbacPerms(project) calcule, depuis la matrice de permissions bitmask (@cpn-console/shared), l'appartenance d'un utilisateur a un role fin : MANAGE -> admin, MANAGE_ENVIRONMENTS -> devops, LIST_ENVIRONMENTS -> readonly (le proprietaire est admin) - generateProjectRbacGroupPath(project, role) produit le chemin de groupe Keycloak hierarchique /<slug>/console/<role> (ADR 014, coherent avec les autres modules a droits fins : vault, project, sonarqube) - Lors des events create/update/delete, le service cree/met a jour/supprime ces groupes dans Keycloak en parallele des sous-groupes Grafana legacy (etape 1 de migration : coexistence) - Les nouveaux groupes sont publies dans les values Grafana generees (generateObservabilityProject) - Tests unitaires Vitest : getRbacPerms (mapping des permissions, exclusion des membres sans permission) et generateProjectRbacGroupPath Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr> Change-Id: Icf82862003a3794164bbe4cef5d2fca26a6a6964
shikanime
force-pushed
the
feat/observability-adr014-rbac
branch
from
August 7, 2026 14:16
d791621 to
93a0de9
Compare
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

0 New Issues
0 Fixed Issues
0 Accepted Issues
Issues liées
Issues numéro :
Quel est le comportement actuel ?
Le plugin observability (server-nestjs) synchronise uniquement les sous-groupes Grafana legacy
grafana/<env>-<RO|RW>dans Keycloak à partir degetListPerms. Les groupes hiérarchiques/<slug>/console/<role>définis par l'ADR 014 (droits fins) ne sont ni créés ni propagés dans les values Grafana.Quel est le nouveau comportement ?
getRbacPerms(project)calcule, depuis la matrice de permissions bitmask (@cpn-console/shared), l'appartenance d'un utilisateur à un rôle fin :MANAGE→ admin,MANAGE_ENVIRONMENTS→ devops,LIST_ENVIRONMENTS→ readonly (le propriétaire est admin).generateProjectRbacGroupPath(project, role)produit le chemin de groupe Keycloak hiérarchique/<slug>/console/<role>(ADR 014, cohérent avec les autres modules à droits fins : vault, project, sonarqube).generateObservabilityProject).getRbacPerms(mapping des permissions, exclusion des membres sans permission) etgenerateProjectRbacGroupPath.Cette PR introduit-elle un breaking change ?
Non. Les groupes legacy sont conservés ; les nouveaux groupes s'ajoutent sans rupture (migration progressive, étape 1/3 de l'ADR 014). La suppression des sous-groupes legacy (étape 3) et les guards d'autorisation Keycloak/CASL (ADR 019) restent hors périmètre de cette PR.
Autres informations