Skip to content

ADR-005 : Utiliser des comptes nominatifs et un compte Ansible

Accepté

  • Date : 01/07/2026
  • Auteur : Corentin Talour

Cet ADR a été rédigé a posteriori afin de documenter une décision

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.

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.

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 sudo pour les opérations administratives
  • Ansible utilise le compte ansible avec become
  • 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 root n’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
  • 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 ansible constitue 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