Granting Cluster-Wide Read Access to a Service Account with RBAC
An administrator needs to grant a service account 'sa-monitor' in namespace 'monitoring' the ability to read pods and services cluster-wide. Which RBAC configuration is correct?
Quick Answer
The correct answer is to create a ClusterRole with rules for pods and services using the verbs get, watch, and list, then bind it to the service account with a ClusterRoleBinding. This configuration is necessary because a standard Role and RoleBinding are namespace-scoped and cannot grant permissions across namespaces; only a ClusterRole paired with a ClusterRoleBinding provides the cluster-wide scope required for the service account 'sa-monitor' to read resources in every namespace. On the Certified Kubernetes Administrator CKA exam, this scenario tests your understanding of the critical distinction between Role/ClusterRole and RoleBinding/ClusterRoleBinding, a common trap where candidates mistakenly use a RoleBinding with a ClusterRole, which still limits permissions to a single namespace. Remember the memory tip: "ClusterRole plus ClusterBinding equals cross-namespace reading."
⚠ Common exam trap
Candidates often confuse RoleBinding with ClusterRoleBinding, thinking a ClusterRole bound via a RoleBinding still grants cluster-wide access, but in reality, the RoleBinding scopes the permissions to its namespace.
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
✓
Create a ClusterRole with rules for pods and services (verbs: get, watch, list) and a ClusterRoleBinding binding it to sa-monitor
The service account 'sa-monitor' needs to read pods and services across all namespaces (cluster-wide). A ClusterRole with verbs get, watch, list for pods and services, combined with a ClusterRoleBinding, grants these permissions cluster-wide, which is the only way to achieve cross-namespace read access for a service account.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Create a Role with rules for pods and services (verbs: get, watch, list) and a RoleBinding binding it to sa-monitor in namespace monitoring
Why it's wrong here
A Role is namespace-scoped and combined with RoleBinding only applies to that namespace.
- ✗
Create a ClusterRole with rules for pods and services (verbs: create) and a ClusterRoleBinding binding it to sa-monitor
Why it's wrong here
The verb 'create' is not needed and would grant write access, which is not requested.
- ✓
Create a ClusterRole with rules for pods and services (verbs: get, watch, list) and a ClusterRoleBinding binding it to sa-monitor
Why this is correct
ClusterRole + ClusterRoleBinding grants cluster-wide permissions.
- ✗
Create a ClusterRole with rules for pods and services (verbs: get, watch, list) and a RoleBinding binding it to sa-monitor in namespace monitoring
Why it's wrong here
A RoleBinding only grants permissions within its namespace, not cluster-wide.
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 |
Go deeper
Related to this question
About these practice questions
One of 302 original CKA practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
Same concept, more angles
2 more ways this is tested on CKA
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. A ClusterRoleBinding grants permissions to a user, but the user is unable to perform the action. What is a possible cause?
hard- ✓ A.The subject in the ClusterRoleBinding is misspelled or missing the kind.
- B.The ClusterRole does not have the required rules.
- C.The user's kubeconfig does not include the correct context.
- D.A RoleBinding in the namespace overrides the ClusterRoleBinding.
Why A: To make the question technically precise and ensure there is only one correct answer, we specify in the stem that the ClusterRole itself has been verified to have the correct rules. We also correct Option A to focus on the misspelled subject name (or namespace for ServiceAccounts), which is a silent failure because Kubernetes does not validate the existence of subjects when creating bindings.
Variation 2. An administrator is setting up RBAC to allow a CI/CD pipeline to create and delete pods only in the 'ci' namespace. Which combination of resources should be created?
hard- ✓ A.Role and RoleBinding
- B.ClusterRole and RoleBinding
- C.ClusterRole and ClusterRoleBinding
- D.Role and ClusterRoleBinding
Why A: A Role and RoleBinding are the correct combination because the CI/CD pipeline needs to create and delete pods only within the 'ci' namespace. A Role defines permissions scoped to a specific namespace, and a RoleBinding grants those permissions to a user or service account within that same namespace. This ensures the pipeline cannot affect resources in other namespaces.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This CKA 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 CKA exam.