Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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
Amazon web services AWS ECS环境变量_Amazon Web Services_Docker_Dockerfile_Amazon Ecs_Aws Parameter Store - Fatal编程技术网

Amazon web services AWS ECS环境变量

Amazon web services AWS ECS环境变量,amazon-web-services,docker,dockerfile,amazon-ecs,aws-parameter-store,Amazon Web Services,Docker,Dockerfile,Amazon Ecs,Aws Parameter Store,我花了一些时间对此进行研究,但仍然不清楚ECS环境变量在安全性方面如何安全使用,但对于docker来说,ENV&ENV-FILE选项是否安全 例如:向任务定义中添加机密的状态,它们将作为容器环境变量提供 有类似的语言: 从生成的映像运行容器时,使用ENV设置的环境变量将保持不变。您可以使用docker inspect查看这些值,并使用docker run--env=更改它们 现在,我找不到答案的问题是,如果两个选项都在容器中设置环境变量(这意味着用户可以在docker inspect时查看),那

我花了一些时间对此进行研究,但仍然不清楚ECS环境变量在安全性方面如何安全使用,但对于docker来说,ENV&ENV-FILE选项是否安全

例如:向任务定义中添加机密的状态,它们将作为容器环境变量提供

有类似的语言:

从生成的映像运行容器时,使用ENV设置的环境变量将保持不变。您可以使用docker inspect查看这些值,并使用docker run--env=更改它们

现在,我找不到答案的问题是,如果两个选项都在容器中设置环境变量(这意味着用户可以在docker inspect时查看),那么使用AWS ECS环境变量有什么好处


从AWS参数存储(或)SSM获取变量(如dbuser、dbpassword)但不将其设置为容器环境变量(如果可能,不使用docker entryscript)的最佳策略是什么

其中一个选项是在启动期间通过应用程序内的远程协议(通过HTTP API)拉取变量配置

示例-我在ECS下运行了基于Spring Boot Java的docker容器,在ECS下我使用dbuser和dbpassword等配置。当我的spring引导容器启动时,它们会使用spring Cloud Config加载必要的配置并初始化应用程序

SpringCloudConfig支持从各种源(如Git、Vault甚至其他)提取配置

我的应用程序容器-->Spring云配置服务器容器-->Git/Vault/AWS 参数存储

下面是将SpringCloud与AWS参数存储集成的示例指南,以及一些具有示例Github repo的SO问题。


现在,这可能不适用于其他平台容器,但您也可以将类似的概念应用于您的平台。示例:Spring Cloud Config正在公开一个通用HTTP Rest API,您可以从应用程序中的该API中提取必要的配置,该API使用其他编程语言编写。

其中一个选项是在启动期间通过应用程序中的远程协议(通过HTTP API)提取变量配置

示例-我在ECS下运行了基于Spring Boot Java的docker容器,在ECS下我使用dbuser和dbpassword等配置。当我的spring引导容器启动时,它们会使用spring Cloud Config加载必要的配置并初始化应用程序

SpringCloudConfig支持从各种源(如Git、Vault甚至其他)提取配置

我的应用程序容器-->Spring云配置服务器容器-->Git/Vault/AWS 参数存储

下面是将SpringCloud与AWS参数存储集成的示例指南,以及一些具有示例Github repo的SO问题。


现在,这可能不适用于其他平台容器,但您也可以将类似的概念应用于您的平台。示例:Spring Cloud Config正在公开一个通用HTTP Rest API,您可以从应用程序中的该API中提取必要的配置,该API是用其他编程语言编写的。

DockerFile可以通过代码(比如Github上的代码)检入。因此,任何有权访问代码的人都可以看到这些秘密(dbUser和dbPassword)。如果回购协议意外公开,机密也将被披露

如果使用AWS ECS Env变量,则只有访问AWS infra的用户才能看到这些秘密。它还使其易于在多个环境中运行


正如Imran所建议的,在流程开始之前,您可以始终从某个第三方配置管理器中提取配置。

DockerFile可以通过代码(比如Github上的代码)检入。因此,任何有权访问代码的人都可以看到这些秘密(dbUser和dbPassword)。如果回购协议意外公开,机密也将被披露

如果使用AWS ECS Env变量,则只有访问AWS infra的用户才能看到这些秘密。它还使其易于在多个环境中运行


正如Imran所建议的,您可以在流程开始之前从第三方配置管理器中提取配置。

谢谢您的回答。是的,我同意拉是最好的方法。但很多文件或在线材料都主张ECS env是最好的方法,这在机密/密码方面是不正确的。所有其他类型的数据,我同意ECS让生活变得有点轻松。谢谢你的回答。是的,我同意拉是最好的方法。但很多文件或在线材料都主张ECS env是最好的方法,这在机密/密码方面是不正确的。所有其他类型的数据,我同意ECS让生活变得不那么轻松。