ADR-005 : Utiliser des comptes nominatifs et un compte Ansible
Statut
Section titled “Statut”Accepté
- Date : 01/07/2026
- Auteur : Corentin Talour
Cet ADR a été rédigé a posteriori afin de documenter une décision
Contexte et problème
Section titled “Contexte et problème”Le VPS doit pouvoir être administré manuellement par plusieurs personnes et automatiquement avec Ansible.
L’utilisation d’un compte partagé empêche d’identifier facilement la personne ayant réalisé une opération. L’utilisation directe du compte root augmente également les risques liés à une erreur de manipulation ou à la compromission d’un accès.
Il est donc nécessaire de séparer :
- les accès humains ;
- les opérations automatisées ;
- l’élévation vers les privilèges administrateur.
Options considérées
Section titled “Options considérées”Option 1 : Utiliser directement le compte root
Section titled “Option 1 : Utiliser directement le compte root”Toutes les personnes et tous les outils se connectent au VPS avec le compte root.
Cette solution est simple, mais ne permet pas d’identifier les utilisateurs et donne immédiatement tous les privilèges à chaque connexion.
Option 2 : Utiliser un compte administrateur partagé
Section titled “Option 2 : Utiliser un compte administrateur partagé”Les administrateurs et Ansible utilisent un compte commun.
Cette approche évite la connexion directe avec root, mais les opérations restent difficiles à attribuer à une personne ou à un outil.
Option 3 : Utiliser des comptes nominatifs et un compte technique (choisi)
Section titled “Option 3 : Utiliser des comptes nominatifs et un compte technique (choisi)”Chaque administrateur possède son propre compte et sa propre clé SSH. Ansible utilise un compte technique dédié nommé ansible avec sa propre clé SSH.
Les privilèges administrateur sont obtenus avec sudo et Ansible utilise l’élévation de privilèges avec become.
Décision
Section titled “Décision”Chaque administrateur dispose d’un compte nominatif et d’une clé publique SSH individuelle.
Un compte technique nommé ansible est réservé à l’exécution des playbooks.
Ce compte n’est pas utilisé comme compte personnel.
Les règles suivantes s’appliquent :
- les comptes humains ne doivent pas être partagés
- chaque utilisateur utilise sa propre paire de clés SSH
- seules les clés publiques sont stockées dans le dépôt
- les clés privées restent sur les postes des utilisateurs
- les comptes autorisés utilisent
sudopour les opérations administratives - Ansible utilise le compte
ansibleavecbecome
Conséquences
Section titled “Conséquences”Positives
Section titled “Positives”- chaque accès humain est associé à un compte identifiable
- une clé peut être révoquée sans affecter les autres utilisateurs
- les accès humains sont séparés des opérations automatisées
- la connexion directe avec
rootn’est pas nécessaire - les utilisateurs peuvent obtenir les privilèges nécessaires avec
sudo - les comptes et les clés publiques sont gérés avec Ansible
- l’administration du VPS est reproductible
Négatives
Section titled “Négatives”- le cycle de vie des comptes et des clés doit être maintenu
- l’arrivée ou le départ d’un administrateur nécessite une modification de la configuration
- le compte
ansibleconstitue un accès sensible qui doit être protégé - une mauvaise modification des comptes ou de SSH peut rendre le serveur inaccessible
- retirer un utilisateur de la variable Ansible ne supprime pas automatiquement son compte du serveur