Which TWO mechanisms help secure Kubernetes Secrets against unauthorized access or exposure?
Encryption at rest with KMS or AES-CBC providers protects etcd-stored Secret data, so anyone reading the underlying storage or a backup cannot recover plaintext credentials. This satisfies the constraint of preventing exposure when the storage layer itself is compromised.
Why this answer
Option B is correct because enabling encryption at rest with a KMS provider or the AES-CBC encryption provider ensures that Secret objects stored in etcd are encrypted on disk, so an attacker who gains access to the etcd data or its backups cannot read secret values in plaintext. Option E is correct because Kubernetes Secrets are protected primarily by RBAC authorization; applying least-privilege Roles and RoleBindings that restrict get, list, and watch on secrets to only the workloads and users that truly need them prevents unauthorized principals from reading Secret data through the API server. Option A is wrong because granting cluster-admin to all application service accounts massively over-privileges workloads and would let any compromised pod read every Secret in the cluster.
Option C is wrong because ConfigMaps are not designed to hold sensitive data and are stored unencrypted and broadly readable, so moving secrets into plaintext ConfigMaps increases exposure rather than securing them. Option D is wrong because disabling the Kubernetes audit log removes the record of who accessed or modified Secrets, eliminating detection and forensic capability instead of adding protection.
Exam trap
KCSA often tests the misconception that Kubernetes Secrets are encrypted by default, leading candidates to overlook encryption-at-rest and RBAC as the two real protective mechanisms.