Grunderna i Azure Policy-definitioner påverkar
Varje principdefinition i Azure Policy har en enda effect
i sin policyRule
. Det effect
avgör vad som händer när principregeln utvärderas så att den matchar. Effekterna fungerar annorlunda om de gäller för en ny resurs, en uppdaterad resurs eller en befintlig resurs.
Följande är de Azure Policy-definitionseffekter som stöds:
- addToNetworkGroup
- Lägg till
- Revision
- auditIfNotExists
- Förneka
- denyAction
- deployIfNotExists
- Inaktiverad
- Manuell
- Ändra
- Mutera
Interchanging-effekter
Ibland kan flera effekter vara giltiga för en viss principdefinition. Parametrar används ofta för att ange tillåtna effektvärden (allowedValues
) så att en enskild definition kan vara mer mångsidig under tilldelningen. Det är dock viktigt att observera att inte alla effekter är utbytbara. Resursegenskaper och logik i principregeln kan avgöra om en viss effekt anses giltig för principdefinitionen. Till exempel kräver principdefinitioner med verkan auditIfNotExists
annan information i principregeln som inte krävs för principer med verkan audit
. Effekterna beter sig också annorlunda. audit
principer utvärderar en resurs efterlevnad baserat på dess egna egenskaper, medan auditIfNotExists
principer utvärderar en resurs efterlevnad baserat på en underordnad resurss egenskaper eller tilläggsresursens egenskaper.
Följande lista är några allmänna riktlinjer för utbytbara effekter:
audit
,deny
, och antingenmodify
ellerappend
är ofta utbytbara.auditIfNotExists
ochdeployIfNotExists
är ofta utbytbara.manual
är inte utbytbar.disabled
är utbytbar med någon effekt.
Utvärderingsordning
Azure Policys första utvärdering är för begäranden om att skapa eller uppdatera en resurs. Azure Policy skapar en lista över alla tilldelningar för resursen och utvärderar sedan resursen mot varje definition. I ett Resource Manager-läge bearbetar Azure Policy flera av effekterna innan du skickar begäran till lämplig resursprovider. Den här ordningen förhindrar onödig bearbetning av en resursprovider när en resurs inte uppfyller de utformade styrningskontrollerna i Azure Policy. Med ett resursproviderläge hanterar resursprovidern utvärderingen och resultatet och rapporterar resultatet tillbaka till Azure Policy.
disabled
kontrolleras först för att avgöra om principregeln ska utvärderas.append
ochmodify
utvärderas sedan. Eftersom någon av dem kan ändra begäran kan en ändring som görs förhindra att en gransknings- eller neka-effekt utlöses. Dessa effekter är endast tillgängliga i ett Resource Manager-läge.deny
utvärderas sedan. Genom att utvärdera Neka före granskning förhindras dubbel loggning av en oönskad resurs.audit
utvärderas.manual
utvärderas.auditIfNotExists
utvärderas.denyAction
utvärderas senast.
När resursprovidern returnerar en lyckad kod på en Begäran om auditIfNotExists
Resource Manager-läge och deployIfNotExists
utvärderar för att avgöra om mer efterlevnadsloggning eller åtgärd krävs.
PATCH
begäranden som endast ändrar tags
relaterade fält begränsar principutvärderingen till principer som innehåller villkor som inspekterar tags
relaterade fält.
Principdefinitioner för skiktning
Flera tilldelningar kan påverka en resurs. Dessa tilldelningar kan ha samma omfång eller i olika omfång. Var och en av dessa tilldelningar kommer sannolikt också att ha en annan effekt definierad. Villkoret och effekten för varje princip utvärderas oberoende. Till exempel:
- Princip 1
- Begränsar resursplatsen till
westus
- Tilldelad till prenumeration A
- Neka-effekt
- Begränsar resursplatsen till
- Princip 2
- Begränsar resursplatsen till
eastus
- Tilldelad till resursgrupp B i prenumeration A
- Granskningseffekt
- Begränsar resursplatsen till
Den här konfigurationen skulle resultera i följande resultat:
- Alla resurser som redan finns i resursgrupp B i
eastus
är kompatibla med princip 2 och är inte kompatibla med princip 1 - Alla resurser som redan finns i resursgruppen B som inte är i
eastus
är inkompatibla med princip 2 och inkompatibla till princip 1 om de inte finns iwestus
- Princip 1 nekar alla nya resurser i prenumeration A inte i
westus
- Alla nya resurser i prenumeration A och resursgrupp B i
westus
skapas och är inte kompatibla med princip 2
Om både princip 1 och princip 2 hade verkan av neka, ändras situationen till:
- Alla resurser som redan finns i resursgruppen B som inte är i
eastus
är icke-kompatibla med princip 2 - Alla resurser som redan finns i resursgrupp B som inte är i
westus
är inkompatibla med princip 1 - Princip 1 nekar alla nya resurser i prenumeration A inte i
westus
- Alla nya resurser i resursgrupp B i prenumeration A nekas
Varje tilldelning utvärderas individuellt. Därför finns det ingen möjlighet för en resurs att glida igenom en lucka från skillnader i omfång. Nettoresultatet av skiktningsprincipdefinitioner anses vara kumulativt mest restriktivt. Om både princip 1 och 2 till exempel hade en deny
effekt skulle en resurs blockeras av de överlappande och motstridiga principdefinitionerna. Om du fortfarande behöver resursen som ska skapas i målomfånget granskar du undantagen för varje tilldelning för att verifiera att rätt principtilldelningar påverkar rätt omfång.
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.