seize-infra-doc/matrices/rbac-matrix.md
Hedi Kalboussi 1e90a85359 Documentation initiale infra Seize — passation J7
- 6 docs racine (README, HANDOVER, ARCHITECTURE, DECISIONS, INSTALL, OPERATIONS)
- 9 docs thématiques dans docs/
- 10 templates docker-compose dans configs/
- 7 scripts Python/Shell d'import Furious vers Zitadel
- 2 matrices RBAC

Etat infra au 5 juin 2026 :
- 88 users Furious importes dans Zitadel
- 8 roles RBAC crees et attribues
- Intranet filtre les cartes selon role (Approche A)
- 7 outils SSO operationnels
2026-06-05 17:49:43 +00:00

4.1 KiB

Matrice RBAC — Qui voit quoi sur l'intranet

Décision tranchée par Hedi Kalboussi le 5 juin 2026 (validée verbalement par Philippe Spoljaric, à valider en workshop formel).


🎯 Matrice principale

Application direction manager expert consultant_senior consultant_junior alternant stagiaire support
Intranet (page d'accueil)
Gitea (Git)
Code Server (IDE)
n8n (Workflows)
Portainer (Docker)
Uptime Kuma (Monitoring)
Traefik Dashboard

🎭 Définition des rôles

direction

Périmètre : Top management, accès complet à toute l'infrastructure.

Inclut : Président, Directeur, Directeur Associé.

Profil type : Pierre-Yves Tachon (Président), Philippe Spoljaric (Admin Infra).

manager

Périmètre : Managers opérationnels, gèrent des équipes.

Inclut : Senior Manager, Manager, Manager BI.

expert

Périmètre : Experts techniques senior, peuvent intervenir sur des outils dev (n8n).

Inclut : Expert, Expert N2, Consultant Expert niveau 1.

consultant_senior

Périmètre : Consultants expérimentés (3+ ans). Accès dev (Gitea + Code).

Inclut : Consultant Sénior, Consultant Expérimenté(e).

consultant_junior

Périmètre : Consultants juniors, accès dev limité.

alternant

Périmètre : Apprentis en alternance, accès dev limité.

⚠️ Tous les users avec status: apprenti dans Furious sont mappés en alternant.

stagiaire

Périmètre : Stagiaires, accès dev limité.

support

Périmètre : Support administratif et marketing. Accès aux outils collaboratifs.

Inclut : Assistante, Assistante de direction, Chargé de recrutement, Marketing.


📊 Distribution effective (au 5 juin 2026)

Rôle Nombre d'users
consultant_senior 27
consultant_junior 16
manager 14
alternant 13
expert 8
direction 6
support 3
TOTAL 87 (sur 88, 1 vide à corriger)

⚠️ Limites acceptées (Approche A)

L'Approche A filtre les cartes côté intranet mais ne bloque pas l'accès direct à un outil si l'user connaît l'URL.

Exemple : un consultant_junior ne voit pas la carte Portainer sur l'intranet, mais s'il tape portainer.seizeconsulting.com dans son navigateur, il sera authentifié et accédera à Portainer (car le SSO ne discrimine pas par rôle).

→ Acceptable pour Seize Consulting (88 collaborateurs non-malveillants).

Pour un vrai RBAC sur chaque outil, voir DECISIONS.md D7.


🔄 Modification de la matrice

Pour ajouter ou modifier les autorisations

  1. Éditer le fichier ~/docker/intranet/index.html
  2. Trouver le bloc JavaScript ACCESS_MATRIX
  3. Modifier les listes de rôles
  4. Restart de l'intranet :
    cd ~/docker/intranet
    docker compose restart
    

Pour ajouter un nouveau rôle

  1. Créer le rôle dans Zitadel (Project Infra Seize → Roles → New)
  2. Mettre à jour JOB_TITLE_TO_ROLE dans generate-roles-mapping.py et assign-roles.py
  3. Mettre à jour ACCESS_MATRIX dans index.html pour préciser ce que ce rôle voit
  4. Lancer :
    python3 generate-roles-mapping.py
    python3 assign-roles.py
    cp roles-mapping.json ~/docker/intranet/
    cd ~/docker/intranet && docker compose restart
    

🗓️ Historique des modifications

Date Action Auteur
2026-06-05 Création initiale (8 rôles, 6 outils filtrés) Hedi Kalboussi

📚 Voir aussi