Vault 上級: 複数の vault-id とローテーション
Pro会員限定上級約39分6レッスン
環境ごとにパスワードを分け、誰がどの秘密を読めるかを設計します。ラベル付きの vault-id を読み、環境を指定して値を暗号化し、間違った環境のパスワードで暗号化された値を CI と同じ条件で見つけて直し、本番のパスワードをローテーションし、ログに秘密を出さない書き方を練習します。
対象者: 本番と staging のパスワードを1つの Vault で管理している方 / Vault のパスワードを替える手順が決まっていない方
前提知識: ロールを自動テストする(Molecule 風) 修了程度
この教材を終えると、できるようになること
- ansible.cfg の vault_identity_list と暗号化ファイルのラベルから、どのパスワードで開くかを説明できるようになる。
- encrypt_string で、正しい環境の vault-id を指定して1つの値を暗号化し、変数ファイルに足せるようになる。
- CI と同じ vault-id だけで実行して問題を再現し、rekey で正しい鍵に付け替えられるようになる。
- 本番の Vault のパスワードを新しいものに替える手順(rekey → 設定の更新 → 確認)を実行できるようになる。
- 秘密を使うタスクの結果がログに残ることを確かめ、no_log で隠せるようになる。
修了後の姿: 大規模・複数チームで使えるAnsibleコードを設計・テスト・配布し、変更をエラーを出さずに安全に本番へ流せる自動化エンジニアへ。
Chapter 1環境ごとの秘密と、その入れ替え
vault-id のラベル、encrypt_string、CI での確認と rekey、パスワードのローテーション、no_log を練習します。
- ラベルで「どの鍵か」を読む$ANSIBLE_VAULT;1.2;AES256;prod の最後がラベル約6分(有料会員限定)
- 環境を指定して値を暗号化するvault-id が複数あるときは --encrypt-vault-id で選ぶ約8分(有料会員限定)
- 間違った鍵で暗号化された値を CI で見つけるstaging の秘密が prod の鍵で暗号化されていると、staging の CI は開けない約8分(有料会員限定)
- 本番のパスワードをローテーションするrekey でファイルを付け替えてから、設定のパスワードファイルを替える約8分(有料会員限定)
- 秘密をログに出さない-vvv の結果には、モジュールに渡した秘密がそのまま出る約6分(有料会員限定)
Chapter 2確認クイズ
Vault の運用の理解度をチェック。