【发布时间】:2022-09-23 04:43:05
【问题描述】:
我有一个使用hiera-eyaml 加密并包含在我的配置中的文件:
mymodule::config_file: ENC[PKCS7,...]
现在我尝试将解码字符串的内容写入文件,如下所示:
class mymodule (
String $config_file
) {
file { \'/etc/agent_config.json\':
content => $config_file,
mode => \'0644\',
}
}
我希望输出文件是解密的字符串,但我却得到了加密的 eYAML。
我正在做的事在 puppet 中是不可能的吗?
编辑:
运行eyaml edit 时文件看起来正确
前任:
itglue::fireeye::fireeye_config: DEC(1)::PKCS7[{
\"serverlist\": {
\"servers\": [
...
]
}
}]!
编辑2:
我们的hiera.yaml 是这样的:
---
:backends:
- yaml
- eyaml
:yaml:
:datadir: /etc/puppet/hiera/hieradata
:eyaml:
:datadir: /etc/puppet/hiera/hieradata
:pkcs7_private_key: /var/lib/puppet/keys/private_key.pkcs7.pem
:pkcs7_public_key: /var/lib/puppet/keys/public_key.pkcs7.pem
:hierarchy:
- secure
- \"%{::clientcert}\"
- \"node_role/%{::node_role}\"
- \"env/%{::environment}\"
- \"node_types/%{nodetype}\"
- global
:logger: console
-
hiera 配置是否包含解密设置?
-
@MattSchuchard 您能否更具体地说明解密设置是什么?我启用了 eyaml 作为后端,并且 eyaml 配置指向正确的公钥和私钥。
-
如果您未在 puppet 服务器上配置 hiera-eyaml,则它无法解密您的秘密。在 puppet 服务器上配置 hiera 的示例可以在 hiera-eyaml 存储库中找到:github.com/voxpupuli/hiera-eyaml#hiera
-
在文件内容参数中使用解密值应该没有问题。不确定问题出在哪里。但我要强调的是,使用
eyaml edit成功解密并不一定表明hiera.yaml中的eyaml 配置是正确的。 -
您可以在这里发布您的
hiera.yaml文件吗?我以前曾见过类似的问题,其中 yaml 部分位于hiera.yaml文件中的 eyaml 部分之前,因此在 yaml 搜索期间而不是在 eyaml 搜索中找到了密钥。避免这种情况的方法之一是为秘密搜索提供完全独立的路径,如github.com/voxpupuli/hiera-eyaml#with-hiera-5 所示。
标签: puppet