我目前正在使用基于k8s的Hyperledger Fabric v1.4部署。生成的链码容器基本上是由运行在对等pods中的容器创建的,因此k8s对链码容器没有任何了解和控制。在这样的场景中,有一个Docker容器与k8s一起运行,而k8s不知道特定的docker容器,那么Docker容器是否有可能以某种方式获得对k8s主API的访问权限,从而获得对整个k8s集群的访问权限?
我问这个问题的目的是想知道是否有一种方法可以使用k8s中任何pods外部的容器,通过获得对k8s的未授权访问来对pods集群造成任何不良影响。我谈到的链码容器是使用可信模板镜像创建的,容器中唯一可能的恶意组件是用户提供的单个golang、java或nodejs脚本。所以我真正的问题是,“有没有可能使用这些用户脚本获得对k8s集群的未经授权的访问?”我主要关注的是像Azure Kubernetes Service这样的管理器k8s服务。
发布于 2020-06-24 23:09:19
你的问题完全改变了意思,所以我会试着重写答案。
您必须记住,默认情况下运行代码的pod仅限于运行代码的namespace。如果你没有给它任何更高的特权。此外,代码不是以root用户身份运行的。
您可以阅读有关Pod Security Policies和Configure a Security Context for a Pod or Container的内容。
TLDR。只要你不给它任何特殊的特权或权利,它应该公平地保存在你的集群中。
https://stackoverflow.com/questions/62555533
复制相似问题