弄明白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資源和操作。換句話說,我們希望指定,在給定用戶的情況下,哪些操作可以在一組資源上執行。