Skip to content

Commit 3fe1b5e

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into rolyon-mto-provisioning-logs-error-codes
2 parents 9c651ce + 7473a13 commit 3fe1b5e

File tree

6 files changed

+213
-23
lines changed

6 files changed

+213
-23
lines changed

articles/azure-netapp-files/configure-customer-managed-keys.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ms.workload: storage
1313
ms.tgt_pltfrm: na
1414
ms.topic: how-to
1515
ms.custom: references_regions
16-
ms.date: 03/07/2023
16+
ms.date: 03/31/2023
1717
ms.author: anfdocs
1818
---
1919

@@ -39,8 +39,7 @@ The following diagram demonstrates how customer-managed keys work with Azure Net
3939
> Customer-managed keys for Azure NetApp Files volume encryption is currently in preview. You need to submit a waitlist request for accessing the feature through the **[Customer-managed keys for Azure NetApp Files volume encryption](https://aka.ms/anfcmkpreviewsignup)** page. Customer-managed keys feature is expected to be enabled within a week from submitting waitlist request.
4040
4141
* Customer-managed keys can only be configured on new volumes. You can't migrate existing volumes to customer-managed key encryption.
42-
* To create a volume using customer-managed keys, you must select the *Standard* network features. You can't use customer-managed key volumes with volume configured using Basic network features. Follow instructions in to [Set the Network Features option](configure-network-features.md#set-the-network-features-option) in the volume creation page.
43-
* Switching from user-assigned identity to the system-assigned identity isn't currently supported.
42+
* To create a volume using customer-managed keys, you must select the *Standard* network features. You can't use customer-managed key volumes with volume configured using Basic network features. Follow instructions in [Set the Network Features option](configure-network-features.md#set-the-network-features-option) to create a volume.
4443
* MSI Automatic certificate renewal isn't currently supported.
4544
* The MSI certificate has a lifetime of 90 days. It becomes eligible for renewal after 46 days. **After 90 days, the certificate is no longer be valid and the customer-managed key volumes under the NetApp account will go offline.**
4645
* To renew, you need to call the NetApp account operation `renewCredentials` if eligible for renewal. If it's not eligible, an error message will communicate the date of eligibility.
@@ -100,7 +99,10 @@ Before creating your first customer-managed key volume, you must have set up:
10099
* The key vault must have soft delete and purge protection enabled.
101100
* The key must be of type RSA.
102101
* The key vault must have an [Azure Private Endpoint](../private-link/private-endpoint-overview.md).
102+
* You need a private endpoint in each VNet you intend on using for Azure NetApp Files volumes
103103
* The private endpoint must reside in a different subnet than the one delegated to Azure NetApp Files. The subnet must be in the same VNet as the one delegated to Azure NetApp.
104+
* The network security group on the Azure NetApp Files delegated subnet must allow incoming traffic from the subnet where the VM mounting Azure NetApp Files volumes is located.
105+
* The network security group on the Azure NetApp Files delegated subnet must also allow outgoing traffic to the subnet where the private endpoint is located.
104106

105107
For more information about Azure Key Vault and Azure Private Endpoint, refer to:
106108
* [Quickstart: Create a key vault ](../key-vault/general/quick-create-portal.md)
@@ -142,7 +144,7 @@ For more information about Azure Key Vault and Azure Private Endpoint, refer to:
142144
* `Microsoft.KeyVault/vaults/keys/decrypt/action`
143145
The user-assigned identity you select is added to your NetApp account. Due to the customizable nature of role-based access control (RBAC), the Azure portal doesn't configure access to the key vault. See [Provide access to Key Vault keys, certificates, and secrets with an Azure role-based access control](../key-vault/general/rbac-guide.md) for details on configuring Azure Key Vault.
144146

145-
1. After selecting **Save** button, you'll receive a notification communicating the status of the operation. If the operation was not successful, an error message displays. Refer to [error messages and troubleshooting](#error-messages-and-troubleshooting) for assistance in resolving the error.
147+
1. After selecting the **Save** button, you'll receive a notification communicating the status of the operation. If the operation was not successful, an error message displays. Refer to [error messages and troubleshooting](#error-messages-and-troubleshooting) for assistance in resolving the error.
146148

147149
## Use role-based access control
148150

articles/azure-resource-manager/management/manage-resource-groups-cli.md

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,20 @@ title: Manage resource groups - Azure CLI
33
description: Use Azure CLI to manage your resource groups through Azure Resource Manager. Shows how to create, list, and delete resource groups.
44
author: mumian
55
ms.topic: conceptual
6-
ms.date: 09/10/2021
7-
ms.author: jgao
6+
ms.date: 03/31/2023
87
ms.custom: devx-track-azurecli
98
---
109

1110
# Manage Azure Resource Groups by using Azure CLI
1211

1312
Learn how to use Azure CLI with [Azure Resource Manager](overview.md) to manage your Azure resource groups. For managing Azure resources, see [Manage Azure resources by using Azure CLI](manage-resources-cli.md).
1413

14+
## Prerequisites
15+
16+
* Azure CLI. For more information, see [How to install the Azure CLI](/cli/azure/install-azure-cli).
17+
18+
* After installing, sign in for the first time. For more information, see [How to sign into the Azure CLI](/cli/azure/get-started-with-azure-cli#how-to-sign-into-the-azure-cli).
19+
1520
## What is a resource group
1621

1722
A resource group is a container that holds related resources for an Azure solution. The resource group can include all the resources for the solution, or only those resources that you want to manage as a group. You decide how you want to add resources to resource groups based on what makes the most sense for your organization. Generally, add resources that share the same lifecycle to the same resource group so you can easily deploy, update, and delete them as a group.
@@ -54,18 +59,44 @@ For more information about how Azure Resource Manager orders the deletion of res
5459

5560
You can deploy Azure resources by using Azure CLI, or by deploying an Azure Resource Manager (ARM) template or Bicep file.
5661

62+
### Deploy resources by using storage operations
63+
5764
The following example creates a storage account. The name you provide for the storage account must be unique across Azure.
5865

5966
```azurecli-interactive
6067
az storage account create --resource-group exampleGroup --name examplestore --location westus --sku Standard_LRS --kind StorageV2
6168
```
6269

70+
### Deploy resources by using an ARM template or Bicep file
71+
6372
To deploy an ARM template or Bicep file, use [az deployment group create](/cli/azure/deployment/group#az-deployment-group-create).
6473

6574
```azurecli-interactive
6675
az deployment group create --resource-group exampleGroup --template-file storage.bicep
6776
```
6877

78+
The following example shows the Bicep file named `storage.bicep` that you're deploying:
79+
80+
```bicep
81+
@minLength(3)
82+
@maxLength(11)
83+
param storagePrefix string
84+
85+
var uniqueStorageName = concat(storagePrefix, uniqueString(resourceGroup().id))
86+
87+
resource uniqueStorage 'Microsoft.Storage/storageAccounts@2022-09-01' = {
88+
name: uniqueStorageName
89+
location: 'eastus'
90+
sku: {
91+
name: 'Standard_LRS'
92+
}
93+
kind: 'StorageV2'
94+
properties: {
95+
supportsHttpsTrafficOnly: true
96+
}
97+
}
98+
```
99+
69100
For more information about deploying an ARM template, see [Deploy resources with Resource Manager templates and Azure CLI](../templates/deploy-cli.md).
70101

71102
For more information about deploying a Bicep file, see [Deploy resources with Bicep and Azure CLI](../bicep/deploy-cli.md).

articles/azure-resource-manager/management/manage-resource-groups-powershell.md

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,20 @@ title: Manage resource groups - Azure PowerShell
33
description: Use Azure PowerShell to manage your resource groups through Azure Resource Manager. Shows how to create, list, and delete resource groups.
44
author: mumian
55
ms.topic: conceptual
6-
ms.date: 09/10/2021
7-
ms.author: jgao
6+
ms.date: 03/31/2023
87
ms.custom: devx-track-azurepowershell
98

109
---
1110
# Manage Azure Resource Groups by using Azure PowerShell
1211

1312
Learn how to use Azure PowerShell with [Azure Resource Manager](overview.md) to manage your Azure resource groups. For managing Azure resources, see [Manage Azure resources by using Azure PowerShell](manage-resources-powershell.md).
1413

14+
## Prerequisites
15+
16+
* Azure PowerShell. For more information, see [Install the Azure Az PowerShell module](/powershell/azure/install-az-ps).
17+
18+
* After installing, sign in for the first time. For more information, see [Sign in](/powershell/azure/install-az-ps#sign-in).
19+
1520
## What is a resource group
1621

1722
A resource group is a container that holds related resources for an Azure solution. The resource group can include all the resources for the solution, or only those resources that you want to manage as a group. You decide how you want to add resources to resource groups based on what makes the most sense for your organization. Generally, add resources that share the same lifecycle to the same resource group so you can easily deploy, update, and delete them as a group.
@@ -54,18 +59,44 @@ For more information about how Azure Resource Manager orders the deletion of res
5459

5560
You can deploy Azure resources by using Azure PowerShell, or by deploying an Azure Resource Manager (ARM) template or Bicep file.
5661

62+
### Deploy resources by using storage operations
63+
5764
The following example creates a storage account. The name you provide for the storage account must be unique across Azure.
5865

5966
```azurepowershell-interactive
6067
New-AzStorageAccount -ResourceGroupName exampleGroup -Name examplestore -Location westus -SkuName "Standard_LRS"
6168
```
6269

70+
### Deploy resources by using an ARM template or Bicep file
71+
6372
To deploy an ARM template or Bicep file, use [New-AzResourceGroupDeployment](/powershell/module/az.resources/new-azresourcegroupdeployment).
6473

6574
```azurepowershell-interactive
6675
New-AzResourceGroupDeployment -ResourceGroupName exampleGroup -TemplateFile storage.bicep
6776
```
6877

78+
The following example shows the Bicep file named `storage.bicep` that you're deploying:
79+
80+
```bicep
81+
@minLength(3)
82+
@maxLength(11)
83+
param storagePrefix string
84+
85+
var uniqueStorageName = concat(storagePrefix, uniqueString(resourceGroup().id))
86+
87+
resource uniqueStorage 'Microsoft.Storage/storageAccounts@2022-09-01' = {
88+
name: uniqueStorageName
89+
location: 'eastus'
90+
sku: {
91+
name: 'Standard_LRS'
92+
}
93+
kind: 'StorageV2'
94+
properties: {
95+
supportsHttpsTrafficOnly: true
96+
}
97+
}
98+
```
99+
69100
For more information about deploying an ARM template, see [Deploy resources with ARM templates and Azure PowerShell](../templates/deploy-powershell.md).
70101

71102
For more information about deploying a Bicep file, see [Deploy resources with Bicep and Azure PowerShell](../bicep/deploy-powershell.md).
@@ -86,6 +117,13 @@ To get the locks for a resource group, use [Get-AzResourceLock](/powershell/modu
86117
Get-AzResourceLock -ResourceGroupName exampleGroup
87118
```
88119

120+
To delete a lock, use [Remove-AzResourceLock](/powershell/module/az.resources/remove-azresourcelock).
121+
122+
```azurepowershell-interactive
123+
$lockId = (Get-AzResourceLock -ResourceGroupName exampleGroup).LockId
124+
Remove-AzResourceLock -LockId $lockId
125+
```
126+
89127
For more information, see [Lock resources with Azure Resource Manager](lock-resources.md).
90128

91129
## Tag resource groups
Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,126 @@
1+
---
2+
title: Details of the policy remediation task structure
3+
description: Describes the policy remediation task definition used by Azure Policy to bring resources into compliance.
4+
ms.date: 11/03/2022
5+
ms.topic: conceptual
6+
ms.author: kenieva
7+
author: kenieva
8+
---
9+
# Azure Policy remediation task structure
10+
11+
The Azure Policy remediation task feature is used to bring resources into compliance established from a definition and assignment. Resources that are non-compliant to a [modify](./effects.md#modify) or [deployIfNotExist](./effects.md#deployifnotexists) definition assignment, can be brought into compliance using a remediation task. Remediation task deploys the deployIFNotExist template or the modify operations to the selected non-compliant resources using the identity specified in the assignment. See [policy assignment structure](./assignment-structure.md#identity). to understand how the identity is define and [remediate non-compliant resources tutorial](../how-to/remediate-resources.md#configure-the-managed-identity) to configure the identity.
12+
13+
> [!NOTE]
14+
> Remediation tasks remediate exisiting resources that are not compliant. Resources that are newly created or updated that are applicable to a deployIfNotExist or modify definition assignment are automatically remediated.
15+
16+
You use JavaScript Object Notation (JSON) to create a policy remediation task. The policy remediation task contains elements for:
17+
18+
- [display name](#display-name-and-description)
19+
- [description](#display-name-and-description)
20+
- [policy assignment](#policy-assignment-id)
21+
- [policy definitions within an initiative](#policy-definition-id)
22+
- [resource count and parallel deployments](#resource-count-and-parallel-deployments)
23+
- [failure threshold](#failure-threshold)
24+
- [remediation filters](#remediation-filters)
25+
- [resource discovery mode](#resource-discovery-mode)
26+
- [provisioning state and deployment summary](#provisioning-state-and-deployment-summary)
27+
28+
29+
For example, the following JSON shows a policy remediation task for policy definition named `requiredTags` a part of
30+
an initiative assignment named `resourceShouldBeCompliantInit` with all default settings.
31+
32+
```json
33+
{
34+
"id": "/subscriptions/{subId}/resourceGroups/ExemptRG/providers/Microsoft.PolicyInsights/remediations/remediateNotCompliant",
35+
"apiVersion": "2021-10-01",
36+
"name": "remediateNotCompliant",
37+
"type": "Microsoft.PolicyInsights/remediations",
38+
"properties": {
39+
"policyAssignmentId": "/subscriptions/{mySubscriptionID}/providers/Microsoft.Authorization/policyAssignments/resourceShouldBeCompliantInit",
40+
"policyDefinitionReferenceIds": "requiredTags",
41+
"resourceCount": 42,
42+
"parallelDeployments": 6,
43+
"failureThreshold": {
44+
"percentage": 0.1
45+
}
46+
}
47+
}
48+
```
49+
Steps on how to trigger a remediation task at [how to remediate non-compliant resources guide](../how-to/remediate-resources.md)
50+
51+
> [!NOTE]
52+
> These settings cannot be changed once the remediation task has started.
53+
54+
55+
## Display name and description
56+
57+
You use **displayName** and **description** to identify the policy remediation task and provide context for
58+
its use. **displayName** has a maximum length of _128_ characters and
59+
**description** a maximum length of _512_ characters.
60+
61+
## Policy assignment ID
62+
63+
This field must be the full path name of either a policy assignment or an initiative assignment.
64+
`policyAssignmentId` is a string and not an array. This property defines which assignment the parent
65+
resource hierarchy or individual resource to remediate.
66+
67+
## Policy definition ID
68+
69+
If the `policyAssignmentId` is for an initiative assignment, the **policyDefinitionReferenceId** property must be used to specify which policy definition(s) in the initiative the subject resource(s) are to be remediated. As a remediation can only remediation in a scope of one definition,
70+
this property is a _string_. The value must match the value in the initiative definition in the
71+
`policyDefinitions.policyDefinitionReferenceId` field.
72+
73+
## Resource count and parallel deployments
74+
75+
Use **resource count** to determine how many non-compliant resources to remediate in a given remediation task. The default value is 500, with the maximum number being 50,000. **Parallel deployments** determines how many of those resources to remediate at the same time. The allowed range is between 1 to 30 with the default value being 10.
76+
77+
> [!NOTE]
78+
> Parallel deployments are the number of deployments within a singular remediation task with a maxmimum of 30. 100 remediation tasks can be ran simultaneously in the tenant.
79+
80+
## Failure threshold
81+
82+
An optional property used to specify whether the remediation task should fail if the percentage of failures exceeds the given threshold. The **failure threshold** is represented as a percentage number from 0 to 100. By default, the failure threshold is 100%, meaning that the remediation task will continue to remediate other resources even if resources fail to remediate.
83+
84+
## Remediation filters
85+
86+
An optional property refines what resources are applicable to the remediation task. The allowed filter is resource location. Unless specified, resources from any region can be remediated.
87+
88+
## Resource discovery mode
89+
90+
This property decides how to discover resources that are eligible for remediation. For a resource to be eligible, it must be non-compliant. By default, this property is set to `ExistingNonCompliant`. It could also be set to `ReEvaluateCompliance`, which will trigger a new compliance scan for that assignment and remediate any resources that are found non-compliant.
91+
92+
## Provisioning state and deployment summary
93+
94+
Once a remediation task is created, **provisioning state** and **deployment summary** properties are populated. **Provisioning state** indicates the status of the remediation task. Allow values are `Running`, `Canceled`, `Cancelling`, `Failed`, `Complete`, or `Succeeded`. **Deployment summary** is an array property indicating the number of deployments along with number of successful and failed deployments.
95+
96+
Sample of remediation task that completed successfully:
97+
98+
```json
99+
{
100+
"id": "/subscriptions/{subId}/resourceGroups/ExemptRG/providers/Microsoft.PolicyInsights/remediations/remediateNotCompliant",
101+
"Type": "Microsoft.PolicyInsights/remediations",
102+
"Name": "remediateNotCompliant",
103+
"PolicyAssignmentId": "/subscriptions/{mySubscriptionID}/providers/Microsoft.Authorization/policyAssignments/resourceShouldBeCompliantInit",
104+
"policyDefinitionReferenceIds": "requiredTags",
105+
"resourceCount": 42,
106+
"parallelDeployments": 6,
107+
"failureThreshold": {
108+
"percentage": 0.1
109+
},
110+
"ProvisioningState": "Succeeded",
111+
"DeploymentSummary": {
112+
"TotalDeployments": 42,
113+
"SuccessfulDeployments": 42,
114+
"FailedDeployments": 0
115+
},
116+
}
117+
```
118+
119+
## Next steps
120+
121+
- Understand how to [determine causes of non-compliance](../how-to/determine-non-compliance.md).
122+
- Learn how to [get compliance data](../how-to/get-compliance-data.md).
123+
- Learn how to [remediate non-compliant resources](../how-to/remediate-resources.md).
124+
- Understand how to [react to Azure Policy state change events](./event-overview.md).
125+
- Learn about the [policy definition structure](./definition-structure.md).
126+
- Learn about the [policy assignment structure](./assignment-structure.md).

articles/governance/policy/how-to/remediate-resources.md

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -315,14 +315,7 @@ This step is only applicable when using [Option 1](#option-1-create-a-remediatio
315315

316316
1. If the remediation task is initiated from an initiative assignment, select the policy to remediate from the drop-down. One **deployIfNotExists** or **modify** policy can be remediated through a single Remediation task at a time.
317317

318-
1. Optionally modify remediation settings on the **New remediation task** page:
319-
320-
- **Failure Threshold percentage** - Used to specify whether the remediation task should fail if the percentage of failures exceeds the given threshold. Provided as a number between 0 to 100. By default, the failure threshold is 100%.
321-
- **Resource Count** - Determines how many non-compliant resources to remediate in a given remediation task. The default value is 500 (the previous limit). The maximum number is 50,000 resources.
322-
- **Parallel Deployments** - Determines how many resources to remediate at the same time. The allowed values are 1 to 30 resources at a time. The default value is 10.
323-
324-
> [!NOTE]
325-
> These settings cannot be changed once the remediation task has started.
318+
1. Optionally modify remediation settings on the page. For information on what each setting controls, see [remediation task structure](../concepts/remediation-structure.md).
326319

327320
1. On the same page, filter the resources to remediate by using the **Scope**
328321
ellipses to pick child resources from where the policy is assigned (including down to the

0 commit comments

Comments
 (0)