如何在AWS中管理特定于环境的文件

时间:2019-10-15 10:21:22

标签: amazon-web-services

我有特定于开发,测试和其他环境的属性文件。我必须将此文件存储在aws中的某个安全位置。我正在使用AWS Native工具进行构建和部署。请让我知道如何将这些文件存储在AWS中

2 个答案:

答案 0 :(得分:0)

在使用AWS的情况下,有许多方法可以处理机密,但很明显,这取决于您将使用和使用这些机密的服务。

但是您可以探索这两个

  • 最简单的方法是使用环境变量。
  • AWS Secrets Manager
  • s3(用于保存文件)

一种常见的方法是将您的秘密作为环境变量传递,但是对于AWS,我建议使用AWS Secrets Manager

  

AWS Secrets Manager是一项AWS服务,可让您更轻松地进行   处理秘密。机密可以是数据库凭据,密码,   第三方API密钥,甚至是任意文本。您可以存储和   使用Secrets Manager集中控制对这些机密的访问   控制台,秘密管理器命令行界面(CLI)或   Secrets Manager API和SDK。

基本秘密管理器方案

  

下图说明了最基本的情况。表明   如何在Secrets Manager中存储数据库的凭据,以及   然后在需要访问   数据库。   enter image description here

符合标准

AWS Secrets Manager已针对these标准进行了审核,当您需要获得合规性认证时,它可以成为您解决方案的一部分。

您可以浏览此article来读写机密。

如果您需要维护文件,不仅需要对象,还可以将其存储在s3中并在部署期间提取文件。但最好启用server-side encprtion

但是我更喜欢机密管理器而不是s3和环境变量。

您可以使用s3 herehere

答案 1 :(得分:0)

Bajjuri,

正如阿迪尔在回答中所说,

  • AWS Secret Manager-如果要将数据存储为键,值对。
  • AWS S3-如果要安全地存储文件。
  

除了他的回答,您还可以使用AWS CodeDeploy Environment Variables根据您的环境来获取文件。   假设您已经为开发环境创建了CodeDeploy部署组,   将名称“ DEV”和产品环境的部署组命名为“ PROD”,   您可以在bash脚本中使用此变量并在生命周期中调用它   appspec文件的钩子以相应地获取文件或机密。

我已经在生产中使用这种技术很长时间了,它就像一种魅力。