繁体   English   中英

如何使用我的 gpg 密钥解密 docker 容器中的文件而不将其保存在图像中?

[英]How do I use my gpg key to decrypt a file in a docker container without saving it in the image?

我正在使用气流和 dockerOperator 连接到 docker 守护进程并启动一个容器。

作为我的管道的一部分,这个容器需要使用 gpg 解密文件。

如果我在 docker build 期间复制 gpg 密钥,那么它将永远与图像分开,这感觉不安全吗?

我已经调查过我是否可以将密钥放入环境变量中并以这种方式传递它,即通过 dockers -e VAR:VAL语法。 我能想到的唯一另一种方法是将我的本地.gnupg文件挂载到容器中并使用它,但是这只在我在本地机器上时才有效。 我希望能够在某个阶段迁移到 ECS 或 kubernetes。

您说得对,在 docker build 期间添加密钥是不安全的。

env var 是一种有效的方式。 如果您以后使用 kubernetes,您可以安全地将您的密钥保存为 kubernetes 中的秘密。 部署时,您可以通过 env 向容器提供机密。

您还可以通过使用卷从 kubernetes 秘密中提供秘密作为文件,并在本地安装卷并提供密钥文件。

这些是 kubernetes 秘密的官方文档: https ://kubernetes.io/docs/concepts/configuration/secret/

我不熟悉 ECS,但我肯定有类似的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM