加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 云计算 > 正文

保护Kubernetes集群的三大关键

发布时间:2022-08-04 14:44:22 所属栏目:云计算 来源:互联网
导读:基于角色的访问控制 假设一家组织有三个应用程序团队(蓝队、绿队和红队)。由于这些团队开发不同的产品,应该授予它们访问Kubernetes集群的不同权限。比如说,绿队和红队不应查看、访问或删除蓝队部署的集群。 RBAC有五个关键要素: 主题用户和进程 资源应
  基于角色的访问控制
  假设一家组织有三个应用程序团队(蓝队、绿队和红队)。由于这些团队开发不同的产品,应该授予它们访问Kubernetes集群的不同权限。比如说,绿队和红队不应查看、访问或删除蓝队部署的集群。
 
  RBAC有五个关键要素:
 
  主题——用户和进程
  资源——应限制访问的对象
  动作——可以执行的操作(常常名为动作)集合
  角色——将API资源与动作连接起来的对象
  角色绑定——将角色与主题连接起来的对象
  不妨回到前面的那家组织,定义只有蓝队才能创建、删除和列出Pod、部署(Deployment)和服务(Service)的策略。
 
  我们先创建一个名为“role-blue”的角色对象,我们在其中定义可以对特定的Kubernetes资源执行的操作。在这个特定情况下,角色允许对资源:Pod、部署和服务执行“创建”、“删除”和“列表”等操作。
 
 
  一旦将这些资源运用到集群,“blue”团队的用户就能够执行“role-blue”中定义的操作。
 
  开放策略代理
  开放策略代理(OPA)是一种通用策略引擎,可以跨整个堆栈统一策略实施。它的高级声明性语言提供了将策略指定为代码的灵活性。您可以使用OPA在Kubernetes、CI/CD管道或API 网关中实施策略。不妨深入了解如何在Kubernetes中使用和实施它。
 
  如果允许,对象会部署到集群上;否则,请求将被拒绝,并向用户提供反馈。管理员可以定义策略,指示Kubernetes限制容器或命名空间可以消耗的内存或CPU等资源,仅批准基于来自特定注册中心的镜像的容器,限制NodePort服务创建,或执行标准命名。
 
  比如说,这是一个示例模板和约束策略,只有在命名空间中配置ResourceQuota后才允许创建Pod。
 
 
  网络策略
  网络策略与常规防火墙非常相似,不同之处在于它们以应用程序为中心。您为应用程序定义网络策略后,Kubernetes会自动将这些规则运用于关联的容器,这是由于容器会在高度动态的环境中不断创建和终止。网络策略控制进出这些容器的流量。
 
  这是一个“app1-network-policy”,它在“blue”命名空间中为标签为“role=db”的Pod运用以下规则:
 
  [Ingress] 允许通过端口6379的来自ipBlock 172.17.0.0/24的连接。
  [Ingress] 如果来自其他Pod的连接被标记为“role=frontend”,并且如果属于端口6379上带有标签“project=myproject”的命名空间,允许这些连接。
  [Egress] Pod可以通过5978端口与IP范围为10.0.0.0/24的其他Pod进行通信。

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读