Partager via


Structure de la tâche de correction Azure Policy

La fonctionnalité de tâche de correction Azure Policy est utilisée pour mettre les ressources en conformité, à partir d’une définition et d’une affectation. Les ressources non conformes à une affectation de définition modify ou deployIfNotExists peuvent être mises en conformité à l’aide d’une tâche de correction. La tâche de correction déploie le modèle deployIfNotExists ou les opérations modify sur les ressources non conformes sélectionnées en utilisant l’identité spécifiée dans l’affectation. Pour découvrir plus d’informations, consultez structure d’attribution de stratégie pour comprendre comment l’identité est définie, et le tutoriel Remédier aux ressources non conformes pour configurer l’identité.

Les tâches de correction corrigent les ressources existantes qui ne sont pas conformes. Les ressources nouvellement créées ou mises à jour qui s’appliquent à une affectation de définition deployIfNotExists ou modify sont automatiquement corrigées.

Remarque

Le service Azure Policy supprime les ressources de la tâche de correction 60 jours après leur dernière modification.

Vous utilisez JavaScript Object Notation (JSON) pour créer une tâche de correction de stratégie. La tâche de correction de stratégie contient les éléments suivants :

Par exemple, le code JSON suivant montre une tâche de correction de stratégie pour la définition de stratégie nommée requiredTags, qui fait partie d’une attribution d’initiative nommée resourceShouldBeCompliantInit, avec tous les paramètres par défaut.

{
  "id": "/subscriptions/{subId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/remediations/remediateNotCompliant",
  "apiVersion": "2021-10-01",
  "name": "remediateNotCompliant",
  "type": "Microsoft.PolicyInsights/remediations",
  "properties": {
    "policyAssignmentId": "/subscriptions/{subID}/providers/Microsoft.Authorization/policyAssignments/resourceShouldBeCompliantInit",
    "policyDefinitionReferenceId": "requiredTags",
    "resourceCount": 42,
    "parallelDeployments": 6,
    "failureThreshold": {
      "percentage": 0.1
    }
  }
}

Étapes pour déclencher une tâche de correction dans le guide de correction des ressources non conformes. Vous ne pouvez pas modifier ces paramètres une fois que la tâche de correction démarre.

ID d'attribution de stratégie

Ce champ correspond au nom du chemin complet d’une attribution de stratégie ou d’une attribution d’initiative. policyAssignmentId est une chaîne et non un tableau. Cette propriété définit l’affectation à partir de laquelle la hiérarchie de ressources parente ou la ressource individuelle est corrigée.

ID de définition de stratégie

Si le policyAssignmentId concerne une affectation d’initiative, la propriété policyDefinitionReferenceId doit être utilisée pour spécifier la définition de stratégie de l’initiative dans laquelle les ressources objet doivent être corrigées. Comme une correction ne peut corriger que dans l’étendue d’une définition, cette propriété est une chaîne et non un tableau. La valeur doit correspondre à la valeur de la définition d’initiative dans le champ policyDefinitions.policyDefinitionReferenceId au lieu de l’identificateur global pour la définition de stratégie Id.

Nombre de ressources et déploiements parallèles

Utilisez resourceCount pour déterminer le nombre de ressources non conformes à corriger dans une tâche de correction donnée. La valeur par défaut est 500, le nombre maximal étant 50 000. parallelDeployments détermine le nombre de ressources à corriger simultanément. La plage autorisée est comprise entre 1 et 30, la valeur par défaut étant 10.

Les déploiements parallèles désignent le nombre de déploiements au sein d’une unique tâche de correction avec 30 au maximum. Un maximum de 100 tâches de correction peut être exécuté en parallèle pour une unique définition ou référence de stratégie au sein d’une initiative.

Seuil d’échec

Une propriété facultative qui permet de spécifier si la tâche de correction doit échouer si le pourcentage d’échecs dépasse le seuil donné. Le failureThreshold est représenté sous la forme d’un pourcentage compris entre 0 et 100. Par défaut, le seuil d’échec est de 100 %, ce qui signifie que la tâche de correction continue à corriger d’autres ressources même en cas d’échec de la correction des ressources.

Filtres de correction

Une propriété facultative qui permet d’affiner les ressources applicables à la tâche de correction. Le filtre autorisé est l’emplacement des ressources. Sauf indication contraire, les ressources de n’importe quelle région peuvent être corrigées.

Mode de découverte des ressources

Cette propriété détermine comment découvrir les ressources éligibles à la correction. Pour être éligible, une ressource doit être non conforme. Par défaut, cette propriété est définie sur ExistingNonCompliant. Il peut également être défini sur ReEvaluateCompliance, ce qui déclenche une nouvelle analyse de conformité pour cette affectation et corrige toutes les ressources qui sont jugées non conformes.

État d’approvisionnement et résumé du déploiement

Une fois la tâche de correction créée, les propriétés ProvisioningState et DeploymentSummary sont remplies. Le ProvisioningState indique l’état de la tâche de correction. Les valeurs autorisées sont : Running, Canceled, Cancelling, Failed, Complete ou Succeeded. Le DeploymentSummary est une propriété de tableau indiquant le nombre de déploiements, ainsi que le nombre de déploiements réussis et ayant échoué.

Exemple de tâche de correction qui s’est terminée avec succès :

{
  "id": "/subscriptions/{subId}/resourceGroups/ExemptRG/providers/Microsoft.PolicyInsights/remediations/remediateNotCompliant",
  "Type": "Microsoft.PolicyInsights/remediations",
  "Name": "remediateNotCompliant",
  "PolicyAssignmentId": "/subscriptions/{mySubscriptionID}/providers/Microsoft.Authorization/policyAssignments/resourceShouldBeCompliantInit",
  "policyDefinitionReferenceId": "requiredTags",
  "resourceCount": 42,
  "parallelDeployments": 6,
  "failureThreshold": {
    "percentage": 0.1
  },
  "ProvisioningState": "Succeeded",
  "DeploymentSummary": {
    "TotalDeployments": 42,
    "SuccessfulDeployments": 42,
    "FailedDeployments": 0
  },
}

Étapes suivantes