Si le compte de service peut faire sudo sans mot de passe, vous devez protéger l'accès à ce compte.
Avoir le compte pas avoir un mot de passe et utiliser uniquement des clés ssh pour s'y connecter, cela accomplit cela, à condition que vous puissiez également garder la clé privée ssh en sécurité.
Le nouvel utilisateur créé en (2) ne peut se connecter qu'avec la clé SSH, pas de mot de passe. La clé SSH donne un accès root indirect. Cela équivaut donc à autoriser simplement la connexion root avec une clé.
Comme le compte n'a pas de mot de passe, il n'est pas possible d'avoir sudo
demander un mot de passe. Ansible doit également pouvoir exécuter des commandes. Avoir un mot de passe supplémentaire à fournir au même endroit que la clé n'augmenterait pas la sécurité.
Le problème est qu'ansible est destiné aux administrateurs et à l'automatisation, donc si vous devez entrer un mot de passe pour exécuter un script, ce n'est pas vraiment le meilleur moyen. De plus, il n'est pas sécurisé de stocker le mot de passe pour sudo dans un fichier ou une base de données et de l'obtenir à chaque fois qu'il exécute le playbook. Ainsi, la combinaison de sudo sans mot de passe et de l'authentification avec des clés ssh est la meilleure méthode pour garantir la sécurité et aucun problème en exécutant le playbook. Vous êtes également administrateur et savez ce que vous programmez dans le playbook. Ainsi, le playbook ne peut pas détruire vos serveurs.