Least privilege of Kubernetes subjects
Kubernetes service accounts, users, and groups communicate with kube-apiserver
to manage Kubernetes objects. With RBAC enabled, different users or service accounts may have different privileges to operate Kubernetes objects. For example, users in the system:master
group have the cluster-admin
role granted, meaning they can manage the entire Kubernetes cluster, while users in the system:kube-proxy
group can only access the resources required by the kube-proxy
component. First, let's briefly talk about what RBAC is.
Introduction to RBAC
As discussed earlier, RBAC is a model of regulating access to resources based on roles granted to users or groups. From version 1.6 onward, RBAC is enabled by default in Kubernetes. Before version 1.6, RBAC could be enabled by running the Application Programming Interface (API) server with the --authorization-mode=RBAC
flag. RBAC eases the dynamic configuration of permission policies using the API server...