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 un modificar o asignación de definiciones deployIfNotExists, se pueden incorporar al cumplimiento mediante una tarea de corrección. Una tarea de corrección implementa la deployIfNotExists
plantilla de modify
o las operaciones en los recursos no compatibles seleccionados mediante la identidad especificada en la asignación. Para obtener más información, consulte estructura de asignación de directivas para comprender cómo se define la identidad y tutorial corregir recursos no compatibles para configurar la identidad.
Las tareas de corrección corrigen los recursos existentes que no son compatibles. Los recursos recién creados o actualizados que se aplican a una asignación de definición de deployIfNotExists
o modify
se corrigen automáticamente.
Nota:
El servicio Azure Policy elimina los recursos de la tarea de corrección 60 días después de su última modificación.
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:
- 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/{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
}
}
}
Pasos sobre cómo desencadenar una tarea de corrección en cómo corregir recursos no compatibles. Esta configuración no se puede cambiar después de que se inicie la tarea de corrección.
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 el policyAssignmentId
es para una asignación de iniciativa, la propiedad policyDefinitionReferenceId
debe usarse para especificar qué definición de directiva en la iniciativa se corregirán los recursos del sujeto. 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 resourceCount
para determinar cuántos recursos no compatibles deben corregirse en una tarea de corrección determinada. El valor predeterminado es 500, con el número máximo de 50 000. parallelDeployments
determina cuántos de esos recursos corregir al mismo tiempo. El intervalo permitido está comprendido entre 1 y 30 y el valor predeterminado es 10.
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 failureThreshold
se representa como un número porcentual comprendido entre 0 y 100. De manera predeterminada, el umbral de error es del 100 %, lo que significa que la tarea de corrección continúa corrigiendo otros recursos incluso si los recursos no se pueden corregir.
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
, que desencadena un nuevo examen de cumplimiento para esa asignación y corregir los recursos que se encuentran no compatibles.
Resumen del estado de aprovisionamiento y la implementación
Una vez creada una tarea de corrección, se rellenan las propiedades ProvisioningState
y DeploymentSummary
. El ProvisioningState
indica el estado de la tarea de corrección. Los valores permitidos son Running
, Canceled
, Cancelling
, Failed
, Complete
o Succeeded
. El DeploymentSummary
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",
"policyDefinitionReferenceId": "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