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

132 lines
4.1 KiB
Markdown

# 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