Roles and cluster roles should not grant 'get', 'list', or 'watch' permissions for secrets Affecting Service service in Kubernetes
Severity Framework
Snyk CCSS
Rule category
Containers / Best Practices
Is your enviroment affected by this misconfiguration?
In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.
Test your applicationsFrameworks
CIS-Kubernetes
- Snyk ID SNYK-CC-00651
- credit Snyk Research Team
Description
Roles and cluster roles should not grant 'get', 'list', or 'watch' permissions for secrets. RBAC resources in Kubernetes are used to grant access to get, list, and watch secrets on the Kubernetes API. Restrict use of these permissions to the smallest set of users and service accounts as possible.
How to fix?
Set the verbs
attribute in Role
and ClusterRole
to a value other than "get", "list", or "watch"
where resources
is set to secrets
.
Example Configuration
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: secret-access-role
rules:
- apiGroups: [""]
resources: ["secrets"]
verbs: ["create", "update", "delete", "patch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: secret-access-cluster-role
rules:
- apiGroups: [""]
resources: ["secrets"]
verbs: ["create", "update", "delete", "patch"]