Amazon web services 如何处理AWS中包含凭据的配置文件?

Amazon web services 如何处理AWS中包含凭据的配置文件?,amazon-web-services,amazon-ec2,aws-code-deploy,Amazon Web Services,Amazon Ec2,Aws Code Deploy,我一直在使用AWS Codedeploy,使用github作为修订源。我有两个配置文件,其中包含我不想将其添加到github存储库中的凭据(例如NewRelic和其他第三方许可证密钥)。但是,我在EC2实例中需要它们 管理这些配置的标准方法是什么。或者,你们为同样的目的使用什么工具?首先,使用IAM角色。这将删除90%的凭据。完成后,您可以将(加密的!)凭证存储在S3存储桶中,并小心地控制访问。这是AWS提供的一种很好的底漆: 使用实例配置文件启动EC2实例,然后让关联角色访问您的服务需要访问的

我一直在使用AWS Codedeploy,使用github作为修订源。我有两个配置文件,其中包含我不想将其添加到github存储库中的凭据(例如NewRelic和其他第三方许可证密钥)。但是,我在EC2实例中需要它们


管理这些配置的标准方法是什么。或者,你们为同样的目的使用什么工具?

首先,使用IAM角色。这将删除90%的凭据。完成后,您可以将(加密的!)凭证存储在S3存储桶中,并小心地控制访问。这是AWS提供的一种很好的底漆:

使用实例配置文件启动EC2实例,然后让关联角色访问您的服务需要访问的所有内容。这就是CodeDeploy代理用来进行调用的内容,但它确实适用于您正在运行的任何服务


前面的答案对于管理AWS角色/凭证非常有用。然而,您的问题更多的是关于一般的非AWS凭据,以及如何使用AWS安全地管理它们

对我们来说,最有效的方法是保护S3存储桶中属性文件中的凭据。使用中tedder42建议的相同技术,您可以将属性文件中的凭据上载到高度安全的S3存储桶中,该存储桶仅对您的实例可用,并且已配置了相应的IAM角色

然后使用CodeDeploy,您可以添加安装前生命周期挂钩,以便通过AWS CLI将凭据文件下载到本地目录。例如:

aws s3 cp s3://凭证示例com/credentials.properties c:\凭证


然后,当应用程序启动时,它可以从本地文件中读取这些凭据。

知道如何加载s3凭据,以便通过
ADD
将其加载到docker容器中吗?Docker似乎只能添加AWS源捆绑包中的文件,但不清楚如何将s3文件下载到该捆绑包中