Se l'account di servizio può eseguire sudo senza password, devi proteggere l'accesso a quell'account.
Avere l'account non avere una password e utilizzare solo chiavi ssh per accedere ad esso, realizza questo, a condizione che tu possa mantenere sicura anche la chiave privata ssh.
Il nuovo utente creato in (2) può accedere solo con la chiave SSH, senza password. La chiave SSH fornisce l'accesso root indiretto. Quindi questo equivale a consentire solo il login di root con una chiave.
Poiché l'account non ha una password, non è possibile avere sudo
chiedere una password. Anche Ansible deve essere in grado di eseguire comandi. Avere una password aggiuntiva da fornire nello stesso posto della chiave non aumenterebbe la sicurezza.
Il problema è che ansible è per gli amministratori e l'automazione, quindi se è necessario inserire una password per eseguire uno script non è proprio il modo migliore. Inoltre, non è sicuro archiviare la password per sudo in un file o database e ansible ottenerla ogni volta che esegue il playbook. Quindi la combinazione di sudo senza password e l'autenticazione con ssh Keys è il metodo migliore per garantire sicurezza e nessun problema corretto eseguendo il playbook. Anche tu un amministratore e sai cosa stai programmando nel playbook. Quindi il playbook non può distruggere i tuoi server.