我应该如何将敏感环境variables传递给Amazon ECS任务?

将敏感环境variables(如密码)传递给Amazon ECS任务的build议方法是什么? 使用Docker Compose,我可以使用仅键环境variables ,这会导致从OS环境中读取值。 但是我看不到任何相应的ECS任务定义方法。

在你发布的任务定义链接中有一个“环境”部分,可以让你做到这一点。 他们成为容器内的环境variables。

如果你的意思是你想保持任务定义之外的信息,并且该任务可以引用它,那么你不能。 在这种情况下,最好的办法是让你的容器从外部源获取这些信息,而不是ECS任务configuration尝试引用它。

您可以使用Parameter Store来存储variables。 它也支持encryption,如果你把它们作为SecureString存储的话。

您可以在任务定义中将它们作为环境variables引用。

您需要在容器启动脚本中检索它们

 value_from_parameter_store =`aws ssm get-parameters --names parameter_store_key --with-decryption --region $REGION --output text 2>& 1| awk '{print $4}'` 

你也可以提到parameter_store_key作为环境variables。 这样你可以使用$parameter_store_key

如果您使用环境variables,则可以在loginAWS控制台时看到它们。 AWS已经编写了一个使用适当的“秘密”来保持敏感数据隐藏的指南。 这些容器在启动时加载到基于内存的环境variables中。 这是一个指南: https : //aws.amazon.com/blogs/security/how-to-manage-secrets-for-amazon-ec2-container-service-based-applications-by-using-amazon-s3-and-泊坞窗/