Azure Fundamentals · leksjon

Azure Policy

Skriv og tilordne Azure Policy-definisjoner for automatisk å håndheve navnekonvensjoner, tillatte ressurstyper og plasseringsbegrensninger på abonnements- eller ressursgruppenivå.

Leksjon 2 av 413 trinn

Azure Policy er en gratis leksjon i Azure Fundamentals på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Azure Fundamentals, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Azure Fundamentals inneholder totalt 4 leksjoner.

Hva er Azure Policy?

Azure Policy er en styringstjeneste som lar deg definere, tilordne og administrere regler – kalt policydefinisjoner – som kontrollerer eller reviderer konfigurasjonen av Azure-ressurser. I motsetning til RBAC, som kontrollerer hvem som kan utføre handlinger, kontrollerer Azure Policy hvilken konfigurasjon den resulterende ressursen kan ha. Du bruker den til å håndheve organisatoriske standarder som navnekonvensjoner, godkjente ressurstyper og nødvendige sikkerhetskonfigurasjoner.

Policydefinisjoner

En policydefinisjon er et JSON-dokument som definerer en betingelse som skal evalueres mot en ressurs, og en effekt som skal brukes når betingelsen er oppfylt. Azure tilbyr hundrevis av innebygde policydefinisjoner som dekker vanlige scenarier. Du kan også opprette egendefinerte policydefinisjoner når de innebygde policyene ikke oppfyller behovet ditt. Policydefinisjoner er gjenbrukbare objekter som må tilordnes til et omfang før de trer i kraft.

// 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 policydefinisjon bestemmer hva som skjer når policybetingelsen utløses. Viktige effekter omfatter: Deny – blokkerer opprettingen eller oppdateringen av ressursen som bryter policyen; Audit – tillater handlingen, men logger en advarsel i samsvarsrapporten; Append – legger til obligatoriske felt (for eksempel koder) i en ressurs før oppretting; Modify – endrer en egenskap på eksisterende eller nye ressurser; DeployIfNotExists – distribuerer en relatert ressurs hvis en betingelse ikke er oppfylt (for eksempel distribusjon av en diagnostikkutvidelse til hver VM).

Policytilordning

En policytilordning bruker en policydefinisjon på et bestemt omfang: administrasjonsgruppe, abonnement eller ressursgruppe. Alle ressurser innenfor dette omfanget (og underordnede omfang) evalueres mot den tilordnede policyen. Tilordninger kan inneholde parametere – for eksempel kan en policy som begrenser tillatte Azure-områder, parameteriseres slik at den samme definisjonen tilordnes med ulike områdelister i forskjellige administrasjonsgrupper.

# 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

Initiativdefinisjoner (policysett)

En initiativdefinisjon (også kalt et policysett) grupperer flere relaterte policydefinisjoner i én enkelt pakke som kan tilordnes. I stedet for å tilordne 20 individuelle policyer tilordner du ett initiativ. Azure tilbyr innebygde initiativer for samsvarsrammeverk som ISO 27001, NIST SP 800-53, Azure Security Benchmark og PCI DSS. Hvis du tilordner initiativet CIS Microsoft Azure Foundations Benchmark, evalueres abonnementet for eksempel mot over 180 sikkerhetskontroller samtidig.

# 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>

Samsvarsrapportering

Etter at en policy er tilordnet, evaluerer Azure alle eksisterende ressurser i omfanget og genererer en samsvarsrapport. Rapporten viser samlet samsvarsprosent (ressurser som samsvarer / totalt antall ressurser), samsvarstilstanden til hver ressurs og hvilke spesifikke policybetingelser som ikke ble oppfylt. Du kan filtrere etter policyinitiativ, omfang eller ressurstype. Ressurser som ikke er i samsvar, vises med den nøyaktige policyregelen de brøt, slik at utbedring blir enklere.

# 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

Utbedringsoppgaver

For policyer med effekten DeployIfNotExists eller Modify kan Azure opprette utbedringsoppgaver for å bringe eksisterende ressurser som ikke er i samsvar, i samsvar. En DeployIfNotExists-policy som distribuerer en Log Analytics-agent til hver VM, kan for eksempel utløse en utbedringsoppgave som installerer agenten på alle eksisterende VM-er som mangler den. Nye ressurser utbedres automatisk ved oppretting, mens eksisterende ressurser krever en eksplisitt utbedringsoppgave.

# 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

Policyunntak

Noen ganger må bestemte ressurser legitimt unntas fra en policy – for eksempel en eldre ressurs som ikke kan endres, eller et godkjent unntak som er dokumentert i en endringsforespørsel. Policyunntak lar deg utelate en bestemt ressurs eller ressursgruppe fra en policytilordning uten å fjerne policyen globalt. Unntak kan ha en valgfri utløpsdato og en kategori (Waiver eller Mitigated) som dokumenterer årsaken til unntaket.

# 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: Konfigurasjon i stor skala

DeployIfNotExists er en av de mest kraftige policyeffektene. Når en ressurs opprettes uten en nødvendig relatert ressurs (for eksempel en VM uten en diagnostikkutvidelse), utløser policyen automatisk en ARM-maldistribusjon for å legge til den manglende komponenten. Dette gjør at Azure Policy kan fungere som et automatisk verktøy for konfigurasjonsadministrasjon – slik at hver VM alltid har overvåkingsagenter, hver lagringskonto alltid har avansert trusselbeskyttelse, og hver SQL Database alltid har kontrollrevisjon aktivert.

Vanlige bruksområder for policyer

Organisasjoner bruker Azure Policy i mange styringsscenarier. Plasseringsbegrensninger – tillat bare ressurser i godkjente Azure-områder av hensyn til datasuverenitet. Tillatte ressurstyper – hindre distribusjon av kostbare eller ikke-godkjente tjenester. Håndheving av koder – krev CostCentre- og Environment-koder på alle ressurser. SKU-begrensninger – begrens VM-størrelser til kostnadstilpassede nivåer i abonnementer som ikke er produksjon. Sikkerhetsgrunnlinjer – håndhev TLS 1.2 som minimum, deaktiver offentlig nettverkstilgang på lagringskontoer og krev private endepunkter.

Azure Policy kontra RBAC

Det er viktig å forstå de ulike rollene til RBAC og Azure Policy. RBAC kontrollerer hvem som kan utføre operasjoner – det tillater eller avslår handlinger basert på identitet. Azure Policy kontrollerer hvordan ressurskonfigurasjonen må være – den evaluerer og håndhever egenskaper uavhengig av hvem som utfører handlingen. Begge er nødvendige i et miljø med god styring: RBAC sikrer at bare autoriserte personer distribuerer ressurser, og Azure Policy sikrer at disse ressursene følger konfigurasjonsstandardene.

Kort kontroll

Test forståelsen din av konseptene i Microsoft Azure Fundamentals (AZ-900) fra denne leksjonen.

Oppsummering av leksjonen

I denne leksjonen lærte du at Azure Policy definerer betingelser og effekter for å kontrollere ressurskonfigurasjon på alle omfang, at initiativdefinisjoner samler flere policyer i én enkelt samsvarspakke som kan tilordnes, og at DeployIfNotExists muliggjør automatisk håndheving av konfigurasjon for manglende komponenter i stor skala. Neste tema er ressurskoder og ressurslåser for beskyttelse av Azure-ressurser.

Gratis å komme i gang

Lær deg Azure Fundamentals med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
30
Leksjoner
120

Ofte stilte spørsmål

Er leksjonen «Azure Policy» gratis?

Ja – hele teksten i «Azure Policy» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Azure Fundamentals-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Azure Fundamentals inneholder totalt 4 leksjoner.

Hva lærer jeg i «Azure Policy»?

Skriv og tilordne Azure Policy-definisjoner for automatisk å håndheve navnekonvensjoner, tillatte ressurstyper og plasseringsbegrensninger på abonnements- eller ressursgruppenivå. Du øver på Azure Fundamentals med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Azure Fundamentals?

Ingen tidligere erfaring er nødvendig. Azure Fundamentals på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Azure Policy»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Azure Fundamentals-leksjonen?

Ja. Alle Azure Fundamentals-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Administrasjonsgrupper og abonnementer
  2. Azure Policy
  3. Ressurstagger og ressurslåser
  4. Azure Blueprints og samsvar
← Tilbake til Azure Fundamentals