Memo/Ansible/Vault

https://dexlab.net:443/pukiwiki/index.php?Memo/Ansible/Vault
 


Vault: 変数のyamlファイルを暗号化

  • 暗号化
    ansible-vault encrypt foo.yml bar.yml baz.yml
  • 複合化
    ansible-vault decrypt foo.yml bar.yml baz.yml
  • playbookから実行する場合に、パスワードを聞く
    ansible-playbook site.yml --ask-vault-pass

vaultのパスワードをS3等で管理する


ベストプラクティス

  • 変数および Vault - ベストプラクティス
    group_vars/
      example/
        vars.yml # 一般的な変数
        vault.yml # 暗号化された変数
    • vars.yml : vaultで暗号化された変数として、"vault_" を変数に付ける
      db_root_password: "{{ vault_db_root_password }}"
    • vault.yml : ansible-vaultで暗号化する

Single Encrypted Variable: 一つの変数だけを暗号化

  • 以下の様に暗号化したい変数だけを credentials.yml に集めて、ansible-vaultで暗号化した場合、ansible -m pingだけでもvault-idを求められる
    group_vars/example/main.yml
    group_vars/example/credentials.yml
  • 値だけを暗号化した場合、その変数が参照されるまでは vault-idなしでもエラーにならない。
    echo -n 'val2' | ansible-vault encrypt --ask-vault-pass
    # または
    echo -n 'val2' | ansible-vault encrypt --vault-password-file /path/to/passwd.txt
    • yaml
      key2: !vault |
          $ANSIBLE_VAULT;1.1;AES256
      ...

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-09-09 (水) 18:02:27 (18d)