如何将Chef数据包秘密传递给docker容器?

时间:2016-05-20 04:44:12

标签: docker chef docker-compose dockerfile chef-recipe

我已经创建了一个存在于厨师服务器上的数据库项目 现在,我正在尝试将该数据条项目密钥值传递给docker容器。

我正在创建数据包,如下所示:

knife data bag create bag_secrets bag_masterkey --secret-file C:\path\data_bag_secret

我正在检索Chef配方中该数据库项目的值,如下所示:

secret = Chef::EncryptedDataBagItem.load_secret("#{node['secret']}")
masterkey = Chef::EncryptedDataBagItem.load("databag_secrets", "databag_masterkey", secret)

我需要添加什么逻辑才能将数据包秘密传递给docker容器?

1 个答案:

答案 0 :(得分:1)

我在不同的问题上说过两次这样的话:不要使用加密的数据库,这样做不安全

我认为您从根本上误解了加密包的安全模型,它们的存在只是为了允许Chef服务器无法读取的数据。成本是你必须管理密钥分配。对于Docker,这可能是通过边车容器或数据量,但在容器内运行chef-client是相对罕见的,所以你必须自己排序。我建议您与贵公司的安全/信息安全工程师合作,找出适合您使用的安全模型。