如何避免PHP应用程序中的config上硬编码的数据库凭据运行到Docker容器中
背景如何避免PHP应用程序中的config上硬编码的数据库凭据运行到Docker容器中,php,amazon-web-services,docker,aws-sdk,configuration-files,Php,Amazon Web Services,Docker,Aws Sdk,Configuration Files,背景 我有一个运行在PHP Docker容器中的Web应用程序 我需要在本地(容器中)、Jenkin(容器-测试环境)、Staging(aws beanstalk)和生产环境中运行 (美国焊接学会beanstalk) 每个env都需要指向不同的DB 我一直在尝试使用AWS-KMS、AWS-STS、AWS-AMS解决它,但无法正确解决它 要求 我不想硬编码数据库凭据-安全原因 有专家建议吗 你可以用!它将管理您可以使用的容器所需的所有机密信息!它将管理容器所需的所有机密信息。AWS的最佳做
- 我有一个运行在PHP Docker容器中的Web应用程序
- 我需要在本地(容器中)、Jenkin(容器-测试环境)、Staging(aws beanstalk)和生产环境中运行 (美国焊接学会beanstalk)
- 每个env都需要指向不同的DB
- 我一直在尝试使用AWS-KMS、AWS-STS、AWS-AMS解决它,但无法正确解决它
- 我不想硬编码数据库凭据-安全原因
你可以用!它将管理您可以使用的容器所需的所有机密信息!它将管理容器所需的所有机密信息。AWS的最佳做法是使用AWS Secrets Manager 将数据库凭据存储在机密管理器中。互联网上有很多编码示例
然后创建具有访问机密管理器权限的服务角色。启动时,从机密管理器获取您的凭据。AWS的最佳做法是使用AWS机密管理器 将数据库凭据存储在机密管理器中。互联网上有很多编码示例
然后创建具有访问机密管理器权限的服务角色。启动时,从Secrets Manager获取凭据。设置环境变量怎么样。我想有可能在beanstalk上生成随机密码?不确定您到底在寻找什么。取决于环境替换配置文件,您可以在运行容器时执行此操作,也可以在php配置文件中使用if和else条件并传递环境变量(本地、临时或生产)来读取db配置详细信息;我不想发送硬编码的DB凭据-这是我的问题。设置环境变量怎么样。我想有可能在beanstalk上生成随机密码?不确定您到底在寻找什么。取决于环境替换配置文件,您可以在运行容器时执行此操作,也可以在php配置文件中使用if和else条件并传递环境变量(本地、临时或生产)来读取db配置详细信息;我不想发送硬编码的DB凭据-这是我的问题。它不适合此提议,伙计。它不适合此提议,伙计。