You are deploying an Azure Kubernetes Service (AKS) cluster. You need to ensure that pods can access Azure resources (e.g., Azure Storage) using a managed identity without storing credentials. What should you configure?
Azure AD Workload Identity for Kubernetes leverages Kubernetes service accounts and OpenID Connect (OIDC) federation. It allows pods to authenticate to Azure services using a user-assigned managed identity without embedding any secrets or connection strings directly into the pod configuration. This method significantly enhances security by eliminating the need for manual secret rotation and reducing the risk of credential exposure, aligning with the principle of least privilege.
Why this answer
Azure AD Workload Identity (or the older aad-pod-identity) allows you to assign an Azure managed identity to a pod. The pod can then authenticate to Azure resources (e.g., Azure Storage) without storing any credentials, as the identity is projected into the pod via token exchange with the Azure Instance Metadata Service (IMDS). This directly meets the requirement of using a managed identity without credential storage.
Exam trap
The trap here is that candidates confuse cluster-level managed identity (used for AKS infrastructure operations) with pod-level managed identity (used for pod-to-Azure resource access), leading them to select Option D.
How to eliminate wrong answers
Option B is wrong because Azure AD integration on the AKS cluster is used for user authentication to the cluster (e.g., kubectl access), not for pod-level identity to access Azure resources. Option C is wrong because creating a service principal and distributing its secret as a Kubernetes secret violates the requirement of 'without storing credentials' and introduces security risks of secret leakage. Option D is wrong because enabling managed identity on the AKS cluster provides a cluster-level identity for the cluster itself (e.g., for load balancer or disk operations), not for individual pods to access Azure resources like Storage.