Ensure that legacy authorization (also known as Attribute-Based Access Control or ABAC) is disabled for your Google Kubernetes Engine (GKE) clusters in order to guarantee compatibility with Role-Based Access Control (RBAC). RBAC provides more granular and easier-to-manage access control, which enhances security and reduces the risk of misconfigurations. RBAC is now the recommended method for managing permissions in Kubernetes.
RBAC offers significant security advantages over ABAC in Google Kubernetes Engine (GKE) because it simplifies permission management by assigning roles to users or service accounts, limiting access based on predefined roles. This reduces the complexity of security policies and ensures more granular, easier-to-manage access control, making it less prone to misconfigurations compared to ABAC. When legacy authorization (i.e., ABAC) is enabled, user rights are granted through policies that combine attributes, which prevents RBAC support. Disable legacy authorization (ABAC) to switch to RBAC permissions.
Audit
To determine if legacy authorization is enabled or disabled for your Google Kubernetes Engine (GKE) clusters, perform the following operations:
Remediation / Resolution
Legacy authorization (i.e., Attribute-Based Access Control or ABAC) has been replaced by Role-Based Access Control (RBAC) and is no longer recommended. To disable legacy authorization for your Google Kubernetes Engine (GKE) clusters, perform the following operations:
References
- Google Cloud Platform (GCP) Documentation
- Harden your cluster's security
- Security overview
- Authorize actions in clusters using role-based access control
- Best practices for GKE RBAC
- GCP Command Line Interface (CLI) Documentation
- gcloud projects list
- gcloud container clusters list
- gcloud container clusters describe
- gcloud container clusters update