Skip to content

Commit f93403b

Browse files
Merge pull request #263844 from schaffererin/usepodmanagedidentitiesupdate
Adding clearer notice of the pod-managed identity deprecation and workload identity recommendation
2 parents 88ee07a + c464c34 commit f93403b

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

articles/aks/operator-best-practices-identity.md

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,19 @@ In this article, we discuss what recommended practices a cluster operator can fo
2121
> * Authenticate AKS cluster users with Microsoft Entra ID.
2222
> * Control access to resources with Kubernetes role-based access control (Kubernetes RBAC).
2323
> * Use Azure RBAC to granularly control access to the AKS resource, the Kubernetes API at scale, and the `kubeconfig`.
24-
> * Use a [managed identity][managed-identities] to authenticate pods with other services.
24+
> * Use a [workload identity](./workload-identity-overview.md) to access Azure resources from your pods.
2525
2626
<a name='use-azure-active-directory-azure-ad'></a>
2727

28+
> [!WARNING]
29+
> The open source Microsoft Entra pod-managed identity (preview) in Azure Kubernetes Service has been deprecated as of 10/24/2022.
30+
>
31+
> If you have [Microsoft Entra pod-managed identity][aad-pod-identity] enabled on your AKS cluster or are considering implementing it,
32+
> we recommend you **review the [workload identity overview][workload-identity-overview] article** to understand our
33+
> recommendations and options to set up your cluster to use a Microsoft Entra Workload ID (preview).
34+
> This authentication method replaces pod-managed identity (preview), which integrates with the Kubernetes native capabilities
35+
> to federate with any external identity providers.
36+
2837
## Use Microsoft Entra ID
2938

3039
> **Best practice guidance**
@@ -118,24 +127,22 @@ There are two levels of access needed to fully operate an AKS cluster:
118127

119128
## Use pod-managed identities
120129

121-
Don't use fixed credentials within pods or container images, as they are at risk of exposure or abuse. Instead, use *pod identities* to automatically request access using Microsoft Entra ID.
130+
> [!WARNING]
131+
> The open source Microsoft Entra pod-managed identity (preview) in Azure Kubernetes Service has been deprecated as of 10/24/2022.
132+
>
133+
> If you have [Microsoft Entra pod-managed identity][aad-pod-identity] enabled on your AKS cluster or are considering implementing it,
134+
> we recommend you **review the [workload identity overview][workload-identity-overview] article** to understand our
135+
> recommendations and options to set up your cluster to use a Microsoft Entra Workload ID (preview).
136+
> This authentication method replaces pod-managed identity (preview), which integrates with the Kubernetes native capabilities
137+
> to federate with any external identity providers.
122138

123-
> [!NOTE]
124-
> Pod identities are intended for use with Linux pods and container images only. Pod-managed identities (preview) support for Windows containers is coming soon.
139+
140+
Don't use fixed credentials within pods or container images, as they are at risk of exposure or abuse. Instead, use *pod identities* to automatically request access using Microsoft Entra ID.
125141

126142
To access other Azure resources, like Azure Cosmos DB, Key Vault, or Blob storage, the pod needs authentication credentials. You could define authentication credentials with the container image or inject them as a Kubernetes secret. Either way, you would need to manually create and assign them. Usually, these credentials are reused across pods and aren't regularly rotated.
127143

128144
With pod-managed identities (preview) for Azure resources, you automatically request access to services through Microsoft Entra ID. Pod-managed identities is currently in preview for AKS. Refer to the [Use Microsoft Entra pod-managed identities in Azure Kubernetes Service (Preview)](./use-azure-ad-pod-identity.md) documentation to get started.
129145

130-
> [!NOTE]
131-
> If you have enabled [Microsoft Entra pod-managed identity][aad-pod-identity] on your AKS cluster or are considering implementing it,
132-
> we recommend you first review the [workload identity overview][workload-identity-overview] article to understand our
133-
> recommendations and options to set up your cluster to use a Microsoft Entra Workload ID (preview).
134-
> This authentication method replaces pod-managed identity (preview), which integrates with the Kubernetes native capabilities
135-
> to federate with any external identity providers.
136-
>
137-
> The open source Microsoft Entra pod-managed identity (preview) in Azure Kubernetes Service has been deprecated as of 10/24/2022.
138-
139146
Microsoft Entra pod-managed identity (preview) supports two modes of operation:
140147

141148
* **Standard** mode: In this mode, the following 2 components are deployed to the AKS cluster:
@@ -166,9 +173,9 @@ When pods request a security token from Microsoft Entra ID to access to an Azure
166173
* Identifies pods requesting access to Azure resources based on their remote address.
167174
* Queries the Azure Resource Provider.
168175

169-
1. The Azure Resource Provider checks for Azure identity mappings in the AKS cluster.
170-
1. The NMI server requests an access token from Microsoft Entra ID based on the pod's identity mapping.
171-
1. Microsoft Entra ID provides access to the NMI server, which is returned to the pod.
176+
2. The Azure Resource Provider checks for Azure identity mappings in the AKS cluster.
177+
3. The NMI server requests an access token from Microsoft Entra ID based on the pod's identity mapping.
178+
4. Microsoft Entra ID provides access to the NMI server, which is returned to the pod.
172179
* This access token can be used by the pod to then request access to resources in Azure.
173180

174181
In the following example, a developer creates a pod that uses a managed identity to request access to Azure SQL Database:

0 commit comments

Comments
 (0)