Check ID:
Provider: Kubernetes
Service:
Severity: HIGH
Categories:
Resource type:
rbac_minimize_pv_creation_accessProvider: Kubernetes
Service:
rbacSeverity: HIGH
Categories:
identity-access, cluster-securityResource type:
ClusterRoleBindingWhat this check verifies
Kubernetes RBAC mapping of users or groups with thecreate verb on persistentvolumes through ClusterRoleBindings.
Shows which principals can provision PersistentVolumes cluster-wide.
Risk
Withcreate on persistentvolumes, a principal can define hostPath PVs and mount them via claims, exposing node files and bypassing pod safeguards.
Results include secret disclosure and filesystem tampering (confidentiality/integrity), and potential node compromise affecting availability.
Recommendation
Enforce least privilege: permitcreate on persistentvolumes only for trusted storage controllers and select administrators.
Adopt dynamic provisioning, maintain separation of duties, and use defense in depth (Pod Security and admission policies) to prevent unsafe volumes like hostPath.
Remediation
- CLI
- Terraform
- Dashboard steps
kubectl delete clusterrolebinding <example_resource_name>
References
- https://www.radsecurity.ai/blog/what-is-kubernetes-rbac
- https://kubernetes.io/docs/concepts/security/rbac-good-practices/
Where this check fires
This check runs on every scheduled scan against your Kubernetes account. Findings appear at Cloud Security → Findings filterable byCheck ID = rbac_minimize_pv_creation_access. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to Kubernetes checks