Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何避免PHP应用程序中的config上硬编码的数据库凭据运行到Docker容器中_Php_Amazon Web Services_Docker_Aws Sdk_Configuration Files - Fatal编程技术网

如何避免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凭据-这是我的问题。它不适合此提议,伙计。它不适合此提议,伙计。