Blog Azure Security & Compliance Cloud kosten

Azure Policy: 5 onmisbare regels voor elke omgeving

Azure Policy is Microsofts uitgebreide tool voor het beheren en beveiligen van je cloud resources. Ben je benieuwd naar de beste policies (beleidsregels) die worden aanbevolen? Zoek dan niet verder.

Niels Kroeze

Auteur

Niels Kroeze

Leestijd 7 minuten Gepubliceerd: 01 december 2025

Wat is Azure Policy?

Microsoft Azure Policy is een service in Azure waarmee je policies kunt maken, toewijzen en beheren om je Azure resources te controleren en te auditen. Je stelt regels op die helpen om organisatiestandaarden te handhaven, compliance te houden en fouten te voorkomen voordat ze ontstaan.

 

Hoe werkt Azure Policy?

Azure Policy gebruikt definities en regels die bepalen wat wel en niet mag. Het schaalt goed, is goed te auditen en werkt soepel over subscripties, management groups en resource groups. Regels controleren resource eigenschappen tijdens deployment en erna, met duizenden ingebouwde policies.

Je kunt ook zelf policies schrijven die passen bij de behoeften van jouw organisatie. Het sterke punt van Azure Policy is dat het je helpt om problemen voor te zijn. In plaats van achteraf op te ruimen, blokkeer je fouten voordat ze impact hebben.

Nu je de basis van Azure Policy kent, kijken we naar een paar veelgebruikte types die in productie echt verschil maken.

Azure Security Ebook (1)

Security E-book

Leer hoe je je Azure omgeving kunt beveiligen met verschillende technologieën, tools en best practices die we dagelijks toepassen bij onze softwaregedreven klanten.

Download nu!

5 Onmisbare Azure Policies voor elke omgeving

1. Vereiste tags op resources

Het afdwingen van tags op resources helpt je om vaste tags (zoals environment, owner of department) toe te passen tijdens deployment. Dit maakt beheer van grote omgevingen veel eenvoudiger.

Tags helpen bij kosten, eigenaarschap en het scheiden van omgevingen.

Een environment (env) tag (dev, test, prod) houdt je reports en dashboards overzichtelijk.

Eenvoudig voorbeeld: Je kunt deze policy zo instellen dat deployment stopt als tags ontbreken of dat er automatisch standaardwaarden worden toegevoegd.

Configuratie:

az policy definition create --name "require-tags-on-resources" --display-name "Require Tags on Resources" --description "This policy requires that specific tags are assigned to all resources." --rules '{ 
    "if": { 
        "field": "tags", 
        "exists": "false" 
    }, 
    "then": { 
        "effect": "deny" 
    } 
}' --mode All 

Policy toewijzen

Je kunt deze policy toepassen op elk scope-niveau: management group, subscriptie of resource group.

Bijvoorbeeld op een resource group met de naam SpecificResource:

az policy assignment create \ 
  --name "allowed-resource-types" \ 
  --policy "allowed-resource-types" \ 
  --scope "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}" 

Als iemand een resource wil deployen die niet op de toegestane lijst staat, blokkeert de policy dit direct.

 

2. Tags erven

De Inherit tags policy helpt je om tags consistent te houden door automatisch tags van een parent (zoals subscriptie of resource group) door te geven aan onderliggende resources.

Dit werkt goed als je subscripties hebt opgesplitst in omgevingen zoals dev, test en prod, en je wilt dat elke resource een vaste Environment tag krijgt.

Resources die eerder zijn uitgerold erven deze tag zodra je de policy toepast op de subscriptie.

Voordelen:

  • Houd tag-waarden consistent binnen omgevingen.
  • Minder handmatig werk en minder kans op fouten.
  • Makkelijker beheer en rapportage.

Na het definiëren wijs je de policy toe aan je subscription of resource group. Resources zonder die tag nemen automatisch de tag van de parent over.

Configuratie:

Deze policy gebruikt de parameter tagName om te bepalen welke tag van de parent wordt overgenomen.

{
    "properties": {
        "displayName": "Inherit a tag from the resource group",
        "mode": "Indexed",
        "description": "Adds or replaces the specified tag and value from the parent resource group when any resource is created or updated. Existing resources can be remediated by triggering a remediation task.",
        "metadata": {
            "category": "Tags"
        },
        "parameters": {
            "tagName": {
                "type": "String",
                "metadata": {
                    "displayName": "Tag Name",
                    "description": "Name of the tag, such as 'environment'"
                }
            }
        },
        "policyRule": {
            "if": {
                "allOf": [
                    {
                        "field": "[concat('tags[', parameters('tagName'), ']')]",
                        "notEquals": "[resourceGroup().tags[parameters('tagName')]]"
                    },
                    {
                        "value": "[resourceGroup().tags[parameters('tagName')]]",
                        "notEquals": ""
                    }
                ]
            },
            "then": {
                "effect": "modify",
                "details": {
                    "roleDefinitionIds": [
                        "/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c"
                    ],
                    "operations": [
                        {
                            "operation": "addOrReplace",
                            "field": "[concat('tags[', parameters('tagName'), ']')]",
                            "value": "[resourceGroup().tags[parameters('tagName')]]"
                        }
                    ]
                }
            }
        }
    }
} 

Wijs de policy toe aan je subscription of management group, vul de tag naam in (zoals environment), en elke resource zonder die tag neemt deze automatisch over van de parent resource group.

Azure Cost Management Whitepaper

Azure Cost Management Whitepaper

Lees meer over tags in onze whitepaper over Azure Cost Management en ontdek hoe je geld kunt besparen in Azure.

Download het nu!

3. Publieke storage accounts uitschakelen (private endpoints verplichten)

Publiek toegankelijke storage accounts zijn vaak een misbruikt beveiligingslek in Azure. Ze zetten de deur open voor datalekken als toegangsgegevens lekken of verkeerd staan ingesteld. Vermijd ze dus altijd.

Met Azure Policy kun je afdwingen dat public access wordt geblokkeerd en dat storage accounts alleen via private endpoints werken. Zo blijft verkeer binnen je VNet en gaat het niet via het internet.

Voordelen:

  • Houdt data privé en beperkt blootstelling aan het internet.
  • Verkleint risico op ongeautoriseerde toegang en foutieve instellingen.
  • Verbetert compliance en governance voor storage resources.

Configuratie: Bicep voorbeeld

resource storageAccount 'Microsoft.Storage/storageAccounts@2023-01-01' = { 
  name: name 
  location: location 
  sku: { 
    name: 'Standard_GRS' 
  } 
  kind: 'StorageV2' 
  properties: { 
    allowBlobPublicAccess: false 
    supportsHttpsTrafficOnly: true 
    minimumTlsVersion: 'TLS1_2' 
    networkAcls: { 
      defaultAction: 'Deny' 
    } 
  } 
} 
Let op:

Deze Bicep-configuratie voorkomt alleen problemen met openbare toegang op het moment van implementatie. Bestaande problemen worden niet gedetecteerd of opgelost. 

Om dit tijdens runtime aan te pakken, gebruik de ingebouwde policy van Microsoft die public access tot storage accounts blokkeert.

 

4. Resources beperken

Met deze policy bepaal je welke types Azure resources mogen worden aangemaakt door een allow-list van toegestane resource types op te stellen. Meestal gaat het om virtual machines (VMs) of storage accounts. Dit helpt om je architectuur te standaardiseren, kosten te beheren en deploys volgens de standaarden van de organisatie te houden.

Voordelen:

  • Houdt compliance met organisatiestandaarden.
  • Voorkomt dure of ongeautoriseerde resource-deploys.

Bijvoorbeeld: je kunt besluiten om geen VMs toe te staan als je overstapt op PaaS-services.

Iaas To Paas

Lees tip: Van IaaS naar PaaS services.

Ontdek hier waarom zoveel bedrijven overstappen van IaaS naar PaaS services.

Lees het artikel!

Het blokkeren van VM-creatie haalt de verleiding weg om ze te deployen en houdt teams gefocust op gemoderniseerde oplossingen.

Configuratie:

az policy definition create --name "allowed-resource-types" --display-name "Allowed Resource Types" --description "This policy restricts the types of resources that can be deployed." --rules '{ 
    "if": { 
        "allOf": [ 
            { 
                "field": "type", 
                "notIn": [ 
                    "Microsoft.Compute/virtualMachines", 
                    "Microsoft.Storage/storageAccounts" 
                ] 
            } 
        ] 
    }, 
    "then": { 
        "effect": "deny" 
    } 
}' --mode All 

Policy toewijzen

Na het definiëren wijs je de policy toe aan een scope: management group, subscriptie of resource group.

Bijvoorbeeld op een resource group met de naam SpecificResource:

az policy assignment create --name "allowed-resource-types" --policy "allowed-resource-types" --scope "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}" 

Probeer je een resource type te deployen dat niet op de lijst staat, dan mislukt dit direct. Dat is zo ontworpen; de policy blokkeert alles buiten je goedgekeurde set.

 

5. Locaties beperken

Ten slotte kun je beperken in welke regio’s resources kunnen worden uitgerold. Dit is handig voor organisaties die te maken hebben met data verblijf, wetgeving of performance (latency). Bijvoorbeeld alleen West Europe toestaan om compliant te blijven en onnodige spreiding te voorkomen.

Deze policy doet het werk: het beperken van Azure regio’s waar resources kunnen worden uitgerold en voorkomen dat iemand per ongeluk of niet-compliant een resource in een andere regio inzet.

Voordelen:

  • Houdt data in goedgekeurde regio’s volgens wet- of regelgeving.
  • Voorkomt per ongeluk deployen in niet-goedgekeurde of dure regio’s.
  • Maakt beheer eenvoudiger en verbetert governance over omgevingen.
az policy definition create --name "allowed-locations" --display-name "Allowed Locations" --description "This policy restricts resource deployment to specified Azure regions." --rules '{ 
    "if": { 
        "not": { 
            "field": "location", 
            "in": [ 
                "eastus", 
                "westeurope" 
            ] 
        } 
    }, 
    "then": { 
        "effect": "deny" 
    } 
}' --mode All 

Na het definiëren wijs je de policy toe aan een scope, zoals een management group, subscription of resource group:

az policy assignment create --name "assign-allowed-locations" --policy "allowed-locations" --scope "/subscriptions/{subscriptionId}" 

Vervang {subscriptionId} door je eigen subscriptie ID. Als iemand probeert een resource te deployen in een niet-toegestane regio, mislukt de deployment.

 

Conclusie

Azure Policy is een krachtig hulpmiddel om je cloud governance te verbeteren en consistente, compliant Azure omgevingen te behouden.

Of je nu je omgeving beveiligt, kosten beheert of compliance wilt houden, Azure Policy geeft controle. Veel omgevingen draaien tientallen tot honderden policies; deze voorbeelden zijn slechts een kleine selectie.

Azure Policy kan ook geautomatiseerde remediatie, compliance en custom policies afhandelen.

Begin met de vijf besproken regels: tags vereisen op resources, tags, erven, publieke storage accounts uitschakelen, en toegang tot resources + bepaalde locaties verbieden. Voor een overzicht van alle policies kun je de ingebouwde policy definities van Microsoft bekijken.

Intercept Sz71249

Neem contact met ons op!

Heb je hulp nodig bij het implementeren van Azure Policy-regels of wil je de beveiliging in Microsoft Azure verbeteren? Intercept kan je helpen de beveiliging van je organisatie te verbeteren. Neem contact met ons op!