Azure Policy-definitioner nekarÅtgärdseffekt
Effekten denyAction
används för att blockera begäranden baserat på avsedd åtgärd för resurser i stor skala. Den enda åtgärd som stöds i dag är DELETE
. Den här effekten och åtgärdsnamnet hjälper till att förhindra oavsiktlig borttagning av kritiska resurser.
DenyAction-utvärdering
När ett begärandeanrop med ett tillämpligt åtgärdsnamn och målomfång skickas förhindrar denyAction
det att begäran lyckas. Begäran returneras som en 403 (Forbidden)
. I portalen Forbidden
kan visas som en distributionsstatus som förhindrades av principtilldelningen.
Microsoft.Authorization/policyAssignments
, Microsoft.Authorization/denyAssignments
, Microsoft.Blueprint/blueprintAssignments
, Microsoft.Resources/deploymentStacks
, Microsoft.Resources/subscriptions
och Microsoft.Authorization/locks
är alla undantagna från denyAction
verkställighet för att förhindra utelåsningsscenarier.
Borttagning av prenumeration
Principen blockerar inte borttagning av resurser som inträffar under en prenumerationsborttagning.
Borttagning av resursgrupp
Principen utvärderar resurser som stöder plats och taggar mot denyAction
principer under en borttagning av resursgrupper. Endast principer som har angetts cascadeBehaviors
till deny
i principregeln blockerar borttagning av resursgrupper. Principen blockerar inte borttagning av resurser som inte stöder plats och taggar eller någon princip med mode:all
.
Kaskadborttagning
Kaskadborttagning sker när borttagning av en överordnad resurs implicit tar bort alla dess underordnade resurser och tilläggsresurser. Principen blockerar inte borttagning av underordnade resurser och tilläggsresurser när en borttagningsåtgärd riktar sig mot de överordnade resurserna. Är till exempel Microsoft.Insights/diagnosticSettings
en tilläggsresurs för Microsoft.Storage/storageaccounts
. Om en denyAction
princip är mål Microsoft.Insights/diagnosticSettings
misslyckas ett borttagningsanrop till diagnostikinställningen (underordnad), men en borttagning till lagringskontot (överordnad) tar implicit bort diagnostikinställningen (tillägget).
Den här tabellen beskriver om en resurs skyddas från borttagning med tanke på resursen som är tillämplig på den tilldelade denyAction
principen och anropets DELETE
målomfång. I den här tabellen är en indexerad resurs en resurs som stöder taggar och platser och en icke-indexerad resurs är en resurs som inte stöder taggar eller platser. Mer information om indexerade och icke-indexerade resurser finns i definitionsläge. Underordnade resurser är resurser som bara finns i kontexten för en annan resurs. En tilläggsresurs för virtuella datorer är till exempel underordnad den virtuella datorn, som är den överordnade resursen.
Entitet som tas bort | Entitet som gäller för principvillkor | Åtgärder som vidtagits |
---|---|---|
Resurs | Resurs | Skyddad |
Prenumeration | Resurs | Borttagen |
Resursgrupp | Indexerad resurs | Beror på cascadeBehaviors |
Resursgrupp | Icke-indexerad resurs | Borttagen |
Underordnad resurs | Överordnad resurs | Överordnad är skyddad. underordnad tas bort |
Överordnad resurs | Underordnad resurs | Borttagen |
Egenskaper för DenyAction
Effektens details
denyAction
egenskap har alla underegenskaper som definierar åtgärden och beteendena.
actionNames
(krävs)- En matris som anger vilka åtgärder som ska förhindras att köras.
- Åtgärdsnamn som stöds är:
delete
.
cascadeBehaviors
(valfritt)- Ett objekt som definierar vilket beteende som följs när en resurs implicit tas bort när en resursgrupp tas bort.
- Stöds endast i principdefinitioner med läget inställt på
indexed
. - Tillåtna värden är
allow
ellerdeny
. - Standardvärdet är
deny
.
DenyAction-exempel
Exempel: Neka alla borttagningsanrop som riktar sig till databaskonton som har en taggmiljö som är lika med prod. Eftersom kaskadbeteendet är inställt på att neka blockerar du alla DELETE
anrop som riktar sig mot en resursgrupp med ett tillämpligt databaskonto.
{
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.DocumentDb/accounts"
},
{
"field": "tags.environment",
"equals": "prod"
}
]
},
"then": {
"effect": "denyAction",
"details": {
"actionNames": [
"delete"
],
"cascadeBehaviors": {
"resourceGroup": "deny"
}
}
}
}
Nästa steg
- Granska exempel i Azure Policy-exempel.
- Granska Azure Policy-definitionsstrukturen.
- Förstå hur du programmatiskt skapar principer.
- Lär dig hur du hämtar efterlevnadsdata.
- Lär dig hur du åtgärdar icke-kompatibla resurser.
- Granska Azure-hanteringsgrupper.