# 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](../DECISIONS.md). --- ## 🔄 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 : ```bash 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 : ```bash 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 - [job-title-to-role.csv](./job-title-to-role.csv) — Mapping détaillé Furious → rôle - [docs/07-rbac-intranet.md](../docs/07-rbac-intranet.md) — Implémentation technique - [DECISIONS.md D7](../DECISIONS.md) — Pourquoi Approche A