Azure Policy-definities denyAction-effect
Het denyAction
effect wordt gebruikt om aanvragen te blokkeren op basis van de beoogde actie voor resources op schaal. De enige ondersteunde actie is vandaag DELETE
. Dit effect en de actienaam helpen voorkomen dat kritieke resources per ongeluk worden verwijderd.
DenyAction-evaluatie
Wanneer een aanvraagaanroep met een toepasselijke actienaam en het doelbereik wordt ingediend, denyAction
voorkomt u dat de aanvraag slaagt. De aanvraag wordt geretourneerd als een 403 (Forbidden)
. In de portal kan de Forbidden
status worden weergegeven als een implementatiestatus die is verhinderd door de beleidstoewijzing.
Microsoft.Authorization/policyAssignments
, , Microsoft.Authorization/denyAssignments
Microsoft.Blueprint/blueprintAssignments
, , Microsoft.Resources/deploymentStacks
, en Microsoft.Authorization/locks
Microsoft.Resources/subscriptions
zijn allemaal vrijgesteld van denyAction
afdwinging om vergrendelingsscenario's te voorkomen.
Abonnement verwijderen
Het beleid blokkeert het verwijderen van resources die plaatsvinden tijdens het verwijderen van een abonnement niet.
Verwijderen van resourcegroep
Beleid evalueert resources die locatie en tags ondersteunen tegen denyAction
beleid tijdens het verwijderen van een resourcegroep. Alleen beleidsregels waarop de cascadeBehaviors
set is ingesteld deny
in de beleidsregel blokkeren het verwijderen van een resourcegroep. Het beleid blokkeert het verwijderen van resources die geen ondersteuning bieden voor locatie en tags en geen beleid met mode:all
.
Trapsgewijs verwijderen
Trapsgewijs verwijderen vindt plaats wanneer het verwijderen van een bovenliggende resource impliciet alle onderliggende en extensieresources verwijdert. Het beleid blokkeert het verwijderen van onderliggende en extensiebronnen niet wanneer een verwijderactie is gericht op de bovenliggende resources. Is bijvoorbeeld Microsoft.Insights/diagnosticSettings
een extensieresource van Microsoft.Storage/storageaccounts
. Als een denyAction
beleidsdoel is, mislukt een verwijderoproep naar de diagnostische instelling (onderliggend Microsoft.Insights/diagnosticSettings
), maar een verwijdering naar het opslagaccount (bovenliggend) verwijdert impliciet de diagnostische instelling (extensie).
In deze tabel wordt beschreven of een resource wordt beveiligd tegen verwijdering, gezien de resource die van toepassing is op het toegewezen denyAction
beleid en het doelbereik van de DELETE
aanroep. In de context van deze tabel is een geïndexeerde resource een resource die tags en locaties ondersteunt en een niet-geïndexeerde resource een resource is die geen ondersteuning biedt voor tags of locaties. Ga naar de definitiemodus voor meer informatie over geïndexeerde en niet-geïndexeerde resources. Onderliggende resources zijn resources die alleen binnen de context van een andere resource bestaan. Een extensieresource voor virtuele machines is bijvoorbeeld een onderliggend element van de virtuele machine. Dit is de bovenliggende resource.
Entiteit die wordt verwijderd | Entiteit die van toepassing is op beleidsvoorwaarden | Actie ondernomen |
---|---|---|
Bron | Bron | Beveiligd |
Abonnement | Bron | Verwijderd |
Resourcegroep | Geïndexeerde resource | Afhankelijk cascadeBehaviors |
Resourcegroep | Niet-geïndexeerde resource | Verwijderd |
Onderliggende resource | Bovenliggende resource | Bovenliggend item is beveiligd; onderliggend item wordt verwijderd |
Bovenliggende resource | Onderliggende resource | Verwijderd |
DenyAction-eigenschappen
De details
eigenschap van het denyAction
effect heeft alle subproperties die de actie en het gedrag definiëren.
actionNames
(vereist)- Een matrix die aangeeft welke acties moeten worden uitgevoerd.
- Ondersteunde actienamen zijn:
delete
.
cascadeBehaviors
(optioneel)- Een object dat definieert welk gedrag wordt gevolgd wanneer een resource impliciet wordt verwijderd wanneer een resourcegroep wordt verwijderd.
- Alleen ondersteund in beleidsdefinities met de modus ingesteld op
indexed
. - Toegestane waarden zijn
allow
ofdeny
. - De standaardwaarde is
deny
.
Voorbeeld van DenyAction
Voorbeeld: Verwijderoproepen weigeren die zijn gericht op databaseaccounts met een tagomgeving die gelijk is aan prod. Aangezien trapsgewijs gedrag is ingesteld op weigeren, blokkeert u alle DELETE
aanroepen die zijn gericht op een resourcegroep met een van toepassing zijnde databaseaccount.
{
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.DocumentDb/accounts"
},
{
"field": "tags.environment",
"equals": "prod"
}
]
},
"then": {
"effect": "denyAction",
"details": {
"actionNames": [
"delete"
],
"cascadeBehaviors": {
"resourceGroup": "deny"
}
}
}
}
Volgende stappen
- Bekijk voorbeelden in Azure Policy-voorbeelden.
- Lees over de structuur van Azure Policy-definities.
- Meer informatie over het programmatisch maken van beleid.
- Meer informatie over het ophalen van nalevingsgegevens.
- Ontdek hoe u niet-compatibele resources kunt herstellen.
- Controleer Azure-beheergroepen.