Controle d'acces administrateur
Document de preuve - INV-IAM-10
1. Principes
1.1 Moindre privilege
Chaque administrateur dispose uniquement des acces necessaires a ses fonctions.
1.2 Separation des roles
| Role | Perimetre | Exclusions |
| Infra Admin | Serveurs, reseau, deploiement | Donnees applicatives |
| Keycloak Admin | Configuration IdP, realms | Secrets applicatifs |
| DB Admin | PostgreSQL, backups | Cles cryptographiques |
| Security | Audit, logs, conformite | Modifications config |
2. Acces serveurs (SSH)
2.1 Methode d'authentification
- Cles SSH uniquement (pas de mot de passe)
- Cles deployees via Ansible
- Rotation recommandee: annuelle
2.2 Liste des acces autorises
| Utilisateur | Serveurs | Justification |
| gitlab-runner | DEV, STAGING, PROD | Deploiement CI/CD |
| loic | DEV | Administration infrastructure |
2.3 Audit des connexions
# Dernières connexions
last -20
# Tentatives echouees
sudo grep "Failed password" /var/log/auth.log | tail -20
3. Acces Keycloak Admin
3.1 Comptes administrateur
| Environnement | Compte | Stockage credentials |
| DEV | admin | Vault: kv/keycloak/dev/admin |
| STAGING | admin | Vault: kv/keycloak/staging/admin |
| PROD | admin | Vault: kv/keycloak/prod/admin |
3.2 Politique de mot de passe
- Longueur minimale: 16 caracteres
- Complexite: majuscules, minuscules, chiffres, speciaux
- Rotation: tous les 90 jours
- Stockage: HashiCorp Vault uniquement
3.3 Audit des actions admin
Les actions administrateur sont journalisees dans Keycloak: - Console admin > Events > Admin Events - Retention: 30 jours minimum
4. Acces HashiCorp Vault
4.1 Politiques
| Politique | Acces | Utilisateurs |
| ansible-deploy | kv/keycloak/, kv/metabase/ | CI/CD pipeline |
| keycloak-read | kv/keycloak//clients/ (lecture) | Services backend |
| admin-full | kv/* | Administrateurs infrastructure |
4.2 Authentification
- Token root: usage exceptionnel uniquement
- AppRole: pour les services automatises
- Userpass: non utilise
5. Acces base de donnees
5.1 Comptes PostgreSQL
| Compte | Base | Privileges | Usage |
| keycloak | keycloak_* | ALL | Application Keycloak |
| postgres | * | SUPERUSER | Administration (local only) |
| metabase | metabase | ALL | Metabase metadata |
5.2 Restrictions reseau
- PostgreSQL ecoute sur localhost uniquement
- Pas d'acces externe autorise
- Connexion via SSH tunnel si necessaire
6. Revue des acces
6.1 Frequence
| Type de revue | Frequence |
| Acces SSH | Trimestrielle |
| Comptes Keycloak | Trimestrielle |
| Politiques Vault | Semestrielle |
| Comptes DB | Annuelle |
6.2 Procedure de revocation
- Identifier le compte a revoquer
- Supprimer l'acces (SSH key, Vault policy, etc.)
- Documenter la revocation
- Verifier l'absence d'acces residuel
7. Historique des modifications
| Date | Auteur | Modification |
| 2025-01 | Equipe Infra | Creation initiale |