ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

ansible vault を使ってみる(暗号化)

ansible-vault コマンドで認証情報を暗号化してみたので、その時のメモをまとめてみました。
ファイルをまるごと暗号化したいため、事前に "secret.yml" というファイルを作成しておきます。

ansible-vault

「Vault」は Ansible の機能で、パスワードやキーの保護などの機密データを暗号化して保持することができます。

概要

Ansible で提供されている、暗号/復号化用パスワードを用いてファイルを暗号化する仕組みです。
暗号化してしまえば、機密情報を github 等で管理することができます。

ヘルプ

ヘルプの内容は以下の通りです。

$ ansible-vault -h
[DEPRECATION WARNING]: Ansible will require Python 3.8 or newer on the controller starting with Ansible 2.12. Current version: 
3.7.8 (default, Jul 19 2021, 19:01:14) [GCC 9.3.0]. This feature will be removed from ansible-core in version 2.12. Deprecation 
warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
usage: ansible-vault [-h] [--version] [-v]
                     {create,decrypt,edit,view,encrypt,encrypt_string,rekey}
                     ...

encryption/decryption utility for Ansible data files

positional arguments:
  {create,decrypt,edit,view,encrypt,encrypt_string,rekey}
    create              Create new vault encrypted file
    decrypt             Decrypt vault encrypted file
    edit                Edit vault encrypted file
    view                View vault encrypted file
    encrypt             Encrypt YAML file
    encrypt_string      Encrypt a string
    rekey               Re-key a vault encrypted file

optional arguments:
  --version             show program's version number, config file location,
                        configured module search path, module location,
                        executable location and exit
  -h, --help            show this help message and exit
  -v, --verbose         verbose mode (-vvv for more, -vvvv to enable
                        connection debugging)

See 'ansible-vault <command> --help' for more information on a specific
command.

コマンド

暗号化する場合
$ ansible-vault encrypt secret.yml 
複合化する場合
$ ansible-vault decrypt secret.yml