Skip to content

Commit c43ee06

Browse files
authored
Merge pull request #218717 from MicrosoftDocs/main
Merge main to live, 4AM
2 parents dee45d1 + d3532a1 commit c43ee06

File tree

88 files changed

+853
-726
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+853
-726
lines changed

.openpublishing.redirection.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
{
22
"redirections": [
3+
{
4+
"source_path_from_root": "/articles/backup/backup-center-community.md",
5+
"redirect_url": "/azure/backup/backup-center-overview",
6+
"redirect_document_id": false
7+
},
38
{
49
"source_path_from_root": "/articles/api-management/developer-portal-widget-contribution-guidelines.md",
510
"redirect_url": "/azure/api-management/developer-portal-extend-custom-functionality",
@@ -7018,6 +7023,11 @@
70187023
"redirect_url": "/azure/azure-functions/functions-event-grid-blob-trigger",
70197024
"redirect_document_id": false
70207025
},
7026+
{
7027+
"source_path_from_root": "/articles/azure-monitor/app/azure-functions-supported-features.md",
7028+
"redirect_url": "/azure/azure-functions/functions-monitoring",
7029+
"redirect_document_id": false
7030+
},
70217031
{
70227032
"source_path_from_root": "/articles/azure-government/documentation-government-k8.md",
70237033
"redirect_url": "/azure/azure-government",

articles/active-directory-b2c/service-limits.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ms.service: active-directory
99
ms.workload: identity
1010
ms.topic: reference
1111
ms.author: kengaderdus
12-
ms.date: 10/27/2022
12+
ms.date: 11/14/2022
1313
ms.subservice: B2C
1414
zone_pivot_groups: b2c-policy-type
1515
---
@@ -168,7 +168,7 @@ The following table lists the administrative configuration limits in the Azure A
168168
|Levels of [inheritance](custom-policy-overview.md#inheritance-model) in custom policies |10 |
169169
|Number of policies per Azure AD B2C tenant (user flows + custom policies) |200 |
170170
|Maximum policy file size |1024 KB |
171-
|Number of API connectors per tenant |19 |
171+
|Number of API connectors per tenant |20 |
172172

173173
<sup>1</sup> See also [Azure AD service limits and restrictions](../active-directory/enterprise-users/directory-service-limits-restrictions.md).
174174

articles/active-directory/fundamentals/how-to-manage-groups.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ We currently don't support:
157157

158158
1. Locate the group you want your group to be a member of and choose **Select**.
159159

160-
For this exercise, we're adding "MDM policy - West" to the "MDM policy - All org" group, so "MDM - policy - West" inherits all the properties and configurations of the "MDM policy - All org" group.
160+
For this exercise, we're adding "MDM policy - West" to the "MDM policy - All org" group. The "MDM - policy - West" group will have the same access as the "MDM policy - All org" group.
161161

162162
![Screenshot of making a group the member of another group with 'Group membership' from the side menu and 'Add membership' option highlighted.](media/how-to-manage-groups/nested-groups-selected.png)
163163

@@ -166,7 +166,7 @@ Now you can review the "MDM policy - West - Group memberships" page to see the g
166166
For a more detailed view of the group and member relationship, select the parent group name (MDM policy - All org) and take a look at the "MDM policy - West" page details.
167167

168168
### Remove a group from another group
169-
You can remove an existing Security group from another Security group; however, removing the group also removes any inherited settings for its members.
169+
You can remove an existing Security group from another Security group; however, removing the group also removes any inherited access for its members.
170170

171171
1. On the **Groups - All groups** page, search for and select the group you need to remove as a member of another group.
172172

articles/active-directory/hybrid/how-to-connect-configure-ad-ds-connector-account.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ For Example:
285285

286286
``` powershell
287287
$credential = Get-Credential
288-
Set-ADSyncRestrictedPermissions -ADConnectorAccountDN 'CN=ADConnectorAccount,CN=Users,DC=Contoso,DC=com' -Credential $credential
288+
Set-ADSyncRestrictedPermissions -ADConnectorAccountDN 'CN=ADConnectorAccount,OU=Users,DC=Contoso,DC=com' -Credential $credential
289289
```
290290

291291
This cmdlet will set the following permissions:

articles/aks/cluster-container-registry-integration.md

Lines changed: 101 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -2,78 +2,94 @@
22
title: Integrate Azure Container Registry with Azure Kubernetes Service
33
description: Learn how to integrate Azure Kubernetes Service (AKS) with Azure Container Registry (ACR)
44
services: container-service
5-
manager: gwallace
65
ms.topic: article
7-
ms.date: 06/10/2021
6+
ms.date: 11/16/2022
87
ms.tool: azure-cli, azure-powershell
98
ms.devlang: azurecli
109
---
1110

1211
# Authenticate with Azure Container Registry from Azure Kubernetes Service
1312

14-
When you're using Azure Container Registry (ACR) with Azure Kubernetes Service (AKS), an authentication mechanism needs to be established. This operation is implemented as part of the CLI, PowerShell, and Portal experience by granting the required permissions to your ACR. This article provides examples for configuring authentication between these two Azure services.
13+
You need to establish an authentication mechanism when using [Azure Container Registry (ACR)][acr-intro] with Azure Kubernetes Service (AKS). This operation is implemented as part of the Azure CLI, Azure PowerShell, and Azure portal experiences by granting the required permissions to your ACR. This article provides examples for configuring authentication between these Azure services.
1514

16-
You can set up the AKS to ACR integration in a few simple commands with the Azure CLI or Azure PowerShell. This integration assigns the AcrPull role to the managed identity associated to the AKS Cluster.
15+
You can set up the AKS to ACR integration in a few steps using the Azure CLI, Azure PowerShell, or Azure portal. The AKS to ACR integration assigns the [**AcrPull** role][acr-pull] to the [Azure Active Directory (Azure AD) **managed identity**][aad-identity] associated with your AKS cluster.
1716

1817
> [!NOTE]
19-
> This article covers automatic authentication between AKS and ACR. If you need to pull an image from a private external registry, use an [image pull secret][Image Pull Secret].
18+
> This article covers automatic authentication between AKS and ACR. If you need to pull an image from a private external registry, use an [image pull secret][image-pull-secret].
2019
2120
## Before you begin
2221

23-
These examples require:
22+
* You need to have the [**Owner**][rbac-owner], [**Azure account administrator**][rbac-classic], or [**Azure co-administrator**][rbac-classic] role on your **Azure subscription**.
23+
* To avoid needing one of these roles, you can instead use an existing managed identity to authenticate ACR from AKS. For more information, see [Use an Azure managed identity to authenticate to an ACR](../container-registry/container-registry-authentication-managed-identity.md).
24+
* If you're using Azure CLI, this article requires that you're running Azure CLI version 2.7.0 or later. Run `az --version` to find the version. If you need to install or upgrade, see [Install Azure CLI][azure-cli-install].
25+
* If you're using Azure PowerShell, this article requires that you're running Azure PowerShell version 5.9.0 or later. Run `Get-InstalledModule -Name Az` to find the version. If you need to install or upgrade, see [Install Azure PowerShell][azure-powershell-install].
2426

25-
### [Azure CLI](#tab/azure-cli)
27+
## Create a new AKS cluster with ACR integration
2628

27-
* **Owner**, **Azure account administrator**, or **Azure co-administrator** role on the **Azure subscription**
28-
* Azure CLI version 2.7.0 or later
29+
You can set up AKS and ACR integration during the creation of your AKS cluster. To allow an AKS cluster to interact with ACR, an Azure AD managed identity is used.
2930

30-
### [Azure PowerShell](#tab/azure-powershell)
31+
### Create an ACR
3132

32-
* **Owner**, **Azure account administrator**, or **Azure co-administrator** role on the **Azure subscription**
33-
* Azure PowerShell version 5.9.0 or later
33+
If you don't already have an ACR, create one using the following command.
3434

35-
---
35+
#### [Azure CLI](#tab/azure-cli)
3636

37-
To avoid needing an **Owner**, **Azure account administrator**, or **Azure co-administrator** role, you can use an existing managed identity to authenticate ACR from AKS. For more information, see [Use an Azure managed identity to authenticate to an Azure container registry](../container-registry/container-registry-authentication-managed-identity.md).
37+
```azurecli
38+
# Set this variable to the name of your ACR. The name must be globally unique.
3839
39-
## Create a new AKS cluster with ACR integration
40+
MYACR=myContainerRegistry
4041
41-
You can set up AKS and ACR integration during the initial creation of your AKS cluster. To allow an AKS cluster to interact with ACR, an Azure Active Directory **managed identity** is used. The following command allows you to authorize an existing ACR in your subscription and configures the appropriate **ACRPull** role for the managed identity. Supply valid values for your parameters below.
42+
az acr create -n $MYACR -g myContainerRegistryResourceGroup --sku basic
43+
```
4244

43-
### [Azure CLI](#tab/azure-cli)
45+
#### [Azure PowerShell](#tab/azure-powershell)
46+
47+
```azurepowershell
48+
# Set this variable to the name of your ACR. The name must be globally unique.
49+
50+
$MYACR = 'myContainerRegistry'
51+
52+
New-AzContainerRegistry -Name $MYACR -ResourceGroupName myContainerRegistryResourceGroup -Sku Basic
53+
```
54+
55+
---
56+
57+
### Create a new AKS cluster and integrate with an existing ACR
58+
59+
If you already have an ACR, use the following command to create a new AKS cluster with ACR integration. This command allows you to authorize an existing ACR in your subscription and configures the appropriate **AcrPull** role for the managed identity. Supply valid values for your parameters below.
60+
61+
#### [Azure CLI](#tab/azure-cli)
4462

4563
```azurecli
46-
# set this to the name of your Azure Container Registry. It must be globally unique
64+
# Set this variable to the name of your ACR. The name must be globally unique.
65+
4766
MYACR=myContainerRegistry
4867
49-
# Run the following line to create an Azure Container Registry if you do not already have one
50-
az acr create -n $MYACR -g myContainerRegistryResourceGroup --sku basic
68+
# Create an AKS cluster with ACR integration.
5169
52-
# Create an AKS cluster with ACR integration
5370
az aks create -n myAKSCluster -g myResourceGroup --generate-ssh-keys --attach-acr $MYACR
5471
```
5572

56-
Alternatively, you can specify the ACR name using an ACR resource ID, which has the following format:
73+
Alternatively, you can specify the ACR name using an ACR resource ID using the following format:
5774

5875
`/subscriptions/\<subscription-id\>/resourceGroups/\<resource-group-name\>/providers/Microsoft.ContainerRegistry/registries/\<name\>`
5976

6077
> [!NOTE]
61-
> If you are using an ACR that is located in a different subscription from your AKS cluster, use the ACR resource ID when attaching or detaching from an AKS cluster.
62-
63-
```azurecli
64-
az aks create -n myAKSCluster -g myResourceGroup --generate-ssh-keys --attach-acr /subscriptions/<subscription-id>/resourceGroups/myContainerRegistryResourceGroup/providers/Microsoft.ContainerRegistry/registries/myContainerRegistry
65-
```
78+
> If you're using an ACR located in a different subscription from your AKS cluster, use the ACR *resource ID* when attaching or detaching from the cluster.
79+
>
80+
> ```azurecli
81+
> az aks create -n myAKSCluster -g myResourceGroup --generate-ssh-keys --attach-acr /subscriptions/<subscription-id>/resourceGroups/myContainerRegistryResourceGroup/providers/Microsoft.ContainerRegistry/registries/myContainerRegistry
82+
> ```
6683
67-
### [Azure PowerShell](#tab/azure-powershell)
84+
#### [Azure PowerShell](#tab/azure-powershell)
6885
6986
```azurepowershell
70-
# set this to the name of your Azure Container Registry. It must be globally unique
87+
# Set this variable to the name of your ACR. The name must be globally unique.
88+
7189
$MYACR = 'myContainerRegistry'
7290
73-
# Run the following line to create an Azure Container Registry if you do not already have one
74-
New-AzContainerRegistry -Name $MYACR -ResourceGroupName myContainerRegistryResourceGroup -Sku Basic
91+
# Create an AKS cluster with ACR integration.
7592
76-
# Create an AKS cluster with ACR integration
7793
New-AzAksCluster -Name myAKSCluster -ResourceGroupName myResourceGroup -GenerateSshKey -AcrNameToAttach $MYACR
7894
```
7995
@@ -83,47 +99,53 @@ This step may take several minutes to complete.
8399

84100
## Configure ACR integration for existing AKS clusters
85101

86-
### [Azure CLI](#tab/azure-cli)
102+
### Attach an ACR to an AKS cluster
103+
104+
#### [Azure CLI](#tab/azure-cli)
87105

88-
Integrate an existing ACR with existing AKS clusters by supplying valid values for **acr-name** or **acr-resource-id** as below.
106+
Integrate an existing ACR with an existing AKS cluster using the [`--attach-acr` parameter][cli-param] and valid values for **acr-name** or **acr-resource-id**.
89107

90108
```azurecli
109+
# Attach using acr-name
91110
az aks update -n myAKSCluster -g myResourceGroup --attach-acr <acr-name>
92-
```
93111
94-
or,
95-
96-
```azurecli
112+
# Attach using acr-resource-id
97113
az aks update -n myAKSCluster -g myResourceGroup --attach-acr <acr-resource-id>
98114
```
99115

100116
> [!NOTE]
101-
> Running `az aks update --attach-acr` uses the permissions of the user running the command to create the role ACR assignment. This role is assigned to the kubelet managed identity. For more information on the AKS managed identities, see [Summary of managed identities][summary-msi].
117+
> The `az aks update --attach-acr` command uses the permissions of the user running the command to create the ACR role assignment. This role is assigned to the [kubelet][kubelet] managed identity. For more information on AKS managed identities, see [Summary of managed identities][summary-msi].
102118
103-
You can also remove the integration between an ACR and an AKS cluster with the following
119+
#### [Azure PowerShell](#tab/azure-powershell)
104120

105-
```azurecli
106-
az aks update -n myAKSCluster -g myResourceGroup --detach-acr <acr-name>
121+
Integrate an existing ACR with an existing AKS cluster using the [`-AcrNameToAttach` parameter][ps-attach] and valid values for **acr-name**.
122+
123+
```azurepowershell
124+
Set-AzAksCluster -Name myAKSCluster -ResourceGroupName myResourceGroup -AcrNameToAttach <acr-name>
107125
```
108126

109-
or
127+
> [!NOTE]
128+
> Running the `Set-AzAksCluster -AcrNameToAttach` cmdlet uses the permissions of the user running the command to create the role ACR assignment. This role is assigned to the [kubelet][kubelet] managed identity. For more information on AKS managed identities, see [Summary of managed identities][summary-msi].
110129
111-
```azurecli
112-
az aks update -n myAKSCluster -g myResourceGroup --detach-acr <acr-resource-id>
113-
```
130+
---
114131

115-
### [Azure PowerShell](#tab/azure-powershell)
132+
### Detach an ACR from an AKS cluster
116133

117-
Integrate an existing ACR with existing AKS clusters by supplying valid values for **acr-name** as below.
134+
#### [Azure CLI](#tab/azure-cli)
118135

119-
```azurepowershell
120-
Set-AzAksCluster -Name myAKSCluster -ResourceGroupName myResourceGroup -AcrNameToAttach <acr-name>
136+
Remove the integration between an ACR and an AKS cluster using the [`--detach-acr` parameter][cli-param] and valid values for **acr-name** or **acr-resource-id**.
137+
138+
```azurecli
139+
# Detach using acr-name
140+
az aks update -n myAKSCluster -g myResourceGroup --detach-acr <acr-name>
141+
142+
# Detach using acr-resource-id
143+
az aks update -n myAKSCluster -g myResourceGroup --detach-acr <acr-resource-id>
121144
```
122145

123-
> [!NOTE]
124-
> Running `Set-AzAksCluster -AcrNameToAttach` uses the permissions of the user running the command to create the role ACR assignment. This role is assigned to the kubelet managed identity. For more information on the AKS managed identities, see [Summary of managed identities][summary-msi].
146+
#### [Azure PowerShell](#tab/azure-powershell)
125147

126-
You can also remove the integration between an ACR and an AKS cluster with the following
148+
Remove the integration between an ACR and an AKS cluster using the [`-AcrNameToDetach` parameter][ps-detach] and valid values for **acr-name**.
127149

128150
```azurepowershell
129151
Set-AzAksCluster -Name myAKSCluster -ResourceGroupName myResourceGroup -AcrNameToDetach <acr-name>
@@ -135,15 +157,15 @@ Set-AzAksCluster -Name myAKSCluster -ResourceGroupName myResourceGroup -AcrNameT
135157

136158
### Import an image into your ACR
137159

138-
Import an image from docker hub into your ACR by running the following:
160+
Run the following command to import an image from Docker Hub into your ACR.
139161

140-
### [Azure CLI](#tab/azure-cli)
162+
#### [Azure CLI](#tab/azure-cli)
141163

142164
```azurecli
143165
az acr import -n <acr-name> --source docker.io/library/nginx:latest --image nginx:v1
144166
```
145167

146-
### [Azure PowerShell](#tab/azure-powershell)
168+
#### [Azure PowerShell](#tab/azure-powershell)
147169

148170
```azurepowershell
149171
Import-AzContainerRegistryImage -RegistryName <acr-name> -ResourceGroupName myResourceGroup -SourceRegistryUri docker.io -SourceImage library/nginx:latest
@@ -153,23 +175,23 @@ Import-AzContainerRegistryImage -RegistryName <acr-name> -ResourceGroupName myRe
153175

154176
### Deploy the sample image from ACR to AKS
155177

156-
Ensure you have the proper AKS credentials
178+
Ensure you have the proper AKS credentials.
157179

158-
### [Azure CLI](#tab/azure-cli)
180+
#### [Azure CLI](#tab/azure-cli)
159181

160182
```azurecli
161183
az aks get-credentials -g myResourceGroup -n myAKSCluster
162184
```
163185

164-
### [Azure PowerShell](#tab/azure-powershell)
186+
#### [Azure PowerShell](#tab/azure-powershell)
165187

166188
```azurepowershell
167189
Import-AzAksCredential -ResourceGroupName myResourceGroup -Name myAKSCluster
168190
```
169191

170192
---
171193

172-
Create a file called **acr-nginx.yaml** that contains the following. Substitute the resource name of your registry for **acr-name**. Example: *myContainerRegistry*.
194+
Create a file called **acr-nginx.yaml** using the sample YAML below. Replace **acr-name** with the name of your ACR.
173195

174196
```yaml
175197
apiVersion: apps/v1
@@ -195,19 +217,19 @@ spec:
195217
- containerPort: 80
196218
```
197219
198-
Next, run this deployment in your AKS cluster:
220+
After creating the file, run the following deployment in your AKS cluster.
199221
200222
```console
201223
kubectl apply -f acr-nginx.yaml
202224
```
203225

204-
You can monitor the deployment by running:
226+
You can monitor the deployment by running `kubectl get pods`.
205227

206228
```console
207229
kubectl get pods
208230
```
209231

210-
You should have two running pods.
232+
The output should show two running pods.
211233

212234
```output
213235
NAME READY STATUS RESTARTS AGE
@@ -216,12 +238,23 @@ nginx0-deployment-669dfc4d4b-xdpd6 1/1 Running 0 20s
216238
```
217239

218240
### Troubleshooting
219-
* Run the [az aks check-acr](/cli/azure/aks#az-aks-check-acr) command to validate that the registry is accessible from the AKS cluster.
220-
* Learn more about [ACR Monitoring](../container-registry/monitor-service.md)
221-
* Learn more about [ACR Health](../container-registry/container-registry-check-health.md)
241+
242+
* Run the [`az aks check-acr`](/cli/azure/aks#az-aks-check-acr) command to validate that the registry is accessible from the AKS cluster.
243+
* Learn more about [ACR monitoring](../container-registry/monitor-service.md).
244+
* Learn more about [ACR health](../container-registry/container-registry-check-health.md).
222245

223246
<!-- LINKS - external -->
224-
[AKS AKS CLI]: /cli/azure/aks#az_aks_create
225-
[Image Pull secret]: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
226247

248+
[image-pull-secret]: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
227249
[summary-msi]: use-managed-identity.md#summary-of-managed-identities
250+
[acr-pull]: ../role-based-access-control/built-in-roles.md#acrpull
251+
[azure-cli-install]: /cli/azure/install-azure-cli
252+
[azure-powershell-install]: /powershell/azure/install-az-ps
253+
[acr-intro]: ../container-registry/container-registry-intro.md
254+
[aad-identity]: ../active-directory/managed-identities-azure-resources/overview.md
255+
[rbac-owner]: ../role-based-access-control/built-in-roles.md#owner
256+
[rbac-classic]: ../role-based-access-control/rbac-and-directory-admin-roles.md#classic-subscription-administrator-roles
257+
[kubelet]: https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/
258+
[ps-detach]: /powershell/module/az.aks/set-azakscluster#-acrnametodetach
259+
[cli-param]: /cli/azure/aks#az-aks-update-optional-parameters
260+
[ps-attach]: /powershell/module/az.aks/set-azakscluster#-acrnametoattach

0 commit comments

Comments
 (0)