为什么kubernetes-vault init容器需要解包控制器提供的密钥?

时间:2017-10-27 16:41:14

标签: kubernetes hashicorp-vault

kubernetes-vault repo的图表中,您可以看到init容器接受包装的secret_id,并通过Vault解包和兑换secret_id代币。为什么kubernetes-vault控制器不执行此解包和兑换本身,只是将令牌传送到init容器?

https://github.com/Boostport/kubernetes-vault/raw/master/flow-diagram.png

1 个答案:

答案 0 :(得分:2)

注意:kubernetes-vault项目是由我公司维护的开源项目。

初始容器解开秘密的原因是2折:

  • 只有init容器和它所在的pod能够看到最终的秘密。这意味着kubernetes-vault控制器不知道令牌是什么,如果被盗用则无法将其用于恶意目的。

  • 如果某人拦截了包装的令牌并将其解包,则init容器将无法打开令牌,这是群集受到危害的良好信号。如果将解包的令牌发送到初始容器,则可以拦截它,并且无法对此进行警报。