- A
Use 'kubectl auth can-i --list' to check the service account's permissions.
Why wrong: This checks permissions but does not create a least-privilege binding.
- B
Delete the ClusterRoleBinding immediately.
Why wrong: This could break functionality without understanding the impact.
- C
Run 'kubectl get clusterrolebindings' to list all bindings.
Why wrong: This lists bindings but does not analyze them for least privilege.
- D
Review the permissions granted by cluster-admin and create a custom Role with only necessary permissions, then bind it.
This follows the least privilege principle by scoping permissions to only what is needed.
Removing Cluster-Admin from Service Accounts: Audit and Least Privilege Remediation
This CKS practice question tests your understanding of cluster setup and hardening. Match the stated requirement to the specific cloud service, access model, or configuration option — many options are valid in isolation but not for this scenario. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
A ClusterRoleBinding grants cluster-admin to a service account in the 'kube-system' namespace. What is the best way to audit this for least privilege?
Clue words in this question
Noticing these words before you look at the options changes how you read each choice.
Clue:
"best"Why it matters: Signals that multiple options may be partially correct. Choose the option that most directly solves the exact problem described, not the one that sounds most complete.
Clue:
"least"Why it matters: You want the option with minimum overhead, fewest steps, or lowest impact — not the most feature-rich or comprehensive answer.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
Review the permissions granted by cluster-admin and create a custom Role with only necessary permissions, then bind it.
Option D is correct because the cluster-admin ClusterRole grants superuser access across all namespaces, which violates the principle of least privilege. The best practice is to review the specific permissions required by the service account, create a custom Role with only those necessary permissions, and bind it via a RoleBinding or ClusterRoleBinding scoped appropriately. This minimizes the attack surface and aligns with Kubernetes RBAC hardening guidelines.
Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use 'kubectl auth can-i --list' to check the service account's permissions.
Why it's wrong here
This checks permissions but does not create a least-privilege binding.
- ✗
Delete the ClusterRoleBinding immediately.
Why it's wrong here
This could break functionality without understanding the impact.
- ✗
Run 'kubectl get clusterrolebindings' to list all bindings.
Why it's wrong here
This lists bindings but does not analyze them for least privilege.
- ✓
Review the permissions granted by cluster-admin and create a custom Role with only necessary permissions, then bind it.
Why this is correct
This follows the least privilege principle by scoping permissions to only what is needed.
Clue confirmation
The clue words "best", "least" in the question point toward this answer.
Related concept
Read the scenario before looking for a memorised answer.
Common exam traps
Common exam trap: answer the scenario, not the keyword
The trap here is that candidates may think simply listing or checking permissions (Options A or C) is sufficient for auditing, when the core requirement is to reduce permissions to the minimum necessary, which involves creating a custom Role.
Detailed technical explanation
How to think about this question
Under the hood, the cluster-admin ClusterRole aggregates all Kubernetes API verbs and resources via the 'system:master' group and the 'kubernetes-admin' user, effectively granting unrestricted access. When auditing, you should use 'kubectl describe clusterrolebinding <name>' to see the subjects and then 'kubectl describe clusterrole cluster-admin' to understand the full scope of permissions. A real-world scenario is a CI/CD pipeline service account that only needs to create pods and services in a single namespace, but is mistakenly bound to cluster-admin, allowing it to delete nodes or secrets cluster-wide.
KKey Concepts to Remember
- Read the scenario before looking for a memorised answer.
- Find the constraint that changes the correct option.
- Eliminate answers that are true in general but not in this case.
TExam Day Tips
- Watch for words such as best, first, most likely and least administrative effort.
- Review why wrong options are wrong, not only why the correct option is correct.
Key takeaway
Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Real-world example
How this comes up in practice
A junior network technician can log in to a core router but cannot reach the enable prompt or configuration mode. The AAA server is authenticating the login — but the authorisation policy only grants privilege level 1, not 15. Authentication (who you are) is working; authorisation (what you can do) is not.
Quick reference
Access Control Model Comparison
| Model | Acronym | Who Controls Access? | Best For |
|---|---|---|---|
| Discretionary Access Control | DAC | Resource owner | Small teams, file shares |
| Mandatory Access Control | MAC | System / security labels | Classified govt / military |
| Role-Based Access Control | RBAC | Administrator (via roles) | Enterprise environments |
| Attribute-Based Access Control | ABAC | Policy engine (user + resource attributes) | Fine-grained, dynamic policies |
| Rule-Based Access Control | RuBAC | System rules / ACLs | Firewall rules, network ACLs |
What to study next
Got this wrong? Here's your next step.
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
- →
Cluster Setup and Hardening — study guide chapter
Learn the concepts, then practise the questions
- →
Cluster Setup and Hardening practice questions
Targeted practice on this topic area only
- →
All CKS questions
997 questions across all exam domains
- →
Certified Kubernetes Security Specialist CKS study guide
Full concept coverage aligned to exam objectives
- →
CKS practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related CKS practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
Monitoring Logging and Runtime Security practice questions
Practise CKS questions linked to Monitoring Logging and Runtime Security.
Cluster Setup and Hardening practice questions
Practise CKS questions linked to Cluster Setup and Hardening.
System Hardening practice questions
Practise CKS questions linked to System Hardening.
Minimize Microservice Vulnerabilities practice questions
Practise CKS questions linked to Minimize Microservice Vulnerabilities.
Supply Chain Security practice questions
Practise CKS questions linked to Supply Chain Security.
Monitoring, Logging and Runtime Security practice questions
Practise CKS questions linked to Monitoring, Logging and Runtime Security.
Cluster Setup practice questions
Practise CKS questions linked to Cluster Setup.
Cluster Hardening practice questions
Practise CKS questions linked to Cluster Hardening.
CKS fundamentals practice questions
Practise CKS questions linked to CKS fundamentals.
CKS scenario practice questions
Practise CKS questions linked to CKS scenario.
CKS troubleshooting practice questions
Practise CKS questions linked to CKS troubleshooting.
Practice this exam
Start a free CKS practice session
Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.
FAQ
Questions learners often ask
What does this CKS question test?
Cluster Setup and Hardening — This question tests Cluster Setup and Hardening — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: Review the permissions granted by cluster-admin and create a custom Role with only necessary permissions, then bind it. — Option D is correct because the cluster-admin ClusterRole grants superuser access across all namespaces, which violates the principle of least privilege. The best practice is to review the specific permissions required by the service account, create a custom Role with only those necessary permissions, and bind it via a RoleBinding or ClusterRoleBinding scoped appropriately. This minimizes the attack surface and aligns with Kubernetes RBAC hardening guidelines.
What should I do if I get this CKS question wrong?
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
Are there clue words in this question I should notice?
Yes — watch for: "best", "least". Signals that multiple options may be partially correct. Choose the option that most directly solves the exact problem described, not the one that sounds most complete.
What is the key concept behind this question?
Read the scenario before looking for a memorised answer.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Same concept, more angles
5 more ways this is tested on CKS
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. Which TWO of the following are recommended actions to harden service account security in a Kubernetes cluster? (Select TWO)
medium- A.Delete all service accounts except the default one
- B.Use a single service account for all workloads
- ✓ C.Avoid granting cluster-admin ClusterRole to service accounts
- D.Grant cluster-admin to all service accounts for simplicity
- ✓ E.Disable automountServiceAccountToken for pods that do not require API access
Why C: Option C is correct because granting the cluster-admin ClusterRole to a service account provides unrestricted superuser access across the entire cluster, violating the principle of least privilege. The CKS exam emphasizes that service accounts should be bound only to the minimal RBAC permissions required for their function, and cluster-admin should never be used for routine workloads.
Variation 2. A security audit reveals that a service account 'monitor' is bound to the cluster-admin ClusterRole, which violates least-privilege. What is the best remediation?
medium- A.Delete the service account and recreate it without any role binding
- B.Keep the binding but add a Deny policy for write actions
- C.Set automountServiceAccountToken: false in the pod spec
- ✓ D.Create a new ClusterRoleBinding that binds 'monitor' to a less privileged role (e.g., view) and delete the cluster-admin binding
Why D: Option D is correct because it directly addresses the violation of least-privilege by replacing the overly permissive cluster-admin ClusterRoleBinding with a binding to a more restrictive role like 'view'. This ensures the 'monitor' service account retains only the necessary read permissions, adhering to the principle of least privilege without disrupting its functionality.
Variation 3. A security audit reveals that a service account in the 'default' namespace has been granted cluster-admin privileges via a ClusterRoleBinding. What is the best mitigation?
medium- A.Disable the service account token automount
- B.Delete the service account
- ✓ C.Modify the ClusterRoleBinding to use a less privileged role
- D.Set --authorization-mode=AlwaysDeny
Why C: Option C is correct because the best practice is to apply the principle of least privilege: instead of deleting the service account or disabling its token, you should modify the ClusterRoleBinding to bind the service account to a ClusterRole with only the permissions it actually needs. This retains the service account's functionality while removing excessive cluster-admin privileges, which grant unrestricted access to all cluster resources.
Variation 4. A pod runs with a service account that has a ClusterRoleBinding granting cluster-admin. What is the best practice to reduce the risk of privilege escalation?
medium- A.Use a PodSecurityPolicy to restrict the service account
- B.Delete the service account and create a new one without any roles
- ✓ C.Create a more restrictive Role/ClusterRole with only required permissions and bind it to the service account, removing the cluster-admin binding
- D.Add a NetworkPolicy to block outbound traffic from the pod
Why C: Option C is correct because the principle of least privilege dictates that a service account should only have the permissions necessary for its function. By creating a more restrictive Role/ClusterRole with only required permissions and binding it to the service account, you remove the excessive cluster-admin privileges, directly reducing the risk of privilege escalation. This aligns with Kubernetes RBAC best practices for hardening cluster setup.
Variation 5. An administrator wants to ensure that no service account in the 'development' namespace has cluster-admin privileges. Which command should be used to identify such bindings?
medium- A.kubectl get serviceaccounts -n development
- ✓ B.kubectl get clusterrolebindings -o yaml | grep -B 10 namespace: development
- C.kubectl get rolebindings -n development --all-namespaces
- D.kubectl describe clusterrole cluster-admin
Why B: Option B is correct because `ClusterRoleBindings` are cluster-scoped resources that grant permissions across all namespaces, including the `development` namespace. By piping the YAML output through `grep -B 10 namespace: development`, you can identify which `ClusterRoleBinding` references a service account in the `development` namespace, revealing any binding that could grant cluster-admin privileges to that namespace's service accounts.
Keep practising
More CKS practice questions
- Which flag is used to restrict the kubelet's ability to modify node status and pods?
- A Falco rule has priority `WARNING` and output: `Sensitive file opened (user=%user.name command=%proc.cmdline file=%fd.n…
- Falco detects a shell being opened inside a container. Which Falco rule field is used to specify the syscall condition f…
- A security audit reveals that a ServiceAccount named 'monitor' has a ClusterRoleBinding to the cluster-admin role. What…
- Match each Kubernetes security component to its description.
- Match each Kubernetes certificate type to its usage.
Last reviewed: Jun 24, 2026
This CKS practice question is part of Courseiva's free CNCF certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CKS exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.