--ask-vault-pass で実行時に復号する
Play にパスワードを渡します。
「--ask-vault-pass で実行時に復号する」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
適切なタイミングで復号する
Vault化されたシークレットはディスク上で暗号化されたままです。重要なのは、プレイがシークレットを読み取る必要があるタイミングで、正確にAnsibleへパスワードを渡すことです。🔑
パスワードをプロンプトで入力する
ansible-playbookに--ask-vault-passを追加すると、実行開始前にAnsibleがVaultのパスワードを1回尋ねます。
ansible-playbook site.yml --ask-vault-pass1つのパスワードで実行全体を解除する
その1回の入力で、プレイが扱うすべてのVault化されたファイルとインライン値のロックが解除されます。Ansibleはそれらをメモリ内でのみ復号します。🧠
パスワードがないと即座に失敗する
パスワードを渡さずにVaultを必要とするプレイを実行すると、Ansibleは処理を始める前に明確な復号エラーを出して停止します。
ERROR! Attempting to decrypt but no vault secrets foundパスワードファイルを使う
自動実行では、入力する代わりに--vault-password-fileを指定します。そのファイルをGitに入れず、アクセスを厳しく制限してください。
ansible-playbook site.yml --vault-password-file ~/.vault_passansible.cfgに設定する
毎回フラグを指定しないようにするには、ansible.cfgのvault_password_fileにパスワードファイルを設定します。
[defaults]
vault_password_file = ~/.vault_pass環境変数を使う方法もある
ANSIBLE_VAULT_PASSWORD_FILE環境変数でも同じことができます。設定ファイルを編集できないCIで便利です。
export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass複数のシークレットにVault IDを使う
--vault-idを使うと複数のパスワードを管理できます。それぞれにラベルを付け、開発環境と本番環境のシークレットに異なるキーを使用します。
ansible-playbook site.yml --vault-id prod@~/.vault_prodほかのコマンドも
同じフラグは、ansible-playbook だけでなく、ansible のアドホックコマンドや ansible-vault 自体でも使えます。
ansible all -m debug -a "msg={{ db_password }}" --ask-vault-passパスワードを安全に保管する
Vault の安全性は、そのパスワードの保管場所次第です。シークレットマネージャーまたはアクセス制限されたファイルを使い、決してコミットしないでください。
パスワードの取得元をスクリプト化する
Vault のパスワードファイルには、パスワードを出力する実行可能なスクリプトも使えます。これにより、Vault サーバーからシークレットを取得できます。
ansible-playbook site.yml --vault-password-file get-pass.shクイックチェック
Vault で暗号化された変数を読み込むプレイブックを実行し、パスワードを一度だけ入力したいとします。
まとめ
実行時には --ask-vault-pass、パスワードファイル、または環境変数を使ってシークレットのロックを解除します。Ansible はメモリ内でのみ復号します。✨
よくある質問
「--ask-vault-pass で実行時に復号する」レッスンは無料ですか?
はい。「--ask-vault-pass で実行時に復号する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「--ask-vault-pass で実行時に復号する」で何を学びますか?
Play にパスワードを渡します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「--ask-vault-pass で実行時に復号する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ansible-vault create でファイルを暗号化する
- Vault ファイルの編集・表示・再暗号化
- 単一の変数をインラインで暗号化する
- --ask-vault-pass で実行時に復号する