我正试图找出如何将我的库伯内特斯秘密隔离到特定的服务。
例如,假设我有两个名为private-key和public-key的秘密,以及两个Kubernetes服务auth-service和public-key。
我希望向gateway-service提供private-key秘密,以便向auth-service提供生成令牌,并向提供public-key以验证生成的令牌。所有的秘密和服务都在同一个名称空间中。
如何将private-key访问限制为只访问private-key
发布于 2019-04-02 16:42:43
没有办法做到这一点,这是在库伯奈特的设计。Kubernetes中的秘密是每个名称空间中的秘密,这个名称空间中的任何pod都可以挂载它们。因此,实现这一目标的唯一方法是使用单独的命名空间。顺便说一下,不仅是机密,而且RBAC权限也是每个名称空间的--您不能将用户权限限制为特定对象,而是整个命名空间。
此外,从安全的角度来看,您可能希望考虑为用于签名令牌的私钥(如HSM )提供更安全的解决方案。有一些云选项,如Azure KeyVault或AWS CloudHSM提供了此功能。
最后,这是我们最终构建自己的秘密加密解决方案-- 卡穆斯的原因之一。Kamus允许您对特定服务的秘密进行加密,只有此服务才能解密它们。这允许我们拥有更好的机密权限粒度,这是Kubernetes秘密机制没有提供的。
https://stackoverflow.com/questions/55479458
复制相似问题