Information
Keep legacy ABAC authorization disabled for GKE clusters. ABAC is a legacy Kubernetes authorization method that has been superseded by Kubernetes RBAC, which provides fine grained authorization through Role, ClusterRole, RoleBinding, and ClusterRoleBinding resources.
ABAC uses broad, static authorization policies that are less flexible and harder to manage than Kubernetes RBAC. RBAC supports more precise permissions at the namespace and cluster level, allowing administrators to grant only the actions required for users, groups, service accounts, workloads, and automation.
Leaving ABAC disabled reduces the risk of overly broad legacy permissions bypassing the intended RBAC model. GKE hardening guidance recommends using IAM and RBAC for access control and not enabling ABAC which is disabled by default in all GKE clusters.
Solution
Disable legacy ABAC authorization for any GKE cluster where the audit result returns true. Before disabling ABAC, confirm that required users, groups, service accounts, workloads, and automation have the necessary Kubernetes RBAC permissions through Role, ClusterRole, RoleBinding, and ClusterRoleBinding resources.
gcloud container clusters update $CLUSTER_NAME \\
--location $LOCATION \\
--project $PROJECT_ID \\
--no-enable-legacy-authorization
Rerun the audit command and confirm that .legacyAbac.enabled returns false or null . Validate representative access with kubectl auth can-i to confirm legitimate users and automation still have the required RBAC access.
Impact:
Clusters that previously depended on ABAC rules must be migrated to Kubernetes RBAC before ABAC is disabled. Administrators should review existing access requirements, create the required Role, ClusterRole, RoleBinding, and ClusterRoleBinding resources, and validate access with representative users, groups, service accounts, and automation before enforcement.