RBAC (Role-Based Access Control) kiểm soát ai được thực hiện hành động gì trên Kubernetes API. Có 4 object chia làm hai cặp:
- Role (phạm vi một namespace) và ClusterRole (phạm vi toàn cluster): định nghĩa một tập rule — được làm verb gì (
get,list,create,delete...) trên resource nào (pods, secrets...). - RoleBinding và ClusterRoleBinding: gán một Role/ClusterRole cho subject — user, group, hoặc ServiceAccount.
Đặc điểm quan trọng:
- Chỉ có allow, không có deny. Mặc định từ chối tất cả; quyền là cộng dồn các rule allow.
- ServiceAccount: danh tính cho pod gọi API — gán RBAC cho ServiceAccount thay vì cấp quyền rộng.
- Nguyên tắc least privilege: cấp tối thiểu cần thiết, tránh gán cluster-admin tuỳ tiện.
Đây là cơ chế phân quyền chuẩn để nhiều team/ứng dụng dùng chung một cluster một cách an toàn.