Courseiva

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

ModelAcronymWho Controls Access?Best For
Discretionary Access ControlDACResource ownerSmall teams, file shares
Mandatory Access ControlMACSystem / security labelsClassified govt / military
Role-Based Access ControlRBACAdministrator (via roles)Enterprise environments
Attribute-Based Access ControlABACPolicy engine (user + resource attributes)Fine-grained, dynamic policies
Rule-Based Access ControlRuBACSystem rules / ACLsFirewall rules, network ACLs

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 →

How Courseiva writes practice questions · Editorial policy

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.