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.
- 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.