Struttura delle attività di correzione di Criteri di Azure

La funzionalità di attività di correzione di Criteri di Azure viene utilizzata per riportare le risorse alla conformità stabilita da una definizione e da un'assegnazione. Le risorse non conformi a un'assegnazione di definizione modify o deployIfNotExists possono essere rese conformi usando un'attività di correzione. Un'attività di correzione distribuisce il modello deployIfNotExists o le operazioni modify alle risorse selezionate non conformi usando l'identità specificata nell'assegnazione. Per altre informazioni, vedere Struttura di assegnazione dei criteri per comprendere come viene definita l'identità e consultare l'esercitazione su come correggere le risorse non conformi per configurare l'identità.

Le attività di correzione consentono di correggere le risorse esistenti non conformi. Le risorse appena create o aggiornate che sono applicabili a un'assegnazione di definizione deployIfNotExists o modify vengono corrette automaticamente.

Nota

Il servizio Criteri di Azure elimina le risorse delle attività di correzione 60 giorni dopo l'ultima modifica.

Si utilizza JavaScript Object Notation (JSON) per creare un'attività di correzione dei criteri. L'attività di correzione dei criteri contiene elementi per:

Ad esempio, il seguente JSON mostra un'attività di correzione dei criteri per la definizione di un criterio denominata requiredTags, come parte di un'assegnazione di iniziativa denominata resourceShouldBeCompliantInit con tutte le impostazioni predefinite.

{
  "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
    }
  }
}

I passaggi su come attivare un'attività di correzione son riportati nella guida su come correggere le risorse non conformi. Queste impostazioni non possono essere modificate dopo l'inizio dell'attività di correzione.

ID assegnazione criteri

Questo campo deve essere il nome completo del percorso di un'assegnazione di criteri o di un'assegnazione di iniziativa. policyAssignmentId è una stringa e non una matrice. Questa proprietà definisce l'assegnazione della gerarchia di risorse padre o della singola risorsa da correggere.

ID definizione criteri

Se policyAssignmentId è per un'assegnazione di iniziativa, la proprietà policyDefinitionReferenceId deve essere utilizzata per specificare in quale definizione di criterio dell'iniziativa devono essere corrette le risorse oggetto. Poiché una correzione può correggere solo in un ambito di una definizione, questa proprietà rappresenta una stringa e non una matrice. Il valore deve corrispondere a quello della definizione dell'iniziativa nel campo policyDefinitions.policyDefinitionReferenceId, anziché all'identificatore globale per la definizione di criteri Id.

Numero di risorse e distribuzioni parallele

Usare resourceCount per determinare il numero di risorse non conformi da correggere in una determinata attività di correzione. Il valore predefinito è 500, con il numero massimo pari a 50.000. parallelDeployments determina il numero di risorse da correggere in contemporanea. L'intervallo consentito è compreso tra 1 e 30 con il valore predefinito 10.

Le distribuzioni parallele rappresentano il numero di distribuzioni all'interno di un'attività di correzione singola con un massimo di 30. Può essere presente un massimo di 100 attività di correzione in esecuzione in parallelo per una singola definizione di criteri o un riferimento ai criteri all'interno di un'iniziativa.

Soglia di errore

Proprietà facoltativa utilizzata per specificare se l'attività di correzione deve non riuscire, qualora la percentuale di errori superi la soglia specificata. failureThreshold indica un numero percentuale compreso tra 0 e 100. Per impostazione predefinita, la soglia di errore è 100%, ovvero l'attività di correzione prosegue con la correzione di altre risorse, anche se tale correzione dovesse dare esito negativo.

Filtri di correzione

Una proprietà facoltativa consente di perfezionare le risorse applicabili all'attività di correzione. Il filtro consentito rappresenta la posizione della risorsa. A meno che non sia specificato, è possibile correggere le risorse di qualsiasi area.

Modalità di individuazione delle risorse

Questa proprietà decide come individuare le risorse idonee per la correzione. Affinché una risorsa risulti idonea, deve essere non conforme. Per impostazione predefinita, questa proprietà è impostata su ExistingNonCompliant. Può anche essere impostata su ReEvaluateCompliance, il che attiva una nuova analisi di conformità per l'assegnazione e corregge tutte le risorse trovate non conformi.

Riepilogo dello stato e della distribuzione del provisioning

Dopo aver creato un'attività di correzione, le proprietà ProvisioningState e DeploymentSummary vengono popolate. ProvisioningState indica lo stato dell'attività di correzione. I valori consentiti sono:Running, Canceled, Cancelling, Failed, Complete o Succeeded. DeploymentSummary è una proprietà di matrice che indica il numero di distribuzioni, insieme al numero di quelle con esito positivo e negativo.

Esempio di attività di correzione completata correttamente:

{
  "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
  },
}

Passaggi successivi