Ansibleセキュリティのベストプラクティス
データセンターにAnsibleを導入し、制御マシンの場所とSSHキーの管理方法に関するセキュリティのベストプラクティスを探しています。 質問1:制御マシン もちろん、制御機が必要です。制御マシンには、公開SSHキーが保存されています。攻撃者がコントロールマシンにアクセスできる場合、潜在的にデータセンター全体(またはAnsibleが管理するサーバー)にアクセスできます。それでは、データセンターに専用の制御マシンまたはリモート制御マシン(データセンターにリモート接続されたラップトップなど)を使用する方が良いでしょうか? ベストプラクティスがラップトップを使用することである場合(もちろん盗まれる可能性がありますが、公開キーをクラウドで安全に保存するか、暗号化されたポータブルデバイスでオフラインで保存できます)、Webインターフェイスを使用する必要がある場合Ansible、Ansible Tower、Semaphore、Rundeck、またはForemanのように、中央マシンからデータセンターにインストールする必要がありますか?「単一の攻撃ポイント」になるためにそれを保護し、回避する方法は? 質問2:SSHキー ルートで実行する必要のあるタスク(ソフトウェアパッケージのインストールなど)を作成するために、Ansibleを使用する必要があるとします。ベストプラクティスは、制御されたサーバーでrootユーザーを使用するのではなく、sudo権限を持つAnsibleの通常ユーザーを追加することだと思います。しかし、Ansibleがほぼすべてのタスクを実行する必要がある場合、sudoを介してすべてのコマンドにアクセスする必要があります。だから、最良の選択は何ですか: Ansibleにrootユーザーを使用させます(公開キーは ~/.ssh/authorized_keys sudoアクセスでAnsible専用の非特権ユーザーを作成します Ansibleユーザーがパスワードを指定してsudoを介してすべてのコマンドを実行できるようにする Ansibleユーザーがパスワードを指定せずにsudoを介してすべてのコマンドを実行できるようにする 他のヒントはありますか?