community.sops.decrypt 过滤器 – 解密 SOPS 加密的数据
注意
此过滤器插件是 community.sops 集合(版本 2.0.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.sops
。您需要进一步的要求才能使用此过滤器插件,请参阅 要求 以了解详细信息。
要在 playbook 中使用它,请指定:community.sops.decrypt
。
community.sops 1.1.0 中的新功能
概要
解密 SOPS 加密的数据。
允许解密由任意来源提供的数据。
请注意,由于 Ansible 延迟评估表达式,最好使用 ansible.builtin.set_fact 将评估结果存储在一个事实中,以避免每次使用该表达式时都重新计算该值。
要求
本地控制器节点上需要以下要求来执行此过滤器。
二进制可执行文件
sops
(https://github.com/getsops/sops)必须存在于PATH
中,或配置为sops_binary
。
输入
这描述了过滤器的输入,即 | community.sops.decrypt
之前的值。
参数 |
注释 |
---|---|
要解密的数据。 |
关键字参数
这描述了过滤器的关键字参数。这些是在以下示例中 key1=value1
、key2=value2
等等的值:input | community.sops.decrypt(key1=value1, key2=value2, ...)
参数 |
注释 |
---|---|
一个或多个 age 私钥,可用于解密加密文件。 在调用 SOPS 时,将设置为 需要 SOPS 3.7.1+。 |
|
包含 SOPS 可用于解密加密文件的 age 私钥的文件。 在调用 SOPS 时,将设置为 默认情况下,SOPS 会在您的用户配置目录中查找 需要 SOPS 3.7.0+。 |
|
用于向 AWS 发出请求的 AWS 访问密钥 ID。 为 SOPS 调用设置环境变量 |
|
用于向 AWS 发出请求的 AWS 配置文件。 这对应于 SOPS 的 |
|
用于向 AWS 发出请求的 AWS 秘密访问密钥。 为 SOPS 调用设置环境变量 |
|
用于向 AWS 发出请求的 AWS 会话令牌。 为 SOPS 调用设置环境变量 |
|
SOPS 配置文件的路径。 如果未设置,SOPS 将从加密或解密的文件开始递归搜索配置文件。 这对应于 SOPS 的 |
|
是否将输出解码为字节。 当 选项
|
|
告诉 SOPS 使用本地密钥服务。 这对应于 SOPS 的 选项
|
|
告诉 SOPS 如何解释加密数据。 由于我们没有文件名,因此没有自动检测。默认情况下,SOPS 被告知将输入视为 YAML。如果这是错误的,请将此选项设置为正确的值。 自 community.sops 1.9.0 起,可以使用值 选项
|
|
指定要与本地密钥服务一起使用的其他密钥服务。 密钥服务必须以 这对应于 SOPS 的 |
|
告知 SOPS 如何解释解密后的文件。 请注意,输出始终是文本或字节,具体取决于 自 community.sops 1.9.0 起,可以使用值 选项
|
|
是否删除尾随的换行符和空格。 选项
|
|
SOPS 二进制文件的路径。 默认使用 |
另请参阅
另请参阅
- community.sops.sops 查找插件
读取 SOPS 加密的文件内容。
- community.sops.sops 变量插件
加载 SOPS 加密的变量文件。
- community.sops.load_vars
从文件中动态加载任务中的 SOPS 加密变量。
示例
- name: Decrypt file fetched from URL
hosts: localhost
gather_facts: false
tasks:
- name: Fetch file from URL
ansible.builtin.uri:
url: https://raw.githubusercontent.com/getsops/sops/master/functional-tests/res/comments.enc.yaml
return_content: true
register: encrypted_content
- name: Show encrypted data
debug:
msg: "{{ encrypted_content.content | ansible.builtin.from_yaml }}"
- name: Decrypt data and decode decrypted YAML
set_fact:
decrypted_data: "{{ encrypted_content.content | community.sops.decrypt | ansible.builtin.from_yaml }}"
- name: Show decrypted data
debug:
msg: "{{ decrypted_data }}"
返回值
键 |
描述 |
---|---|
解密后的数据,以文本形式( 返回: 成功 |