Check ID:
Provider: Kubernetes
Service:
Severity: HIGH
Categories:
Resource type:
rbac_minimize_secret_accessProvider: Kubernetes
Service:
rbacSeverity: HIGH
Categories:
identity-access, secrets, cluster-securityResource type:
ClusterRoleWhat this check verifies
RBAC Roles and ClusterRoles granting read permissions to Kubernetes Secrets are identified. The evaluation looks for rules that allowget, list, or watch on secrets, either namespace-scoped or cluster-wide.
Risk
Excessive Secret read access compromises confidentiality of tokens, keys, and credentials. Attackers can harvest service account tokens to impersonate workloads, pivot across namespaces, and modify resources, threatening integrity and availability via lateral movement.Recommendation
Apply least privilege: avoid grantingget, list, or watch on secrets except to narrowly scoped subjects. Constrain by namespace and resourceNames where feasible, use dedicated service accounts, avoid wildcards, and enforce separation of duties with policy and reviews.
Remediation
- Terraform
- Dashboard steps
References
- https://kubernetes.io/docs/reference/access-authn-authz/rbac/
- https://kubernetes.io/docs/concepts/configuration/secret/
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_secret_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