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/use-azure-ad-pod-identity.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ Azure Active Directory (Azure AD) pod-managed identities use Kubernetes primitiv
17
17
> Kubernetes native capabilities to federate with any external identity providers on behalf of the
18
18
> application.
19
19
>
20
-
> The open source Azure AD pod-managed identity (preview) in Azure Kubernetes Service has been deprecated as of 10/24/2022, the AKS Managed add-on is still supported at this time.
20
+
> The open source Azure AD pod-managed identity (preview) in Azure Kubernetes Service has been deprecated as of 10/24/2022. The AKS Managed add-on is still supported.
21
21
22
22
## Before you begin
23
23
@@ -71,7 +71,7 @@ az provider register --namespace Microsoft.ContainerService
71
71
Azure AD pod-managed identity supports two modes of operation:
72
72
73
73
***Standard Mode**: In this mode, the following two components are deployed to the AKS cluster:
74
-
*[Managed Identity Controller (MIC)](https://azure.github.io/aad-pod-identity/docs/concepts/mic/): An MIC is a Kubernetes controller that watches for changes to pods, [AzureIdentity](https://azure.github.io/aad-pod-identity/docs/concepts/azureidentity/) and [AzureIdentityBinding](https://azure.github.io/aad-pod-identity/docs/concepts/azureidentitybinding/) through the Kubernetes API Server. When it detects a relevant change, the MIC adds or deletes [AzureAssignedIdentity](https://azure.github.io/aad-pod-identity/docs/concepts/azureassignedidentity/) as needed. Specifically, when a pod is scheduled, the MIC assigns the managed identity on Azure to the underlying virtual machine scale set used by the node pool during the creation phase. When all pods using the identity are deleted, it removes the identity from the virtual machine scale set of the node pool, unless the same managed identity is used by other pods. The MIC takes similar actions when AzureIdentity or AzureIdentityBinding are created or deleted.
74
+
*[Managed Identity Controller (MIC)](https://azure.github.io/aad-pod-identity/docs/concepts/mic/): An MIC is a Kubernetes controller that watches for changes to pods, [AzureIdentity](https://azure.github.io/aad-pod-identity/docs/concepts/azureidentity/) and [AzureIdentityBinding](https://azure.github.io/aad-pod-identity/docs/concepts/azureidentitybinding/) through the Kubernetes API Server. When it detects a relevant change, the MIC adds or deletes [AzureAssignedIdentity](https://azure.github.io/aad-pod-identity/docs/concepts/azureassignedidentity/) as needed. Specifically, when a pod is scheduled, the MIC assigns the managed identity on Azure to the underlying Virtual Machine Scale Set used by the node pool during the creation phase. When all pods using the identity are deleted, it removes the identity from the Virtual Machine Scale Set of the node pool, unless the same managed identity is used by other pods. The MIC takes similar actions when AzureIdentity or AzureIdentityBinding are created or deleted.
75
75
*[Node Managed Identity (NMI)](https://azure.github.io/aad-pod-identity/docs/concepts/nmi/): NMI is a pod that runs as a DaemonSet on each node in the AKS cluster. NMI intercepts security token requests to the [Azure Instance Metadata Service](../virtual-machines/linux/instance-metadata-service.md?tabs=linux) on each node, redirect them to itself and validates if the pod has access to the identity it's requesting a token for and fetch the token from the Azure AD tenant on behalf of the application.
76
76
***Managed Mode**: This mode offers only NMI. When installed via the AKS cluster add-on, Azure manages creation of Kubernetes primitives (AzureIdentity and AzureIdentityBinding) and identity assignment in response to CLI commands by the user. Otherwise, if installed via Helm chart, the identity needs to be manually assigned and managed by the user. For more information, see [Pod identity in managed mode](https://azure.github.io/aad-pod-identity/docs/configure/pod_identity_in_managed_mode/).
The managed identity that will be assigned to the pod needs to be granted permissions that align with the actions it will be taking.
181
181
182
-
To run the demo, the *IDENTITY_CLIENT_ID* managed identity must have Virtual Machine Contributor permissions in the resource group that contains the virtual machine scale set of your AKS cluster.
182
+
To run the demo, the *IDENTITY_CLIENT_ID* managed identity must have Virtual Machine Contributor permissions in the resource group that contains the Virtual Machine Scale Set of your AKS cluster.
183
183
184
184
```azurecli-interactive
185
185
NODE_GROUP=$(az aks show -g myResourceGroup -n myAKSCluster --query nodeResourceGroup -o tsv)
Copy file name to clipboardExpand all lines: articles/aks/use-network-policies.md
+17-18Lines changed: 17 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,14 +30,14 @@ These Network Policy rules are defined as YAML manifests. Network policies can b
30
30
31
31
Azure provides two ways to implement Network Policy. You choose a Network Policy option when you create an AKS cluster. The policy option can't be changed after the cluster is created:
32
32
33
-
* Azure's own implementation, called *Azure Network Policy Manager (NPM)*.
33
+
* Azure's own implementation, called *Azure Network Policy Manager*.
34
34
**Calico Network Policies*, an open-source network and network security solution founded by [Tigera][tigera].
35
35
36
-
Azure NPM for Linux uses Linux *IPTables* and Azure NPM for Windows uses *Host Network Service (HNS) ACLPolicies* to enforce the specified policies. Policies are translated into sets of allowed and disallowed IP pairs. These pairs are then programmed as IPTable/HNS ACLPolicy filter rules.
36
+
Azure Network Policy Manager for Linux uses Linux *IPTables* and Azure Network Policy Manager for Windows uses *Host Network Service (HNS) ACLPolicies* to enforce the specified policies. Policies are translated into sets of allowed and disallowed IP pairs. These pairs are then programmed as IPTable/HNS ACLPolicy filter rules.
37
37
38
-
## Differences between Azure NPM and Calico Network Policy and their capabilities
38
+
## Differences between Azure Network Policy Manager and Calico Network Policy and their capabilities
| Supported platforms | Linux, Windows Server 2022 | Linux, Windows Server 2019 and 2022 |
43
43
| Supported networking options | Azure CNI | Azure CNI (Linux, Windows Server 2019 and 2022) and kubenet (Linux) |
@@ -48,19 +48,19 @@ Azure NPM for Linux uses Linux *IPTables* and Azure NPM for Windows uses *Host N
48
48
49
49
## Limitations:
50
50
51
-
Azure Network Policy Manager(NPM) doesn't support IPv6. Otherwise, Azure NPM fully supports the network policy spec in Linux.
52
-
* In Windows, Azure NPM doesn't support the following:
51
+
Azure Network Policy Manager doesn't support IPv6. Otherwise, Azure Network Policy Manager fully supports the network policy spec in Linux.
52
+
* In Windows, Azure Network Policy Manager doesn't support the following:
53
53
* named ports
54
54
* SCTP protocol
55
55
* negative match label or namespace selectors (e.g. all labels except "debug=true")
56
56
* "except" CIDR blocks (a CIDR with exceptions)
57
57
58
58
>[!NOTE]
59
-
> * Azure NPM pod logs will record an error if an unsupported policy is created.
59
+
> * Azure Network Policy Manager pod logs will record an error if an unsupported policy is created.
60
60
61
61
## Scale:
62
62
63
-
With the current limits set on Azure NPM for Linux, it can scale up to 500 Nodes and 40k Pods. You may see OOM kills beyond this scale. Please reach out to us on [aks-acn-github] if you'd like to increase your memory limit.
63
+
With the current limits set on Azure Network Policy Manager for Linux, it can scale up to 500 Nodes and 40k Pods. You may see OOM kills beyond this scale. Please reach out to us on [aks-acn-github] if you'd like to increase your memory limit.
64
64
65
65
## Create an AKS cluster and enable Network Policy
66
66
@@ -70,18 +70,17 @@ To see network policies in action, let's create an AKS cluster that supports net
70
70
>
71
71
> The network policy feature can only be enabled when the cluster is created. You can't enable network policy on an existing AKS cluster.
72
72
73
-
To use Azure NPM, you must use the [Azure CNI plug-in][azure-cni]. Calico Network Policy could be used with either this same Azure CNI plug-in or with the Kubenet CNI plug-in.
73
+
To use Azure Network Policy Manager, you must use the [Azure CNI plug-in][azure-cni]. Calico Network Policy could be used with either this same Azure CNI plug-in or with the Kubenet CNI plug-in.
74
74
75
75
The following example script:
76
76
77
-
* Creates an AKS cluster with system-assigned identity and enables Network Policy.
78
-
* The _Azure NPM_ option is used. To use Calico as the Network Policy option instead, use the `--network-policy calico` parameter. Note: Calico could be used with either `--network-plugin azure` or `--network-plugin kubenet`.
77
+
* Creates an AKS cluster with system-assigned identity and enables Network Policy using Azure Network Policy Manager. To use Calico as the Network Policy option instead, use the `--network-policy calico` parameter. Note: Calico could be used with either `--network-plugin azure` or `--network-plugin kubenet`.
79
78
80
79
Instead of using a system-assigned identity, you can also use a user-assigned identity. For more information, see [Use managed identities](use-managed-identity.md).
81
80
82
-
### Create an AKS cluster with Azure NPM enabled - Linux only
81
+
### Create an AKS cluster with Azure Network Policy Manager enabled - Linux only
83
82
84
-
In this section, we'll work on creating a cluster with Linux node pools and Azure NPM enabled.
83
+
In this section, we'll work on creating a cluster with Linux node pools and Azure Network Policy Manager enabled.
85
84
86
85
To begin, you should replace the values for *$RESOURCE_GROUP_NAME* and *$CLUSTER_NAME* variables.
87
86
@@ -91,7 +90,7 @@ $CLUSTER_NAME=myAKSCluster
91
90
$LOCATION=canadaeast
92
91
```
93
92
94
-
Create the AKS cluster and specify *azure* for the `network-plugin` and `network-policy`.
93
+
Create the AKS cluster and specify `azure` for the `network-plugin` and `network-policy`.
95
94
96
95
Use the following command to create a cluster:
97
96
```azurecli
@@ -103,12 +102,12 @@ az aks create \
103
102
--network-policy azure
104
103
```
105
104
106
-
### Create an AKS cluster with Azure NPM enabled - Windows Server 2022 (Preview)
105
+
### Create an AKS cluster with Azure Network Policy Manager enabled - Windows Server 2022 (Preview)
107
106
108
-
In this section, we'll work on creating a cluster with Windows node pools and Azure NPM enabled.
107
+
In this section, we'll work on creating a cluster with Windows node pools and Azure Network Policy Manager enabled.
109
108
110
109
> [!NOTE]
111
-
> Azure NPM with Windows nodes is available on Windows Server 2022 only.
110
+
> Azure Network Policy Manager with Windows nodes is available on Windows Server 2022 only.
112
111
>
113
112
114
113
#### Install the aks-preview Azure CLI extension
@@ -189,7 +188,7 @@ az aks nodepool add \
189
188
190
189
### Create an AKS cluster for Calico network policies
191
190
192
-
Create the AKS cluster and specify *azure* for the network plugin, and *calico* for the Network Policy. Using *calico* as the Network Policy enables Calico networking on both Linux and Windows node pools.
191
+
Create the AKS cluster and specify `azure` for the network plugin, and `calico` for the Network Policy. Using `calico` as the Network Policy enables Calico networking on both Linux and Windows node pools.
193
192
194
193
If you plan on adding Windows node pools to your cluster, include the `windows-admin-username` and `windows-admin-password` parameters with that meet the [Windows Server password requirements][windows-server-password].
Copy file name to clipboardExpand all lines: articles/aks/use-pod-security-policies.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -80,7 +80,7 @@ Below is a summary of behavior changes between pod security policy and Azure Pol
80
80
| Default policies | When pod security policy is enabled in AKS, default Privileged and Unrestricted policies are applied. | No default policies are applied by enabling the Azure Policy Add-on. You must explicitly enable policies in Azure Policy.
81
81
| Who can create and assign policies | Cluster admin creates a pod security policy resource | Users must have a minimum role of 'owner' or 'Resource Policy Contributor' permissions on the AKS cluster resource group. - Through API, users can assign policies at the AKS cluster resource scope. The user should have minimum of 'owner' or 'Resource Policy Contributor' permissions on AKS cluster resource. - In the Azure portal, policies can be assigned at the Management group/subscription/resource group level.
82
82
| Authorizing policies| Users and Service Accounts require explicit permissions to use pod security policies. | No additional assignment is required to authorize policies. Once policies are assigned in Azure, all cluster users can use these policies.
83
-
| Policy applicability | The admin user bypasses the enforcement of pod security policies. | All users (admin & non-admin) sees the same policies. There is no special casing based on users. Policy application can be excluded at the namespace level.
83
+
| Policy applicability | The admin user bypasses the enforcement of pod security policies. | All users (admin & non-admin) see the same policies. There is no special casing based on users. Policy application can be excluded at the namespace level.
84
84
| Policy scope | Pod security policies are not namespaced | Constraint templates used by Azure Policy are not namespaced.
85
85
| Deny/Audit/Mutation action | Pod security policies support only deny actions. Mutation can be done with default values on create requests. Validation can be done during update requests.| Azure Policy supports both audit & deny actions. Mutation is not supported yet, but planned.
86
86
| Pod security policy compliance | There is no visibility on compliance of pods that existed before enabling pod security policy. Non-compliant pods created after enabling pod security policies are denied. | Non-compliant pods that existed before applying Azure policies would show up in policy violations. Non-compliant pods created after enabling Azure policies are denied if policies are set with a deny effect.
0 commit comments