Tillämpa standarder med hjälp av principer
Du ordnar dina resurser i resursgrupper och du har lagt till taggar för dina resurser för användning i faktureringsrapporter och i din övervakningslösning. Grupperingen av resurser och taggningen har gjort en skillnad för de befintliga resurserna, men hur säkerställer vi att nya resurser följer dessa regler? Låt oss ta en titt på hur principer kan hjälpa dig att tillämpa standarder i Azure-miljön.
Vad är Azure Policy?
Azure Policy är en tjänst för att skapa, tilldela och hantera principer. Dessa principer tillämpar regler som dina resurser måste följa. Dessa principer kan framtvinga dessa regler när resurser skapas och du kan utvärdera dem mot befintliga resurser för att ge insyn i efterlevnaden.
Principer kan framtvinga regler som att endast tillåta att specifika typer av resurser skapas eller endast tillåter resurser i specifika Azure-regioner. Du kan tillämpa namngivningskonventioner i din Azure-miljö. Du kan också ange att specifika taggar måste användas för resurser. Låt oss ta en titt på hur principer fungerar.
Skapa en policy
Du vill se till att alla resurser har den avdelningstagg som är associerad med dem och blockera skapandet om taggen inte finns. Du måste skapa en ny principdefinition och tilldela den till ett omfång. I det här fallet är omfånget vår resursgrupp msftlearn-core-infrastructure-rg . Du kan skapa och tilldela principer via Azure Portal, Azure PowerShell eller Azure CLI. I den här övningen ser du hur du skapar en princip i portalen.
Skapa principdefinitionen
Gå till Azure-portalen i en webbläsare, om du inte redan gjort det. Sök efter princip i sökrutan i det översta navigeringsfältet och välj tjänsten Princip.
Välj fönstret Definitioner i avsnittet Redigering i den vänstra menyn.
Nu ska du se en lista med inbyggda principer som du kan använda. I det här fallet ska du skapa en egen anpassad princip. Välj + Principdefinition på den översta menyn.
Dialogrutan Ny principdefinition öppnas. Om du vill ange platsen Definition väljer du den blå startomfattningsväljaren (...). Välj den prenumeration där principen lagras, vilket ska vara samma prenumeration som resursgruppen. Välj knappen Välj.
I dialogrutan Ny principdefinition anger du Framtvinga tagg för resurs i fältet Namn.
I Beskrivning anger du Den här principen gör att en tagg krävs för en resurs.
För Kategori väljer du Använd befintlig och sedan kategorin Allmänt .
För principregeln tar du bort all text i rutan och klistrar in följande JSON:
{ "mode": "Indexed", "policyRule": { "if": { "field": "[concat('tags[', parameters('tagName'), ']')]", "exists": "false" }, "then": { "effect": "deny" } }, "parameters": { "tagName": { "type": "String", "metadata": { "displayName": "Tag Name", "description": "Name of the tag, such as 'environment'" } } } }
Principdefinitionen bör se ut som i följande exempel. Välj Spara för att spara principdefinitionen.
Skapa en principtilldelning
Du har skapat principen, men den gäller inte ännu. För att aktivera principen måste du skapa en tilldelning. I det här fallet tilldelar du den till omfånget för resursgruppen msftlearn-core-infrastructure-rg så att den gäller för allt i resursgruppen.
Gå tillbaka till fönstret Princip och välj sedan Tilldelningar i avsnittet Redigering till vänster.
Välj Tilldela princip högst upp.
Tilldela policyn till resursgruppen i fönstret Tilldela policy. För Omfång väljer du den blå startomfångsväljaren (...). Välj din prenumeration och resursgruppen msftlearn-core-infrastructure-rg och välj sedan knappen Välj .
För Principdefinition väljer du den blå startprincipdefinitionsväljaren (...). I listrutan Typ väljer du Anpassad, väljer taggen Framtvinga den resursprincip som du skapade och väljer sedan knappen Lägg till .
Välj fliken Parametrar överst på skärmen.
I fönstret Parametrar anger du Avdelning för taggnamnet.
Välj Granska + skapa och välj sedan Skapa för att skapa tilldelningen.
Testa principen
Nu när du har tilldelat principen till resursgruppen misslyckas alla försök att skapa en resurs utan taggen Avdelning .
Viktigt!
Observera att principtilldelningen kan ta upp till 30 minuter att börja gälla. På grund av den här fördröjningen kan principverifieringen lyckas i följande steg, men distributionen misslyckas fortfarande. I så fall kan du behöva mer tid och försöka med distributionen igen.
I menyn i Azure-portalen eller på sidan Start väljer du Skapa en resurs.
Sök efter och välj Lagringskonto. I resultatet väljer du Skapa.
Välj din prenumeration och välj sedan resursgruppen msftlearn-core-infrastructure-rg .
I Lagringskontonamn anger du önskat namn, men observera att det måste vara ett globalt unikt namn.
Låt resten av alternativen vara kvar som standard och välj sedan Granska + skapa.
Verifieringen av resursskapandet misslyckas eftersom du inte har någon avdelningstagg tillämpad på resursen. Om principen inte har orsakat ett valideringsfel kan du behöva vänta några minuter till för att den ska aktiveras.
Åtgärda överträdelsen så att du kan distribuera lagringskontot.
Välj Taggar längst upp i fönstret Skapa lagringskonto.
Lägg till taggen
Department
:Finance
i listan.Klicka på Granska + skapa. Verifieringen godkänns nu och om du väljer Skapa skapas ditt lagringskonto.
Tillämpa standarder med hjälp av principer
Du har sett hur du kan använda principer för att se till att dina resurser har taggarna som organiserar dina resurser. Det finns andra sätt att använda principer till vår fördel.
Du kan använda en princip för att begränsa till vilka Azure-regioner du kan distribuera resurser till. För organisationer som är starkt reglerade eller har juridiska eller regelmässiga begränsningar för var data kan finnas, hjälper principer till att säkerställa att resurser inte etableras i geografiska områden som går emot dessa krav.
Du kan använda en princip för att begränsa vilka typer av storlekar på virtuella datorer som kan distribueras. Du kanske vill tillåta stora VM-storlekar i dina produktionsprenumerationer, men du kanske vill se till att kostnaderna minimeras i dina utvecklingsprenumerationer. Genom att skapa en princip som blockerar stora virtuella datorer i utvecklingsprenumerationer kan du se till att de inte distribueras i dessa miljöer.
Du kan också använda en princip för att framtvinga namngivningskonventioner. Om din organisation har namngivningskonventioner kan du använda en policy för att tillämpa konventionerna och upprätthålla en konsekvent namngivningsstandard för Azure-resurserna.