在自定义 JSON 堆栈中传递敏感信息
Posted
技术标签:
【中文标题】在自定义 JSON 堆栈中传递敏感信息【英文标题】:Passing sensitive information in custom JSON stack 【发布时间】:2020-01-11 02:42:06 【问题描述】:我在堆栈中使用 Opsworks 自定义 JSON 来定义环境变量。其中包括我不想以纯文本形式出现的敏感数据库详细信息。另外,如果堆栈被删除,所有变量集都会丢失。
有没有办法在 S3 存储桶中定义它?
我所拥有的示例:
"database": [
"name": "db_name",
"username": "user_name",
"password": "password"
]
如何使用 S3 存储桶而不是 opsworks 堆栈提供的自定义 JSON?
【问题讨论】:
不像其他方法那样安全,但是您将文件存储在 s3 中并在需要的地方拉取文件 【参考方案1】: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')
【讨论】:
以上是关于在自定义 JSON 堆栈中传递敏感信息的主要内容,如果未能解决你的问题,请参考以下文章
Django 如何将自定义变量传递给上下文以在自定义管理模板中使用?