弄明白Kubernetes的RBAC政策
- 2019 年 12 月 6 日
- 筆記

弄明白Kubernetes的RBAC政策
Javier Salmeron,Bitnami工程师
我们大多数人都玩过具有完全管理员权限的Kubernetes,我们知道在真实环境中我们需要:
– 拥有不同属性的多个用户,建立适当的身份验证机制
– 完全控制每个用户或用户组可以执行的操作
– 完全控制pod中每个进程可以执行的操作
– 限制名称空间的某些资源的可见性
从这个意义上讲,RBAC(基于角色的访问控制)是提供所有这些基本功能的关键要素。
早前的网研会介绍了这些概念和对象,并展示一些基本用例。包括:
– 通过仅向管理员用户授予特权操作(例如访问机密)来保护您的集群
– 强制群集中的用户身份验证
– 将资源创建(例如pod、持久卷、部署)限制到特定名称空间。您还可以使用配额来确保资源使用受到限制和控制
– 让用户只在其授权的命名空间中查看资源。这允许您隔离组织内的资源(例如,在部门之间)
[Embdded video: https://v.qq.com/x/page/x0744hozlo0.html]
为了完全理解RBAC的思想,我们必须理解涉及三个要素:
– 主题:想要访问Kubernetes API的用户和进程
– 资源:集群中可用的Kubernetes API对象,像Pod、Deployments、Services、Nodes和PersistentVolumes等
– 动词:可以对上述资源执行的一组操作。可以使用不同的动词(像get、watch、create、delete等),但最终所有动词都是创建、读取更新或删除(CRUD)操作。
了解到这三个要素,RBAC的主要思想如下:
我们希望连接主题,API资源和操作。换句话说,我们希望指定,在给定用户的情况下,哪些操作可以在一组资源上执行。