5.8.2 Manage Kubernetes RBAC users with groups in Google Workspace (Manual)
Profile Applicability
- Level 2
Description
Cluster Administrators should leverage G Suite Groups and Cloud IAM to assign Kubernetes user roles to a collection of users, instead of to individual emails using only Cloud IAM.
Rationale
On- and off-boarding users is often difficult to automate and prone to error. Using a single source of truth for user permissions via G Suite Groups reduces the number of locations that an individual must be off-boarded from, and prevents users gaining unique permissions sets that increase the cost of audit.
Impact
When migrating to using security groups, an audit of RoleBindings and ClusterRoleBindings is required to ensure all users of the cluster are managed using the new groups and not individually.
When managing RoleBindings and ClusterRoleBindings, be wary of inadvertently removing bindings required by service accounts.
Audit
Using G Suite Admin Console and Google Cloud Console:
- Navigate to manage G Suite Groups in the Google Admin console at: https://admin.google.com/dashboard
- Ensure there is a group named
gke-security-groups@[yourdomain.com]. The group must be named exactlygke-security-groups. - Ensure only further groups (not individual users) are included in the
gke-security-groupsgroup as members. - Go to the Kubernetes Engine by visiting: https://console.cloud.google.com/kubernetes/list.
- From the list of clusters, click on the desired cluster. In the
Detailspane, make sureGoogle Groups for RBACis set toEnabled.
Remediation
Follow the G Suite Groups instructions at: https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control#google-groups-for-gke.
Then, create a cluster with:
gcloud container clusters create <cluster_name> --security-group <security_group_name>
Finally create Roles, ClusterRoles, RoleBindings, and ClusterRoleBindings that reference the G Suite Groups.
Default Value
groups in Google Workspace is disabled by default.
References
- https://cloud.google.com/kubernetes-engine/docs/how-to/google-groups-rbac
- https://cloud.google.com/kubernetes-engine/docs/how-to/role-based-access-control
CIS Controls
| Controls Version | Control | IG 1 | IG 2 | IG 3 |
|---|---|---|---|---|
| v8 | 6.8 Define and Maintain Role-Based Access Control | x | ||
| v7 | 16.2 Configure Centralized Point of Authentication | x | x |