amazon-web-services - 如何在部署时使用 Elastic Beanstalk 指定敏感的环境变量

标签 amazon-web-services amazon-elastic-beanstalk

我正在使用 Elastic Beanstalk 部署 Python Flask 应用程序。我有一个配置文件 /.ebextensions/01.config我在其中设置了一些环境变量 - 其中一些应该是 secret 的。

该文件如下所示:

packages:
  yum:
    gcc: []
    git: []
    postgresql93-devel: []

option_settings:
  "aws:elasticbeanstalk:application:environment":
    SECRET_KEY: "sensitive"
    MAIL_USERNAME: "sensitive"
    MAIL_PASSWORD: "sensitive"
    SQLALCHEMY_DATABASE_URI: "sensitive"
  "aws:elasticbeanstalk:container:python:staticfiles":
    "/static/": "app/static/"

对某些值保密的最佳做法是什么?目前.ebextensions文件夹受源代码控制,我喜欢这个因为它与所有人共享,但同时我不想将敏感值保留在源代码控制之下。

有没有办法在部署时通过 EB CLI 工具指定一些环境变量(例如 eb deploy -config ... )?或者 AWS 部署工具如何涵盖这个用例?

最佳答案

您应该能够从 eb Web 控制台将敏感值指定为环境变量:您的 EB 应用程序 -> 您的 EB 环境 -> 配置 -> 软件配置 -> 环境属性
或者,您可以使用这个:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-setenv.html
编辑:虽然这是 2015 年接受的答案,但这不应该是你处理它的方式。现在,您可以将 AWS Secrets Manager 用于此目的。

关于amazon-web-services - 如何在部署时使用 Elastic Beanstalk 指定敏感的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30490745/

相关文章:

amazon-web-services - 从 SNS 触发 Step Function

amazon-web-services - Elastic Beanstalk Worker sqsd 在所有实例上都处于故障模式

amazon-web-services - AWS Elastic Beanstalk 无法访问 AWS MSK

nginx 502 阻碍 eb Worker 和 SQS 导致可见性超时不被遵守

amazon-web-services - 为弹性beantalk docker部署提供环境变量

amazon-web-services - 在我的AWS EB配置中,除了 'config.yml'以外的文件还扮演什么角色?

amazon-web-services - 如何根据允许的来源列表设置 Access-Control-Allow-Origin header 的值?

amazon-web-services - 我的aws Ubuntu安装中的sqlite3在哪里?

java - 从 Git 存储库将 Web 应用程序部署到 AWS

amazon-web-services - 如何在 .ebextension 中引用实例配置文件