在自定义 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 堆栈中传递敏感信息的主要内容,如果未能解决你的问题,请参考以下文章

OpsWorks 厨师将自定义 json 部署到 php

Spring - 在自定义注释中传递参数

Django 如何将自定义变量传递给上下文以在自定义管理模板中使用?

在自定义单元格(xib)中滚动时,UITextField 中的文本消失

是否在自定义 HTTP 标头 RESTful 中传递租户?

如何在自定义 UIView 中从 ViewController 传递数据