ansible-vault

用于 Ansible 数据文件的加密/解密工具

概要

usage: ansible-vault [-h] [--version] [-v]
                  {create,decrypt,edit,view,encrypt,encrypt_string,rekey}
                  ...

描述

可以加密 Ansible 使用的任何结构化数据文件。这可能包括 group_vars/host_vars/ 清单变量,由 include_varsvars_files 加载的变量,或者通过 -e @file.yml-e @file.json 在 ansible-playbook 命令行中传递的变量文件。角色变量和默认值也包括在内!

由于 Ansible 任务、处理程序和其他对象是数据,因此也可以使用 vault 对其进行加密。如果您不想公开使用哪些变量,则可以将单个任务文件完全加密。

常用选项

--version

显示程序的版本号、配置文件位置、已配置的模块搜索路径、模块位置、可执行文件位置并退出

-h, --help

显示此帮助消息并退出

-v, --verbose

使 Ansible 打印更多调试消息。添加多个 -v 将增加详细程度,内置插件目前评估到 -vvvvvv。一个合理的开始级别是 -vvv,连接调试可能需要 -vvvv。此参数可以多次指定。

操作

create

在编辑器中创建并打开一个文件,该文件将在关闭时使用提供的 vault 密钥进行加密

--encrypt-vault-id  <ENCRYPT_VAULT_ID>

用于加密的 vault ID(如果提供多个 vault-id,则必须提供)

--skip-tty-check

允许在没有 tty 连接的情况下打开编辑器

--vault-id

要使用的 vault 标识。此参数可以多次指定。

--vault-password-file, --vault-pass-file

vault 密码文件

-J, --ask-vault-password, --ask-vault-pass

询问 vault 密码

decrypt

使用提供的 vault 密钥解密提供的文件

--output  <OUTPUT_FILE>

加密或解密的输出文件名;使用 - 表示标准输出

--vault-id

要使用的 vault 标识。此参数可以多次指定。

--vault-password-file, --vault-pass-file

vault 密码文件

-J, --ask-vault-password, --ask-vault-pass

询问 vault 密码

edit

在编辑器中打开并解密现有的保管库文件,该文件将在关闭时再次加密

--encrypt-vault-id  <ENCRYPT_VAULT_ID>

用于加密的 vault ID(如果提供多个 vault-id,则必须提供)

--vault-id

要使用的 vault 标识。此参数可以多次指定。

--vault-password-file, --vault-pass-file

vault 密码文件

-J, --ask-vault-password, --ask-vault-pass

询问 vault 密码

view

使用分页器打开、解密并查看现有保管库文件,使用提供的 vault 密钥

--vault-id

要使用的 vault 标识。此参数可以多次指定。

--vault-password-file, --vault-pass-file

vault 密码文件

-J, --ask-vault-password, --ask-vault-pass

询问 vault 密码

encrypt

使用提供的 vault 密钥加密提供的文件

--encrypt-vault-id  <ENCRYPT_VAULT_ID>

用于加密的 vault ID(如果提供多个 vault-id,则必须提供)

--output  <OUTPUT_FILE>

加密或解密的输出文件名;使用 - 表示标准输出

--vault-id

要使用的 vault 标识。此参数可以多次指定。

--vault-password-file, --vault-pass-file

vault 密码文件

-J, --ask-vault-password, --ask-vault-pass

询问 vault 密码

encrypt_string

使用提供的 vault 密钥加密提供的字符串

--encrypt-vault-id  <ENCRYPT_VAULT_ID>

用于加密的 vault ID(如果提供多个 vault-id,则必须提供)

--output  <OUTPUT_FILE>

加密或解密的输出文件名;使用 - 表示标准输出

--show-input

不要隐藏输入,以便在提示输入要加密的字符串时显示。

--stdin-name  <ENCRYPT_STRING_STDIN_NAME>

指定标准输入的变量名。

--vault-id

要使用的 vault 标识。此参数可以多次指定。

--vault-password-file, --vault-pass-file

vault 密码文件

-J, --ask-vault-password, --ask-vault-pass

询问 vault 密码

-n, --name

指定变量名。此参数可以多次指定。

-p, --prompt

提示输入要加密的字符串。

rekey

使用新的密钥重新加密已加密的文件,需要先前的密钥。

--encrypt-vault-id  <ENCRYPT_VAULT_ID>

用于加密的 vault ID(如果提供多个 vault-id,则必须提供)

--new-vault-id  <NEW_VAULT_ID>

重新加密要使用的新的保管库标识。

--new-vault-password-file  <NEW_VAULT_PASSWORD_FILE>

重新加密使用的新的保管库密码文件。

--vault-id

要使用的 vault 标识。此参数可以多次指定。

--vault-password-file, --vault-pass-file

vault 密码文件

-J, --ask-vault-password, --ask-vault-pass

询问 vault 密码

环境

可以使用以下环境变量。

ANSIBLE_CONFIG – 覆盖默认的 Ansible 配置文件。

在 ansible.cfg 中,大多数选项可以使用更多环境变量。

文件

/etc/ansible/ansible.cfg – 配置文件,如果存在则使用。

~/.ansible.cfg – 用户配置文件,如果存在则覆盖默认配置。

作者

Ansible 最初由 Michael DeHaan 编写。

有关完整贡献者列表,请参见 AUTHORS 文件。

许可

Ansible 在 GPLv3+ 许可证的条款下发布。

另请参见

ansible(1), ansible-config(1), ansible-console(1), ansible-doc(1), ansible-galaxy(1), ansible-inventory(1), ansible-playbook(1), ansible-pull(1),