我将几个使用彼此API端点的Docker容器链接在一起。这些API端点受机密保护,并且在容器启动时生成。我正在寻找一种安全方式来在这些服务之间共享这些秘密,而无需执行任何操作 static (例如硬编码)。使用docker-compose
创建并链接这些服务,并且可以使用环境变量覆盖秘密。但是,不鼓励此行为用于生产。
在我的情况下,分发这些秘密最安全的方法是什么?
这种方法的一个巨大缺点是它限制容器在同一节点上运行。
docker-compose
文件,并将这些随机密码硬编码到其中。 这种方法的缺点是,不可能简单地使用docker-compose
文件,而是限制自己使用bash脚本来生成像这些秘密一样关键的任务。这也不符合我的观点,即解决方案应该动态适应秘密变化。
最终,如果解决方案也能动态适应秘密变化,我更愿意。例如,当容器发生故障时,它将自动重启,从而产生新的秘密。