More Info:
Cluster roles and roles with the impersonate, bind or escalate permissions should not be granted unless strictly required. Each of these permissions allow a particular subject to escalate their privileges beyond those explicitly granted by cluster administratorsRisk Level
MediumAddress
SecurityCompliance Standards
- CIS Kubernetes
Triage and Remediation
- Remediation
Remediation
Manual Steps
Manual Steps
-
List all Roles/ClusterRoles that grant
bind,escalate, orimpersonate.- Run on: any machine with kubectl access
- Command:
-
Identify which subjects (users, groups, service accounts) are bound to those high‑risk Roles/ClusterRoles.
- Run on: any machine with kubectl access
- Command:
Then correlate with the list from step 1:
-
Review business and technical justification for each subject with these permissions.
- For each subject identified in step 2, determine:
- Why do they need
bind,escalate, orimpersonate? - Is it documented and approved (e.g., admin break-glass, CI/CD controller, identity broker)?
- Why do they need
- If no clear, minimal justification exists, mark that binding for removal or reduction (e.g., to a narrower role without these verbs).
- For each subject identified in step 2, determine:
-
Remove or tighten unnecessary
bind/escalate/impersonatepermissions.- Run on: any machine with kubectl access
- To remove a binding entirely (example – replace with actual names from your review):
- To edit and drop only the risky verbs from an otherwise needed role:
orThen remove
bind,escalate, andimpersonatefrom.rules[].verbswhile preserving required non‑escalating verbs.
-
If a subject genuinely needs some of these rights, scope them as narrowly as possible.
- Prefer dedicated, minimal Roles/ClusterRoles with just the necessary resources and verbs (e.g., only impersonate specific users/groups, only bind to a specific role).
- Create/update via manifest so the intent is explicit (example skeleton):
- Apply:
-
Verify that high‑risk verbs are now only where explicitly approved.
- Run on: any machine with kubectl access
- Re-run the discovery from step 1 and confirm the remaining Roles/ClusterRoles with
bind,escalate, orimpersonatematch your approved list:
Using kubectl
Using kubectl
Any ClusterRole name returned by this command includes at least one of the sensitive verbs. These roles need review to see who is bound to them and whether this is strictly required.
Within each role’s
.rules:verbscontainingbind,escalate, orimpersonateagainst broadresources(e.g.,*,clusterroles,users,groups) orresourceNamesnot narrowly scoped is higher risk.
These should be justified by a concrete operational need.
Any RoleBinding shown here grants a subject (user, group, or ServiceAccount) access to a ClusterRole that has
bind, impersonate, or escalate. Each binding must be checked for least-privilege necessity.ClusterRoleBindings are cluster-wide. Any binding here grants powerful permissions everywhere; these are high-risk and should be tightly justified and, where possible, replaced with narrower, namespace-scoped permissions.
kubectl get <binding> -o yaml.)Problem indication:Look for:
- Subjects that are broad (e.g.,
system:authenticated,system:serviceaccounts, large groups). - Service accounts used by application workloads rather than dedicated infrastructure/automation components.
- Human users or groups who do not administratively need to bind/impersonate/escalate.
- If this returns no ClusterRole names, no ClusterRole currently declares
bind,impersonate, orescalate. - If it still returns entries, those roles (and their bindings) remain and must be consciously accepted or further reduced.
Automation
Automation
- Any
ClusterRoleorRolelisted in sections 1 or 4 usesbind,impersonate, orescalate. - Any binding listed in sections 2 and 3 shows who (users, groups, service accounts) receives those powerful permissions.
- Problematic cases are subjects that do not absolutely need these capabilities (for example, broad groups like
system:authenticated, CI/CD service accounts, or general application service accounts). - Use this report to decide, manually, where you can safely:
- Remove the binding, or
- Replace with a less-privileged role that omits
bind,impersonate, andescalate.

