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:
- nombre para mostrar
- description
- asignación de directiva
- definiciones de directivas en una iniciativa
- recuento de recursos e implementaciones paralelas
- umbral de error
- filtros de corrección
- modo de detección de recursos
- resumen del estado de aprovisionamiento y la implementación
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
- Comprenda cómo determinar las causas de incumplimiento.
- Obtenga información sobre cómo obtener datos de cumplimiento.
- Obtenga información sobre cómo corregir recursos no compatibles.
- Comprenda cómo reaccionar a los eventos de cambio de estado de Azure Policy.
- Más información sobre la estructura de la definición de directiva.
- Más información sobre la estructura de asignaciones de directivas