ansible.builtin.vault 过滤器 – 加密你的密钥

注意

此过滤器插件是 ansible-core 的一部分,包含在所有 Ansible 安装中。在大多数情况下,您可以使用简短的插件名称 vault。但是,我们建议您使用 完全限定的集合名称 (FQCN) ansible.builtin.vault,以便轻松链接到插件文档并避免与可能具有相同过滤器插件名称的其他集合冲突。

ansible-core 2.12 新增

概要

  • 将你的信息放入加密的 Ansible Vault 中。

输入

此部分描述过滤器的输入,即 | ansible.builtin.vault 之前的数值。

参数

注释

输入

字符串 / 必需

要加密的数据。

位置参数

此部分描述过滤器的 位置参数。这些参数在以下示例中为 positional1positional2 等:input | ansible.builtin.vault(positional1, positional2, ...)

参数

注释

密钥

字符串 / 必需

Vault 密钥,用于打开 Vault 的密钥。

关键字参数

此部分描述过滤器的关键字参数。这些参数在以下示例中为 key1=value1key2=value2 等:input | ansible.builtin.vault(key1=value1, key2=value2, ...)

参数

注释

salt (盐)

字符串

加密盐,如果未提供则为随机值。

虽然提供盐可以使生成的加密字符串可重现,但这会降低 Vault 的安全性。

vault_id

字符串

密钥标识符,在内部使用,用于在提供多个密钥时尝试最佳匹配密钥。

默认值: "filter_default"

wrap_object

布尔值

此开关可以强制返回 AnsibleVaultEncryptedUnicode 字符串对象,当 False 时,您将获得一个简单的字符串。

to_yaml 过滤器结合使用时,主要用于输出“内联 Vault”格式。

选项

  • false ← (默认)

  • true

备注

注意

  • 当同时使用关键字参数和位置参数时,位置参数必须列在关键字参数之前:input | ansible.builtin.vault(positional1, positional2, key1=value1, key2=value2)

示例

# simply encrypt my key in a vault
vars:
  myvaultedkey: "{{ keyrawdata|vault(passphrase) }} "

- name: save templated vaulted data
  template: src=dump_template_data.j2 dest=/some/key/vault.txt
  vars:
    mysalt: '{{2**256|random(seed=inventory_hostname)}}'
    template_data: '{{ secretdata|vault(vaultsecret, salt=mysalt) }}'

返回值

描述

返回值

字符串

包含密钥数据的 Vault 字符串(或 AnsibleVaultEncryptedUnicode 字符串对象)。

返回: 成功

作者

  • Brian Coca (@bcoca)

提示

每个条目类型的配置项具有从低到高的优先级顺序。例如,列表中较低的变量将覆盖较高的变量。