将机密作为环境变量注入到docker中安全吗?为什么ECS和EKS支持它? [英] Is injecting secrets as environment variables in docker secure? Why does ECS and EKS support it?

查看:15
本文介绍了将机密作为环境变量注入到docker中安全吗?为什么ECS和EKS支持它?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我很难调和一些在线建议,即将机密(通常是密码)作为环境变量注入停靠容器是不安全的,而AWS ECS甚至EKS的本地功能将存储在AWS Secrets Manager中的机密作为环境变量提供。我想使用这些平台的本机功能,但这似乎不是一个好主意。

我非常喜欢&RAW";docker的原生/run/secrets方法--但该功能不能扩展到SecretsManager+ECS。我一直在想,管理机密和向我的应用程序公开的唯一安全方法是编写专门的应用程序代码,直接查询AWS Secrets Manager。这个结论正确吗?或者我可以信任该平台吗?

引用:

和反参数:

推荐答案

我认为这些文章中描述的大多数问题可以通过在读取和确认变量后立即删除/替换来缓解。一旦它被移除,两种方法之间几乎没有区别。也许ENV方法甚至可能得到一个点,因为将没有地方从中读取值,而秘密文件将一直存在,并且无法删除已装载的文件。

我同意这样的文章,即向您发送崩溃报告的东西确实可能意外地暴露了敏感的值。但您可以决定何时加载它们。因此,您可以首先处理敏感数据,然后启用将处理日志/崩溃的内容。

有一种罕见的情况,您必须避免将环境变量用于敏感数据:cron。将cron放在容器中本身就是一种糟糕的做法,最重要的是,它会公开电子邮件标头中的所有环境变量:

X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/user>
X-Cron-Env: <PATH=/usr/bin:/bin>

这篇关于将机密作为环境变量注入到docker中安全吗?为什么ECS和EKS支持它?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆