在自定义JSON堆栈中传递敏感信息

时间:2019-09-09 10:27:59

标签: amazon-web-services chef aws-opsworks

我在堆栈中使用Opsworks自定义JSON定义环境变量。这些包括敏感的数据库详细信息,我不想以纯文本格式出现。同样,如果删除了堆栈,所有设置的变量也会丢失。

是否可以在S3存储桶中对此进行定义?

我所拥有的例子:

{
  "database": [
      {
         "name": "db_name",
         "username": "user_name",
         "password": "password"
      }
]
}

如何使用S3存储桶代替opsworks堆栈提供的自定义JSON?

1 个答案:

答案 0 :(得分:0)

chef具有内置机制,可使用encrypted data bag item

以加密形式存储敏感信息

使用类似于以下命令的刀命令对数据袋项目进行加密:

$ knife data bag create passwords mysql --secret-file /tmp/my_data_bag_key

可以使用类似于以下命令的刀来验证加密:

$ knife data bag show passwords mysql

已加密的数据袋项目是使用类似于以下命令的小刀命令解密的:

$ knife data bag show --secret-file /tmp/my_data_bag_key passwords mysql

您也可以在类似于以下的食谱中使用它:

data_bag_item('mysql', 'passwords')