Condividi tramite


effetto denyAction delle definizioni Criteri di Azure

L'effetto denyAction viene usato per bloccare le richieste in base all'azione prevista per le risorse su larga scala. L'unica azione supportata oggi è DELETE. Questo effetto e il nome dell'azione consentono di evitare l'eliminazione accidentale di risorse critiche.

Valutazione DenyAction

Quando viene inviata una chiamata di richiesta con un nome di azione applicabile e un ambito di destinazione, denyAction impedisce la riuscita della richiesta. La richiesta viene restituita come 403 (Forbidden). Nel portale, può Forbidden essere visualizzato come stato di distribuzione impedito dall'assegnazione dei criteri.

Microsoft.Authorization/policyAssignments, Microsoft.Authorization/denyAssignments, Microsoft.Resources/deploymentStacks, Microsoft.Resources/subscriptions, e Microsoft.Authorization/locks sono tutti esenti dall'imposizione denyAction Microsoft.Blueprint/blueprintAssignmentsper impedire scenari di blocco.

Eliminazione della sottoscrizione

I criteri non bloccano la rimozione delle risorse che si verificano durante l'eliminazione di una sottoscrizione.

Eliminazione del gruppo di risorse

I criteri valutano le risorse che supportano la posizione e i tag rispetto ai denyAction criteri durante l'eliminazione di un gruppo di risorse. Solo i criteri su impostati deny nella regola dei criteri bloccano l'eliminazione cascadeBehaviors di un gruppo di risorse. I criteri non bloccano la rimozione delle risorse che non supportano la posizione e i tag né i criteri con mode:all.

Eliminazione a catena

L'eliminazione a catena si verifica quando l'eliminazione di una risorsa padre elimina in modo implicito tutte le risorse figlio e di estensione. I criteri non bloccano la rimozione delle risorse figlio e dell'estensione quando un'azione di eliminazione è destinata alle risorse padre. Ad esempio, Microsoft.Insights/diagnosticSettings è una risorsa di estensione di Microsoft.Storage/storageaccounts. Se un denyAction criterio è Microsoft.Insights/diagnosticSettingsdestinato a , una chiamata di eliminazione all'impostazione di diagnostica (figlio) ha esito negativo, ma un'eliminazione all'account di archiviazione (padre) elimina in modo implicito l'impostazione di diagnostica (estensione).

Questa tabella descrive se una risorsa è protetta dall'eliminazione in base alla risorsa applicabile ai criteri assegnati denyAction e all'ambito di destinazione della DELETE chiamata. Nel contesto di questa tabella, una risorsa indicizzata è una risorsa che supporta tag e posizioni e una risorsa non indicizzata è una risorsa che non supporta tag o posizioni. Per altre informazioni sulle risorse indicizzate e non indicizzate, passare alla modalità di definizione. Le risorse figlio sono risorse presenti solo all'interno del contesto di un'altra risorsa. Ad esempio, una risorsa di estensione delle macchine virtuali è un elemento figlio della macchina virtuale, ovvero la risorsa padre.

Entità eliminata Entità applicabile alle condizioni dei criteri Azione intrapresa
Conto risorse Conto risorse Protected
Subscription Conto risorse Eliminati
Gruppo di risorse Risorsa indicizzata Dipende da cascadeBehaviors
Gruppo di risorse Risorsa non indicizzata Eliminati
Child resource Risorsa padre L'elemento padre è protetto; figlio eliminato
Risorsa padre Child resource Eliminati

Proprietà DenyAction

La details proprietà dell'effetto denyAction ha tutte le proprietà secondarie che definiscono l'azione e i comportamenti.

  • actionNames (obbligatorio)
    • Matrice che specifica le azioni da impedire l'esecuzione.
    • I nomi di azione supportati sono: delete.
  • cascadeBehaviors (facoltativo)
    • Oggetto che definisce il comportamento seguito quando una risorsa viene eliminata in modo implicito quando viene rimosso un gruppo di risorse.
    • Supportato solo nelle definizioni dei criteri con la modalità impostata su indexed.
    • I valori consentiti sono allow o deny.
    • Il valore predefinito è deny.

Esempio DenyAction

Esempio: negare le chiamate di eliminazione destinate agli account di database con un ambiente tag uguale a prod. Poiché il comportamento a catena è impostato su Nega, bloccare qualsiasi DELETE chiamata destinata a un gruppo di risorse con un account di database applicabile.

{
  "if": {
    "allOf": [
      {
        "field": "type",
        "equals": "Microsoft.DocumentDb/accounts"
      },
      {
        "field": "tags.environment",
        "equals": "prod"
      }
    ]
  },
  "then": {
    "effect": "denyAction",
    "details": {
      "actionNames": [
        "delete"
      ],
      "cascadeBehaviors": {
        "resourceGroup": "deny"
      }
    }
  }
}

Passaggi successivi