Azure Fundamentals · Lektion

Azure Policy

Skriv och tilldela Azure Policy-definitioner för att automatiskt tillämpa namnkonventioner, tillåtna resursstyper och platsbegränsningar på prenumerations- eller resursgruppsnivå.

Lektion 2 av 413 steg

Azure Policy är en gratis lektion i Azure Fundamentals på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Azure Fundamentals, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Azure Fundamentals innehåller totalt 4 lektioner.

Vad är Azure Policy?

Azure Policy är en styrningstjänst som gör det möjligt att definiera, tilldela och hantera regler — så kallade policy definitions — som styr eller granskar konfigurationen av Azure-resurser. Till skillnad från RBAC, som styr vem som får utföra åtgärder, styr Azure Policy vilken konfiguration den resulterande resursen får ha. Ni använder tjänsten för att upprätthålla organisationsstandarder som namnkonventioner, godkända resurs¬typer och obligatoriska säkerhetskonfigurationer.

Policydefinitioner

En policy definition är ett JSON-dokument som definierar ett villkor som ska utvärderas mot en resurs och en effekt som ska tillämpas när villkoret uppfylls. Azure tillhandahåller hundratals inbyggda policydefinitioner för vanliga scenarier. Ni kan även skapa anpassade policydefinitioner när de inbyggda principerna inte motsvarar era krav. Policydefinitioner är återanvändbara objekt som måste tilldelas till ett omfång innan de börjar gälla.

// Example built-in policy: require a specific tag on all resources
// Policy definition logic (simplified):
{
  'if': {
    'field': 'tags[Environment]',
    'exists': 'false'
  },
  'then': {
    'effect': 'deny'
  }
}

Policyeffekter

Effekten i en policydefinition avgör vad som händer när policyvillkoret utlöses. Viktiga effekter är bland annat: Deny — blockerar skapandet eller uppdateringen av en resurs som bryter mot policyn; Audit — tillåter åtgärden men loggar en varning i efterlevnadsrapporten; Append — lägger till obligatoriska fält (till exempel taggar) i en resurs före skapandet; Modify — ändrar en egenskap hos befintliga eller nya resurser; DeployIfNotExists — distribuerar en relaterad resurs om ett villkor inte är uppfyllt (till exempel ett diagnostiktillägg till varje virtuell dator).

Policytilldelning

En policy assignment tillämpar en policydefinition på ett specifikt omfång: hanteringsgrupp, prenumeration eller resursgrupp. Alla resurser inom omfånget (och underordnade omfång) utvärderas mot den tilldelade policyn. Tilldelningar kan innehålla parametrar — exempelvis kan en policy som begränsar tillåtna Azure-regioner parametriseras så att samma definition tilldelas med olika regionlistor i olika hanteringsgrupper.

# Assign a built-in policy to restrict allowed locations
az policy assignment create \
  --name 'allowed-locations' \
  --policy 'e56962a6-4747-49cd-b67b-bf8b01975c4c' \
  --scope /subscriptions/<sub-id> \
  --params '{"listOfAllowedLocations": {"value": ["eastus", "westeurope"]}}'

# List all policy assignments in a subscription
az policy assignment list \
  --scope /subscriptions/<sub-id> \
  --output table

Initiativdefinitioner (policyuppsättningar)

En initiative definition (även kallad en policyuppsättning) grupperar flera relaterade policydefinitioner i ett enda paket som kan tilldelas. I stället för att tilldela 20 enskilda principer tilldelar ni ett initiativ. Azure tillhandahåller inbyggda initiativ för efterlevnadsramverk som ISO 27001, NIST SP 800-53, Azure Security Benchmark och PCI DSS. Om ni till exempel tilldelar initiativet CIS Microsoft Azure Foundations Benchmark utvärderas prenumerationen mot fler än 180 säkerhetskontroller samtidigt.

# Assign the Azure Security Benchmark initiative
az policy assignment create \
  --name 'azure-security-benchmark' \
  --policy-set-definition '1f3afdf9-d0c9-4c3d-847f-89da613e70a8' \
  --scope /subscriptions/<sub-id>

Efterlevnadsrapportering

När en policy har tilldelats utvärderar Azure alla befintliga resurser inom omfånget och genererar en efterlevnadsrapport. Rapporten visar den övergripande efterlevnadsprocenten (resurser som uppfyller kraven / totalt antal resurser), varje resurs efterlevnadsstatus och vilka specifika policyvillkor som inte uppfylldes. Ni kan filtrera efter policyinitiativ, omfång eller resurstyp. Resurser som inte uppfyller kraven listas tillsammans med den exakta policyregel de bröt mot, vilket vägleder åtgärdandet.

# Get policy compliance summary
az policy state summarize \
  --subscription <sub-id> \
  --output json

# List all non-compliant resources
az policy state list \
  --filter 'complianceState eq NonCompliant' \
  --output table

Åtgärdsuppgifter

För principer med effekten DeployIfNotExists eller Modify kan Azure skapa åtgärdsuppgifter för att få befintliga resurser som inte uppfyller kraven att göra det. En DeployIfNotExists-policy som distribuerar en Log Analytics-agent till varje virtuell dator kan till exempel utlösa en åtgärdsuppgift som installerar agenten på alla befintliga virtuella datorer som saknar den. Nya resurser åtgärdas automatiskt när de skapas, medan befintliga resurser kräver en uttrycklig åtgärdsuppgift.

# Create a remediation task for existing non-compliant resources
az policy remediation create \
  --name 'remediate-vm-logs' \
  --policy-assignment 'deploy-vm-log-analytics' \
  --resource-group myRG

Policyundantag

Ibland behöver specifika resurser legitimt undantas från en policy — exempelvis en äldre resurs som inte kan ändras eller ett godkänt undantag som dokumenterats i en ändringsbegäran. Policy exemptions gör det möjligt att undanta en specifik resurs eller resursgrupp från en policytilldelning utan att ta bort policyn globalt. Undantag kan ha ett valfritt slutdatum och en kategori (Waiver eller Mitigated) som dokumenterar orsaken till undantaget.

# Create a policy exemption for a specific resource group
az policy exemption create \
  --name 'legacy-rg-exemption' \
  --policy-assignment 'allowed-locations' \
  --scope /subscriptions/<sub-id>/resourceGroups/legacyRG \
  --exemption-category Waiver \
  --expires-on '2027-01-01T00:00:00Z' \
  --description 'Legacy workload pending migration'

DeployIfNotExists: Konfiguration i stor skala

DeployIfNotExists är en av de mest kraftfulla policyeffekterna. När en resurs skapas utan en nödvändig relaterad resurs (till exempel en virtuell dator utan ett diagnostiktillägg) utlöser policyn automatiskt en ARM-mall för att lägga till den komponent som saknas. Därmed kan Azure Policy fungera som ett verktyg för automatisk konfigurationshantering — så att varje virtuell dator alltid har övervakningsagenter, varje lagringskonto alltid har avancerat skydd mot hot och varje SQL Database alltid har granskning aktiverad.

Vanliga användningsområden för Azure Policy

Organisationer använder Azure Policy i många styrningsscenarier. Platsbegränsningar — tillåt endast resurser i godkända Azure-regioner av hänsyn till datasuveränitet. Tillåtna resurstyper — förhindra distribution av dyra eller icke godkända tjänster. Tvingande taggar — kräv taggarna CostCentre och Environment på alla resurser. SKU-begränsningar — begränsa storleken på virtuella datorer till kostnadsanpassade nivåer i prenumerationer som inte gäller produktion. Säkerhetsbaslinjer — tillämpa TLS 1.2 som lägsta version, inaktivera offentlig nätverksåtkomst för lagringskonton och kräv privata slutpunkter.

Azure Policy jämfört med RBAC

Det är viktigt att förstå RBAC:s och Azure Policys olika roller. RBAC styr vem som får utföra åtgärder — det beviljar eller nekar åtgärder baserat på identitet. Azure Policy styr hur resurskonfigurationen måste se ut — den utvärderar och tillämpar egenskaper oavsett vem som utför åtgärden. Båda behövs i en välstyrd miljö: RBAC säkerställer att endast behöriga personer distribuerar resurser, och Azure Policy säkerställer att resurserna följer konfigurationsstandarderna.

Snabbtest

Testa era kunskaper om koncepten i Microsoft Azure Fundamentals (AZ-900) från den här lektionen.

Sammanfattning av lektionen

I den här lektionen har ni lärt er att Azure Policy definierar villkor och effekter för att styra resurskonfigurationen på valfritt omfång, att initiativdefinitioner samlar flera principer i ett enda tilldelningsbart efterlevnadspaket och att DeployIfNotExists möjliggör automatisk konfigurationshantering av komponenter som saknas i stor skala. Härnäst går vi igenom resurstaggar och resurslås för att skydda Azure-resurser.

Gratis att börja

Lär dig Azure Fundamentals med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Azure Policy” gratis?

Ja – hela texten till ”Azure Policy” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Azure Fundamentals, kan Ni uppgradera till CoddyKit PRO. Kursen i Azure Fundamentals innehåller totalt 4 lektioner.

Vad lär jag mig i ”Azure Policy”?

Skriv och tilldela Azure Policy-definitioner för att automatiskt tillämpa namnkonventioner, tillåtna resursstyper och platsbegränsningar på prenumerations- eller resursgruppsnivå. Ni övar på Azure Fundamentals med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Azure Fundamentals?

Du behöver inga förkunskaper. Utbildningen i Azure Fundamentals på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Azure Policy”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Azure Fundamentals-lektionen?

Ja. Varje Azure Fundamentals-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Hanteringsgrupper och prenumerationer
  2. Azure Policy
  3. Resurstaggar och resurslås
  4. Azure Blueprints och efterlevnad
← Tillbaka till Azure Fundamentals