首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在码头集装箱中安全地存储秘密?

如何在码头集装箱中安全地存储秘密?
EN

Security用户
提问于 2017-03-06 21:15:54
回答 2查看 4.9K关注 0票数 6

我正在处理的应用程序有十几个秘密、SSL证书和API密钥。目前,我有一个添加到.gitignore中的文件,它包含了我所有的秘密。如何安全地保存所有这些秘密?企业应用程序是如何处理这一问题的,哪里的安全性是最重要的?

我正在查看AWS KMS,据我所知,我必须加密所有的秘密,提交它,然后在运行时传递我的AWS凭据来解密机密(用户只允许使用KMS密钥解密,并且不为用户添加其他权限)。

现在,假设运行容器的机器被破坏了-机密是加密的,所以这应该是好的,但是!如果运行docker inspect命令,它将显示所有环境变量( AWS机密),因此我将执行到容器中,我所要做的就是使用env变量解密机密。有点辜负了目的,还是我错过了一步?

注意:我当前的解决方案也不安全--文件是gitignored的,但是它仍然存在于运行容器的机器上(稍后,在构建映像之后,它们将作为env变量公开)。

注2: Git回购是私有的。

EN

回答 2

Security用户

回答已采纳

发布于 2017-03-06 21:40:17

一般来说,您必须为运行容器的实例提供比容器本身更严格的安全性,因为正如您所指出的,那里的妥协会影响下游的一切。运行ec2实例的VM主机也是如此。

一个标准的解决方案是通过环境变量将秘密传递到容器中。我还看到了一些解决方案(用于存储在Hashicorp中的机密),这些解决方案创建了一个fuse文件系统,并将其安装到容器中,或者使用Docker卷驱动程序进行类似的处理。这并不是很简单,但如果你传递了很多秘密,可能会更容易。

票数 2
EN

Security用户

发布于 2017-06-18 14:05:35

码头机密是一种新的推荐方法,用于在容器中共享和存储秘密。Docker故意选择将机密存储在/run/secrets下的文件中,而不是环境变量方法。

票数 3
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/153147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档