You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/aks/operator-best-practices-identity.md
+23-16Lines changed: 23 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,10 +21,19 @@ In this article, we discuss what recommended practices a cluster operator can fo
21
21
> * Authenticate AKS cluster users with Microsoft Entra ID.
22
22
> * Control access to resources with Kubernetes role-based access control (Kubernetes RBAC).
23
23
> * 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.
25
25
26
26
<aname='use-azure-active-directory-azure-ad'></a>
27
27
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
+
28
37
## Use Microsoft Entra ID
29
38
30
39
> **Best practice guidance**
@@ -118,24 +127,22 @@ There are two levels of access needed to fully operate an AKS cluster:
118
127
119
128
## Use pod-managed identities
120
129
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.
122
138
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.
125
141
126
142
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.
127
143
128
144
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.
129
145
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
-
139
146
Microsoft Entra pod-managed identity (preview) supports two modes of operation:
140
147
141
148
* **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
166
173
* Identifies pods requesting access to Azure resources based on their remote address.
167
174
* Queries the Azure Resource Provider.
168
175
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.
172
179
* This access token can be used by the pod to then request access to resources in Azure.
173
180
174
181
In the following example, a developer creates a pod that uses a managed identity to request access to Azure SQL Database:
0 commit comments