5.4. 複数の Vault 認証情報
1 つのジョブに複数の認証情報を割り当てることができるため、ジョブテンプレートの実行時に復号化する複数の Vault 認証情報を指定できます。この機能は、Vault パスワードの管理 のサポートを反映しています。
Vault 認証情報に、オプションのフィールド vault_id
が追加されました。これは、ansible-playbook
の --vault-id
引数に似ています。
複数の Vault パスワードを使用する Playbook を実行するには、次の手順を使用します。
手順
- Automation Controller で Vault パスワードごとに Vault 認証情報を作成します。
- 認証情報のフィールドとして Vault ID を指定し、パスワードを入力します (暗号化されて保存されます)。
- 新しい認証情報のエンドポイントを使用して、ジョブテンプレートに複数の Vault 認証情報を割り当てます。
POST /api/v2/job_templates/N/credentials/ { 'associate': true, 'id': X }
あるいは、Automation Controller UI の Create Credential ページで、同じ割り当てを実行することもできます。
この例では、作成した認証情報は、Vault 識別子 ("first") とパスワードのペアで使用されるシークレットを指定します。次の例のように、この認証情報をジョブテンプレートで使用する場合、この Vault ID "first" に関連付けられたシークレットのみが復号化されます。
従来の方法で、1 つの大きいファイルにすべてのシークレットを区別なく指定して Playbook をセットアップした場合には、Vault 認証情報の設定時には、Vault Identifier フィールドは空白のままにしてください。
5.4.1. プロンプト付きの Vault 認証情報
Vault 認証情報のパスワードに Prompt on launch とマークされている場合には、関連するジョブテンプレートの起動エンドポイントが passwords_needed_to_start
パラメーターを使用して必要な Vault パスワードを通信します。
GET /api/v2/job_templates/N/launch/ { 'passwords_needed_to_start': [ 'vault_password.X', 'vault_password.Y', ] }
ここで、X
と Y
は、関連する Vault 認証情報のプライマリーキーです。
POST /api/v2/job_templates/N/launch/ { 'credential_passwords': { 'vault_password.X': 'first-vault-password' 'vault_password.Y': 'second-vault-password' } }
5.4.2. 認証情報のリンク
Automation Controller に機密の認証情報をアップロードする代わりに、認証情報フィールドを外部システムにリンクし、これを使用して Playbook を実行できます。
詳細は、Automation Controller ユーザーガイドの シークレット管理システム を参照してください。