Recover a service account's exact read access

A hands-on CKA lab. You produce the real artefact and 10 automated checks verify it behaves the way the exam expects.

Try this labAll CKA practice

Certification
CKA
Format
Artifact workspace
Difficulty
medium
Estimated time
35 min
Automated checks
10

The brief

Repair access.yaml. Preserve the single v1 ServiceAccount observability/collector. That authenticated account must get/list/watch every core Pod in checkout, get every core pods/log subresource there, and get/list/watch every apps Deployment there. Reads must include future object names and ordinary unrestricted collection requests. Grant no other resource action, no access outside checkout or at cluster scope, and no grant to any other principal. No Secret access or mutation is allowed. RBAC permissions add together; a narrow rule cannot revoke a broader grant. Core apiGroups is the empty string, pods/log is distinct from pods, and resourceNames restricts names rather than granting every future object. A RoleBinding resolves a Role in its own namespace or a cluster-scoped ClusterRole; a ClusterRoleBinding grants across namespaces. ServiceAccount subject namespace identifies the caller; when omitted in a RoleBinding it defaults to the binding namespace. Its full User identity is system:serviceaccount:observability:collector. Group subjects can authorize other members. Use a namespace Role or reusable ClusterRoles with scoped bindings. This simulation evaluates the supplied artifact's authorization attributes, including literal and wildcard future API groups/resources, with no pre-existing grants. It does not authenticate tokens, discover served APIs, apply admission/other authorizers, run aggregation, update immutable roleRefs or evaluate non-resource URLs. Every Group is assumed capable of containing another principal. Supported objects are ServiceAccount, Role, ClusterRole, RoleBinding and ClusterRoleBinding, with metadata, resource rules, resourceNames and subjects; rule resources support exact names, *, and */subresource. Inspect missing operations and concrete excess-grant witnesses, then repair without Reset.

What the checks verify

Your work is graded on 10 independent properties, not on matching one reference answer.

  • Supported account and RBAC fields use valid API shapes and types.
  • Exactly the supplied observability/collector ServiceAccount is preserved.
  • Every binding resolves its namespace-local Role or cluster-scoped ClusterRole in the artifact.
  • The collector can get/list/watch every checkout core Pod, including new names and unrestricted collections.
  • The collector can get every checkout core pods/log subresource.
  • The collector can get/list/watch every checkout apps Deployment.
  • No reachable collector rule grants a resource verb outside get/list/watch.
  • Collector grants contain only the exact required API group/resource/verb combinations.
  • All collector grants stay in checkout rather than another namespace or cluster scope.
  • The artifact grants no resource action to a principal other than the supplied collector.

Where this sits in the CKA blueprint

Domain
Cluster Architecture, Installation and Configuration
Objective
Role Based Access Control
Skill
Authorization Scope and Subjects

Part of CKA preparation

Labs are written by ExamNova to teach the decisions the exam tests. They are not reproductions of vendor lab content.