LinuCレベル3 プラットフォームスペシャリスト プラットフォームの運用管理 問15
プラットフォームの運用管理/インフラプロビジョニングの自動化Ansibleでデータベースのパスワードなどの機密情報を扱うとき、Ansible Vaultを使う目的として適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「プラットフォームの運用管理」に対応。実際の試験問題ではありません)
- A管理対象ホストに置かれた機密情報を定期的に収集し、変更があれば管理ノードへ通知させる
- BPlaybookの実行結果のログを暗号化し、管理者以外が実行履歴を閲覧できないようにする
- C管理ノードから対象ホストへのSSH接続を、パスワード認証から公開鍵認証へ自動的に切り替える
- D変数ファイル等を暗号化してリポジトリに置き、Playbookの実行時にだけ復号して使えるようにする
正解:D
解説
Ansible Vaultは、パスワードや秘密鍵などの機密情報を含む変数ファイル等を暗号化する機能です。ansible-vault create・encrypt・editで暗号化したファイルを作成・編集し、Playbookの実行時に--ask-vault-passや--vault-password-fileでパスワードを与えると、その場で復号して利用されます。暗号化したままGitリポジトリで管理できるため、IaCのコードと機密情報を安全に同居させられます。
選択肢ごとの解説
- A誤り。Vaultは機密情報を暗号化して保管・利用するための機能で、対象ホストの情報を収集・監視する機能ではありません。
- B誤り。Vaultが暗号化するのは変数ファイル等のデータで、実行ログを暗号化する機能ではありません。
- C誤り。SSHの認証方式を切り替える機能ではありません。接続方法はインベントリやansible.cfgで指定します。
- D正しい。機密情報を暗号化して管理し、実行時にだけ復号して使うのがAnsible Vaultの目的です。