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/blueprintAssignments
per 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/diagnosticSettings
destinato 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
odeny
. - 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
- Vedere gli esempi in Esempi di Criteri di Azure.
- Vedere la struttura delle definizioni di Criteri di Azure.
- Vedere come creare criteri a livello di codice.
- Leggere le informazioni su come ottenere dati sulla conformità.
- Informazioni su come correggere le risorse non conformi.
- Esaminare i gruppi di gestione di Azure.