Estructura de tareas de corrección de Azure Policy

La característica de tarea de corrección de Azure Policy se usa para incorporar recursos al cumplimiento establecido a partir de una definición y asignación. Los recursos que no son compatibles con una asignación de definición modify o deployIfNotExist, se pueden incorporar al cumplimiento mediante una tarea de corrección. La tarea de corrección implementa la plantilla deployIFNotExist o las operaciones de modificación en los recursos no compatibles seleccionados mediante la identidad especificada en la asignación. Consulte Estructura de asignaciones de directivas. para comprender cómo se define la identidad y corregir el tutorial de recursos no compatibles para configurar la identidad.

Nota

Las tareas de corrección corrigen los recursos que no son compatibles. Los recursos recién creados o actualizados que se aplican a una asignación de definición deployIfNotExist o modify se corrigen automáticamente.

Puede usar notación de objetos JavaScript (JSON) para crear una tarea de corrección de directivas. La tarea de corrección de directivas contiene elementos para:

Por ejemplo, el siguiente JSON muestra una tarea de corrección de directivas para la definición de directiva denominada requiredTags parte de una asignación de iniciativa denominada resourceShouldBeCompliantInit con toda la configuración predeterminada.

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

Pasos sobre cómo desencadenar una tarea de corrección en la guía de corrección para corregir recursos no compatibles

Nota

Esta configuración no se puede cambiar una vez iniciada la tarea de corrección.

Nombre para mostrar y descripción

Use los valores displayName y description para identificar la tarea de corrección de directivas y proporcionar contexto para su uso. displayName tiene una longitud máxima de 128 caracteres y description tiene una longitud máxima de 512 caracteres.

Id. de asignación de directiva

Este campo debe ser el nombre de la ruta de acceso completa de una asignación de directiva o una asignación de iniciativa. policyAssignmentId es una cadena y no una matriz. Esta propiedad define de qué asignación se tiene que corregir de la jerarquía de recursos o el recurso individual.

Identificador de la definición de directiva

Si policyAssignmentId corresponde a una asignación de iniciativa, se tiene que usar la propiedad policyDefinitionReferenceId para especificar las definiciones de directiva de la iniciativa en las que el recurso se tiene que corregir. Como la corrección solo puede hacerse en un ámbito de una definición, esta propiedad es una cadena y no una matriz. El valor debe coincidir con el valor de la definición de iniciativa en el campo policyDefinitions.policyDefinitionReferenceId en lugar del identificador global para la definición de directiva Id.

Recuento de recursos e implementaciones paralelas

Use el recuento de recursos para determinar cuántos recursos no compatibles se corregirán en una tarea de corrección determinada. El valor predeterminado es 500, con el número máximo de 50 000. Las Parallel Deployments (Implementaciones en paralelo) determinan cuántos de estos recursos se corregirán al mismo tiempo. El intervalo permitido está comprendido entre 1 y 30 y el valor predeterminado es 10.

Nota

Las implementaciones paralelas son el número de implementaciones dentro de una tarea de corrección singular con un máximo de 30. Puede haber un máximo de 100 tareas de corrección que se ejecutan en paralelo para una única definición de directiva o referencia de directiva dentro de una iniciativa.

Umbral de error

La propiedad opcional se usa para especificar si se debe producir un error en la tarea de corrección si el porcentaje de errores supera el umbral especificado. El umbral de error se representa como un número porcentual comprendido entre 0 y 100. De forma predeterminada, el umbral de error es del 100 %, lo que significa que la tarea de corrección seguirá corrigendo otros recursos incluso si los recursos no se corrigen.

Filtros de corrección

Una propiedad opcional refina los recursos que se aplican a la tarea de corrección. El filtro permitido es la ubicación del recurso. A menos que se especifique, se pueden corregir los recursos de cualquier región.

Modo de detección de recursos

Esta propiedad decide cómo detectar recursos que son aptos para la corrección. Para que un recurso sea apto, debe ser no compatible. De manera predeterminada, esta propiedad está establecida en ExistingNonCompliant. También se puede establecer en ReEvaluateCompliance, lo que desencadenará un nuevo examen de cumplimiento para esa asignación y corregirá los recursos que se encuentren no compatibles.

Resumen del estado de aprovisionamiento y la implementación

Una vez creada una tarea de corrección, se rellenan las propiedades de estado de aprovisionamiento y el resumen de implementación. El estado de aprovisionamiento indica el estado de la tarea de corrección. Los valores permitidos son Running, Canceled, Cancelling, Failed, Complete o Succeeded. El resumen de implementación es una propiedad de matriz que indica el número de implementaciones junto con el número de implementaciones correctas y con errores.

Ejemplo de tarea de corrección que se completó correctamente:

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

Pasos siguientes