关于在Hiera/Puppet中使用eyaml加密值的参数疑问求助
解决Hiera/Puppet中eyaml加密的参数疑问
核心参数解释
-l/--label:这是加密值的标识标签,用来给加密后的内容做用途标记,方便你在Hiera配置里快速识别这个加密值对应什么场景。比如你提到的cloudflare-dns-example@example.com就属于这类标签,完全由你自定义,只要能清晰表达用途即可(比如cloudflare_api_key、prod_db_password)。-s/--string:这是你需要加密的敏感值本身,比如Cloudflare的API密钥、数据库密码这类不能明文存储的内容,这些值需要从对应的服务控制台或系统中获取。
参数顺序说明
你当前的命令顺序是正确的,-l指定标签在前,-s指定要加密的内容在后,不需要互换顺序。
实际使用示例
假设你要加密Cloudflare的API密钥,标签设为cloudflare_api_key,命令如下:
/opt/puppetlabs/puppet/bin/eyaml encrypt -l 'cloudflare_api_key' -s 'your_real_cloudflare_api_key' --pkcs7-private-key=/etc/puppetlabs/puppet/eyaml/private_key.pkcs7.pem --pkcs7-public-key=/etc/puppetlabs/puppet/eyaml/public_key.pkcs7.pem
执行后会生成类似这样的加密结果,将其直接写入Hiera的YAML文件即可:
cloudflare_api_key: ENC[PKCS7,MIIBmQYJKoZIhvcNAQcDoIIBmjCCAZYCAQAxggEhMIIBHQIBADAFMAACAQEwDQYJKoZIhvcNAQEBBQAEggEAn...]
内容的提问来源于stack exchange,提问作者Callum McCrorie
相关产品推荐
相关产品推荐

