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 将求值结果存储在 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 }}"
返回值
键 |
描述 |
---|---|
解密后的数据,以文本形式( 返回: 成功 |