Dela via


Utvärdera effekten av en ny Azure Policy-definition

Azure Policy är ett kraftfullt verktyg för att hantera dina Azure-resurser för att uppfylla efterlevnadsbehov för affärsstandarder. När personer, processer eller pipelines skapar eller uppdaterar resurser granskar Azure Policy begäran. När principdefinitionseffekten ändras, läggs till eller distribuerasOmNotExists ändrar principen begäran eller lägger till den. När principdefinitionseffekten är granskning eller auditIfNotExists, gör principen att en aktivitetsloggpost skapas för nya och uppdaterade resurser. Och när principdefinitionseffekten nekar eller nekarÅtgärd stoppar principen skapandet eller ändringen av begäran.

Dessa resultat är exakt enligt önskan när du vet att principen har definierats korrekt. Det är dock viktigt att verifiera att en ny princip fungerar som den ska innan den kan ändras eller blockera arbete. Verifieringen måste se till att endast de avsedda resurserna bedöms vara icke-kompatibla och att inga kompatibla resurser inkluderas felaktigt (kallas falskt positiva) i resultaten.

Den rekommenderade metoden för att verifiera en ny principdefinition är genom att följa dessa steg:

  • Definiera din princip noggrant.
  • Testa principens effektivitet.
  • Granska nya eller uppdaterade resursbegäranden.
  • Distribuera din princip till resurser.
  • Kontinuerlig övervakning.

Definiera din princip noggrant

Det är viktigt att förstå hur affärspolicyn implementeras som en principdefinition och relationen mellan Azure-resurser och andra Azure-tjänster. Det här steget utförs genom att identifiera kraven och fastställa resursegenskaperna. Men det är också viktigt att se bortom den snäva definitionen av din affärsprincip. Anger din princip till exempel att Alla virtuella datorer måste...? Hur är det med andra Azure-tjänster som använder virtuella datorer, till exempel HDInsight eller Azure Kubernetes Service (AKS)? När vi definierar en princip måste vi överväga hur den här principen påverkar resurser som används av andra tjänster.

Därför bör dina principdefinitioner vara så noggrant definierade och fokuserade på de resurser och egenskaper som du behöver utvärdera för efterlevnad som möjligt.

Testa principens effektivitet

Innan du vill hantera nya eller uppdaterade resurser med din nya principdefinition är det bäst att se hur den utvärderar en begränsad delmängd av befintliga resurser, till exempel en testresursgrupp. Azure Policy VS Code-tillägget möjliggör isolerad testning av definitioner mot befintliga Azure-resurser med hjälp av utvärderingsgenomsökningen på begäran. Du kan också tilldela definitionen i en Dev-miljö med tillämpningsläget Inaktiverad (doNotEnforce) för principtilldelningen för att förhindra att effekten utlöses eller aktivitetsloggposter skapas.

Det här steget ger dig möjlighet att utvärdera efterlevnadsresultaten för den nya principen på befintliga resurser utan att påverka arbetsflödet. Kontrollera att inga kompatibla resurser visas som icke-kompatibla (falskt positiva) och att alla resurser som du förväntar dig är icke-kompatibla har markerats korrekt. När den första delmängden av resurserna har verifierats som förväntat expanderar du långsamt utvärderingen till fler befintliga resurser och fler omfång.

Att utvärdera befintliga resurser på det här sättet ger också möjlighet att åtgärda icke-kompatibla resurser innan den nya principen implementeras fullt ut. Den här rensningen kan göras manuellt eller via en reparationsaktivitet om principdefinitionseffekten är deployIfNotExists eller modify.

Principdefinitioner med en deployIfNotExists bör använda Azure Resource Manager-mallen vad händer om du vill verifiera och testa de ändringar som inträffar när ARM-mallen distribueras.

Granska nya eller uppdaterade resurser

När du har verifierat att den nya principdefinitionen rapporterar korrekt på befintliga resurser är det dags att titta på effekten av principen när resurser skapas eller uppdateras. Om principdefinitionen stöder effektparameterisering använder du audit eller auditIfNotExist. Med den här konfigurationen kan du övervaka skapande och uppdatering av resurser för att se om den nya principdefinitionen utlöser en post i Azure-aktivitetsloggen för en resurs som inte är kompatibel utan att påverka befintligt arbete eller begäranden.

Rekommendationen är att uppdatera och skapa nya resurser som matchar din principdefinition för att se att audit effekten eller auditIfNotExists utlöses korrekt när det förväntas. Var på jakt efter resursbegäranden som inte ska påverkas av den nya principdefinitionen audit som utlöser eller auditIfNotExists effekten. Dessa berörda resurser är ett annat exempel på falska positiva identifieringar och måste åtgärdas i principdefinitionen innan den fullständiga implementeringen.

Om principdefinitionen ändras i det här skedet av testningen är rekommendationen att påbörja valideringsprocessen med granskning av befintliga resurser. En ändring av principdefinitionen för ett falskt positivt resultat för nya eller uppdaterade resurser kommer sannolikt också att påverka befintliga resurser.

Distribuera din princip till resurser

När du har slutfört valideringen av den nya principdefinitionen med både befintliga resurser och nya eller uppdaterade resursbegäranden börjar du implementera principen. Rekommendationen är att skapa principtilldelningen för den nya principdefinitionen till en delmängd av alla resurser först, till exempel en resursgrupp. Du kan filtrera ytterligare efter resurstyp eller plats med hjälp av egenskapen resourceSelectors i principtilldelningen. När du har verifierat den första distributionen utökar du omfånget för principen till bredare som en resursgrupp. När du har verifierat den första distributionen expanderar du principens effekt genom att justera filtren så att de resourceSelector riktar in sig på fler platser eller resurstyper. Eller genom att ta bort tilldelningen och ersätta den med en ny i bredare omfång som prenumerationer och hanteringsgrupper. Fortsätt den här gradvisa distributionen tills den har tilldelats hela omfattningen av resurser som ska omfattas av den nya principdefinitionen.

Om resurser finns som ska undantas från den nya principdefinitionen under distributionen kan du åtgärda dem på något av följande sätt:

  • Uppdatera principdefinitionen så att den blir mer explicit för att minska oönskade effekter.
  • Ändra omfånget för principtilldelningen (genom att ta bort och skapa en ny tilldelning).
  • Lägg till resursgruppen i undantagslistan för principtilldelningen.

Eventuella ändringar av omfånget (nivå eller undantag) bör verifieras fullständigt och kommuniceras med dina säkerhets- och efterlevnadsorganisationer för att säkerställa att det inte finns några luckor i täckningen.

Övervaka din princip och efterlevnad

Att implementera och tilldela din principdefinition är inte det sista steget. Övervaka kontinuerligt efterlevnadsnivån för resurser till din nya principdefinition och konfigurera lämpliga Azure Monitor-aviseringar och meddelanden för när icke-kompatibla enheter identifieras. Rekommendationen är att utvärdera principdefinitionen och relaterade tilldelningar enligt ett schema för att verifiera att principdefinitionen uppfyller affärsprinciper och efterlevnadsbehov. Principer bör tas bort om de inte längre behövs. Principer måste också uppdateras då och då när de underliggande Azure-resurserna utvecklas och lägga till nya egenskaper och funktioner.

Nästa steg