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/denyAssignmentsMicrosoft.Blueprint/blueprintAssignments, , Microsoft.Resources/deploymentStacks, en Microsoft.Authorization/locksMicrosoft.Resources/subscriptionszijn 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 of deny.
    • 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