Azure Fundamentals · leksjon

Ressurstagger og ressurslåser

Bruk metadata-tagger på ressurser for kostnadsfordeling og søking, og forhindre utilsiktet sletting eller endring med skrivebeskyttede ressurslåser eller slettelåser.

Leksjon 3 av 413 trinn

Ressurstagger og ressurslåser er en gratis leksjon i Azure Fundamentals på CoddyKit. Dette er leksjon 3 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-ressurskoder?

Ressurskoder er metadata i form av navn-verdi-par som du knytter til Azure-ressurser, ressursgrupper og abonnementer. I motsetning til mappestrukturer gjør koder det mulig å kategorisere én ressurs langs flere dimensjoner samtidig. En VM kan for eksempel ha kodene Environment=Production, Team=Backend, CostCentre=CC-042 og Project=Phoenix samtidig, slik at du kan filtrere uavhengig etter hver av disse dimensjonene.

Vanlige strategier for koder

Organisasjoner definerer vanligvis en standardisert kodetaksonomi som dekker flere dimensjoner. Økonomiske koder (CostCentre, BudgetOwner) muliggjør kostnadsfordeling. Driftskoder (Environment, Criticality, Owner) støtter filtrering og varsling. Livssykluskoder (AutoShutdown, ExpiryDate) muliggjør automatisering. Sikkerhetskoder (DataClassification, Compliance) støtter sikkerhetsverktøy. Hvis taksonomien defineres før ressurser distribueres, unngår man et inkonsekvent og uforespørrbart kodemiljø.

Bruke tagger via CLI og policy

Tagger kan brukes via Azure-portalen, CLI, ARM-maler, Bicep og Terraform. Kommandoen az tag administrerer tagger på ressurser, mens az group update merker ressursgrupper. Ved å bruke Azure Policy med effekten Modify eller Append kan De automatisk legge til eller kreve tagger når ressurser opprettes – slik at alle nye ressurser får en CostCentre-tagg uten at utviklere må huske å legge den til manuelt.

# Apply tags to a resource
az resource tag \
  --resource-group myRG \
  --name myVM \
  --resource-type Microsoft.Compute/virtualMachines \
  --tags Environment=Production Team=Backend CostCentre=CC-042

# Apply tags to a resource group (does NOT apply to resources inside)
az group update \
  --name myRG \
  --set tags.Environment=Production tags.CostCentre=CC-042

Begrensning ved arv av tagger

En vanlig misforståelse er at tagger på en ressursgruppe automatisk videreføres til ressursene i den. Det gjør de ikke – Azure-ressurstagger arves ikke fra overordnede nivåer. Hvis De merker en ressursgruppe med Environment=Production, får ikke VM-ene og databasene i gruppen denne taggen automatisk. For å håndheve konsekvent tagging kan De bruke Azure Policy med den innebygde definisjonen Inherit a tag from the resource group, som automatisk kopierer ressursgruppens tagg til alle ressurser i gruppen.

# Assign the 'Inherit a tag from the resource group' policy
az policy assignment create \
  --name 'inherit-environment-tag' \
  --policy 'cd3aa116-8754-49c9-a813-ad46512ece54' \
  --params '{"tagName": {"value": "Environment"}}' \
  --scope /subscriptions/<sub-id>

Bruke tagger i kostnadsadministrasjon

Tagger er mest effektive når de kombineres med Azure Cost Management. I visningen Kostnadsanalyse kan De gruppere forbruk etter en hvilken som helst taggnøkkel – for eksempel se totale månedlige kostnader etter CostCentre for å finne ut hvilken avdeling som bruker mest i skyen. De kan også filtrere på Environment=Production for å utelate utviklingskostnader fra produksjonsbudsjetter. Azure Cost Management krever at taggen ble lagt til før faktureringsperioden, for at den skal vises i kostnadsdataene.

# Export cost data grouped by tag
# (Azure CLI cost export with tag grouping)
az consumption usage list \
  --start-date 2026-06-01 \
  --end-date 2026-06-30 \
  --query '[].{Cost:pretaxCost, Service:instanceName, CostCentre:tags.CostCentre}' \
  --output table

Hva er ressurslåser?

Ressurslåser beskytter Azure-ressurser mot utilsiktet sletting eller endring, uavhengig av hvilke RBAC-tillatelser en bruker har. En bruker med Owner- eller Contributor-rettigheter kan fortsatt bli hindret i å slette eller endre en låst ressurs. Låser brukes på ressurs-, ressursgruppe- eller abonnementsnivå og arves nedover – en lås på en ressursgruppe beskytter alle ressursene i den.

Låstyper: CanNotDelete og ReadOnly

Azure støtter to låstyper. CanNotDelete (slettelås) lar brukere lese og endre ressursen, men hindrer sletting. Dette er den vanligste låsen – den brukes på produksjonsdatabaser, lagringskontoer og VNet-er for å hindre utilsiktet avvikling. ReadOnly hindrer alle skrive- og sletteoperasjoner, slik at ressursen oppfører seg som om alle bare hadde Reader-rollen. ReadOnly er mer restriktiv og kan forstyrre automatiserte prosesser som oppdaterer egenskapene til ressurser.

# Apply a CanNotDelete lock to a resource group
az lock create \
  --name 'prevent-delete' \
  --resource-group myRG \
  --lock-type CanNotDelete \
  --notes 'Protect production resources from accidental deletion'

# Apply a ReadOnly lock to a specific storage account
az lock create \
  --name 'storage-readonly' \
  --resource-group myRG \
  --resource-name mystorageaccount \
  --resource-type Microsoft.Storage/storageAccounts \
  --lock-type ReadOnly

Fjerne ressurslåser

For å slette eller endre en låst ressurs må en bruker først fjerne låsen – dette krever tillatelsen Microsoft.Authorization/locks/delete (som standard tilgjengelig for rollene Owner og User Access Administrator). Fjerning av låsen, endring av ressursen og eventuell ny bruk av låsen kan skriptes inn i en endringshåndteringsprosess. På den måten kan beskyttede ressurser fortsatt endres gjennom en kontrollert prosess med et revisjonsspor.

# List all locks in a resource group
az lock list \
  --resource-group myRG \
  --output table

# Remove a lock
az lock delete \
  --name 'prevent-delete' \
  --resource-group myRG

Arv og overstyring av låser

En lås som brukes på et overordnet nivå (abonnement eller ressursgruppe), arves av alle underordnede ressurser. De kan ikke overstyre en lås på et lavere nivå – hvis en ressursgruppe har en CanNotDelete-lås, kan ikke enkeltressurser i gruppen slettes selv om de ikke har en lås direkte på seg. Hvis De legger til en CanNotDelete-lås på ressursnivå i tillegg til en overordnet lås, endrer det ikke virkemåten; den overordnede låsen gir allerede beskyttelsen.

Bivirkninger av ReadOnly-låser

ReadOnly-låser kan føre til uventede feil i automatiserte prosesser. Noen Azure-operasjoner som tilsynelatende bare leser data, krever faktisk skrivetilgang til ressursegenskaper i bakgrunnen. Hvis De for eksempel viser tilgangsnøklene for en lagringskonto, blokkeres dette av en ReadOnly-lås fordi handlingen endrer kontoens revisjonsspor. Skalering av en VM, omstart av en App Service og tilkobling av en disk til en VM som kjører, blokkeres også. Test ReadOnly-låser i ikke-produksjonsmiljøer før De bruker dem på kritiske ressurser.

Tagger og låser sammen

Ved å kombinere tagger og låser får De et effektivt styringsmønster. De kan bruke en tagg som Protected=true til å merke ressurser som skal ha CanNotDelete-låser, og deretter kjøre en Azure Automation Runbook som søker etter ressurser med denne taggen og oppretter låsen hvis den mangler. Dette mønsteret for selvreparerende styring sørger for at en lås automatisk brukes på nytt innenfor tidsplanen til runbooken, selv om en administrator fjerner den ved et uhell.

Kort kontroll

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

Oppsummering av leksjonen

I denne leksjonen har De lært at ressurstagger er metadata-par av navn og verdi som muliggjør kostnadsfordeling, filtrering og automatisering på tvers av alle dimensjoner, at tagger ikke arves fra overordnede ressursgrupper og må håndheves via Azure Policy, og at ressurslåser (CanNotDelete og ReadOnly) beskytter ressurser mot utilsiktede endringer, uavhengig av RBAC-tillatelser. Deretter skal vi se nærmere på Azure Blueprints for å samle styringsartefakter.

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 «Ressurstagger og ressurslåser» gratis?

Ja – hele teksten i «Ressurstagger og ressurslåser» 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 «Ressurstagger og ressurslåser»?

Bruk metadata-tagger på ressurser for kostnadsfordeling og søking, og forhindre utilsiktet sletting eller endring med skrivebeskyttede ressurslåser eller slettelåser. 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 3 av 4.

Hvor lang tid tar leksjonen «Ressurstagger og ressurslåser»?

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