Waarom Azure Governance beter werkt met Policy-as-Code en NIS2-context

Group classes
  • Gebruik Azure Policy als controlelaag, maar beheer beleid bij voorkeur als code.
  • Vervang Azure Blueprints door landing-zonepatronen en moderne Infrastructure-as-Code.
  • Behandel identiteit, logging en kostenbeheer als vaste onderdelen van governance.
  • Koppel technische controls aan GDPR, NIS2 en sectorgebonden verplichtingen zonder ze als juridisch advies te presenteren.

Azure Governance is het geheel van mechanismen waarmee organisaties cloudomgevingen consistent, veilig, controleerbaar en kostenefficiënt beheren. Voor Belgische en Europese organisaties betekent dat meer dan resourcegroepen en toegangsrollen: governance moet ook aantonen wie toegang had, welke configuraties zijn afgedwongen, waar data wordt verwerkt en hoe afwijkingen worden opgevolgd.

De kern van moderne Azure Governance ligt in een combinatie van beleid, identiteit, monitoring, kostensturing en herhaalbare implementatiepatronen. Microsoft beschrijft het governancegebied zelf via Azure Governance, maar de praktische waarde ontstaat pas wanneer platformteams die mogelijkheden vertalen naar duidelijke guardrails voor ontwikkelteams, securityteams en compliancefuncties.

Update juli 2026: wat is veranderd in Azure Governance

Een belangrijk verschil met oudere Azure-governanceontwerpen is dat Azure Blueprints niet langer de voorkeursroute is voor nieuwe governance-implementaties. De documentatie blijft relevant voor historische omgevingen en migratiecontext, maar nieuwe ontwerpen horen eerder thuis in Azure Landing Zone-patronen, het Cloud Adoption Framework en Infrastructure-as-Code met Bicep, ARM Template Specs, Deployment Stacks of Terraform.

Die verschuiving is meer dan een productwijziging. Governance wordt daardoor nauwer verbonden met software delivery: beleidsdefinities, roltoewijzingen, netwerkregels en logginginstellingen worden versieerbaar, peer-reviewed en uitrolbaar via CI/CD. Dat voorkomt dat governance een reeks handmatige portalinstellingen wordt die moeilijk te auditen zijn.

Ook productnamen en verantwoordelijkheden zijn veranderd. Azure Active Directory heet Microsoft Entra ID, Azure Security Center is opgegaan in Microsoft Defender for Cloud, en compliance wordt steeds vaker beoordeeld op bewijsbaarheid in plaats van op intentie. Een policy die alleen in een PowerPoint staat, helpt weinig bij een audit; een policydefinitie in Git met deploymenthistoriek, exemptions en logs levert veel sterker bewijs.

Governance begint met management groups en duidelijke eigenaarschap

Een schaalbare Azure-omgeving begint meestal niet op het niveau van een individuele subscription, maar bij management groups. Daarmee kunnen organisaties beleid, roltoewijzingen en basisconfiguraties toepassen over meerdere subscriptions heen. Een veelgebruikte indeling scheidt platformfuncties, zoals connectiviteit, identiteit en management, van workload- of landing-zoneomgevingen.

Die scheiding voorkomt dat één workloadteam impliciet controle krijgt over gedeelde platformcomponenten. In de praktijk is dit een terugkerende valkuil: subscriptions worden snel aangemaakt voor projecten, maar zonder hiërarchie, namingconventies en eigenaarschap groeit de omgeving sneller dan het governanceproces kan volgen. Het gevolg is dat policies ongelijk worden toegepast, logs verschillen per team en kosten moeilijk toe te wijzen zijn.

Governance hoeft daarbij geen zwaar centraal model te worden. Het doel is meestal een gecontroleerde vorm van selfservice: teams mogen snel deployen, zolang ze binnen vooraf bepaalde grenzen blijven. Voorbeelden zijn toegestane regio’s, verplichte tags, standaard logging, versleuteling, netwerksegmentatie en beperkingen op publieke endpoints.

Azure Policy als controlelaag, niet als losse verzameling regels

Azure Policy is de belangrijkste service voor het afdwingen en controleren van configuratieregels in Azure. Een policy kan bijvoorbeeld vereisen dat resources alleen in bepaalde regio’s worden aangemaakt, dat opslagaccounts versleuteling gebruiken, dat tags verplicht zijn of dat diagnostische instellingen naar een centrale Log Analytics-werkruimte sturen.

Het verschil tussen een volwassen en een broze policy-implementatie zit meestal in beheerdiscipline. Veel organisaties maken te snel custom policies, zonder versiebeheer, testomgeving of duidelijke eigenaar. Dat leidt tot overlappende regels, uitzonderingen die blijven bestaan en ontwikkelteams die policyfouten pas ontdekken wanneer een deployment blokkeert.

Een praktischer uitgangspunt is om ingebouwde initiatieven te gebruiken waar ze de behoefte dekken. Initiatieven zoals Azure Security Benchmark of NIST SP 800-53 groeperen meerdere controles en helpen governance minder versnipperd te organiseren. Custom policies zijn vooral zinvol voor unieke bedrijfsregels, zoals een verplichte tagging-taxonomie, sectorgebonden regionale beperkingen of interne namingstandaarden. Zulke policies horen in Git, met semantische versies, release-notities en een duidelijke procedure voor exemptions.

Een exemption is geen administratieve voetnoot. Ze moet een reden, eigenaar, scope en vervaldatum hebben. Zonder vervaldatum worden uitzonderingen vaak permanente achterdeuren in het governanceproces. Een volwassen pipeline kan exemptions apart versioneren en periodiek rapporteren welke afwijkingen nog openstaan.

Policy-effecten verdienen eveneens aandacht. Een nieuwe regel meteen als deny uitrollen kan productieteams blokkeren en incidenten veroorzaken. Veel organisaties beginnen daarom met audit, meten de impact, lossen de grootste afwijkingen op en schakelen daarna pas over naar deny of deployIfNotExists. Die gefaseerde aanpak maakt governance betrouwbaarder en beter uitlegbaar.

Onderstaand voorbeeld toont een eenvoudige custom policy die vereist dat resources een tag voor kostenplaats hebben. Dit soort regel is geschikt als startpunt voor FinOps en accountability, mits de toegestane waarden en uitzonderingen elders beheerd worden.

Example — Azure Policy voor verplichte kostenplaats-tag

{
  "properties": {
    "displayName": "Require costCenter tag on resources",
    "policyType": "Custom",
    "mode": "Indexed",
    "description": "Requires a costCenter tag so resources can be mapped to financial ownership.",
    "metadata": {
      "category": "Governance",
      "version": "1.0.0"
    },
    "parameters": {
      "tagName": {
        "type": "String",
        "defaultValue": "costCenter"
      }
    },
    "policyRule": {
      "if": {
        "field": "[concat('tags[', parameters('tagName'), ']')]",
        "exists": "false"
      },
      "then": {
        "effect": "deny"
      }
    }
  }
}

De policy maakt governance concreet: zonder kostenplaats-tag kan een resource niet worden aangemaakt. In een productieomgeving hoort dit bestand in een repository, met review door platform- en FinOps-teams, en met een aparte testfase waarin het effect eerst op audit staat.

Identity-first governance met Microsoft Entra ID en RBAC

Governance faalt vaak niet omdat er te weinig beleid is, maar omdat te veel mensen te ruime rechten hebben. Azure gebruikt Role-Based Access Control om toegang tot resources te beheren. De effectiviteit daarvan hangt af van scope, rolkeuze en lifecyclebeheer.

Roltoewijzingen in Azure moeten zo dicht mogelijk bij de werkelijke taak liggen. Een Owner-rol op subscriptionniveau is zelden de juiste standaard voor een projectteam, omdat die rechten ook rolbeheer en brede wijzigingen mogelijk maken. Contributor, Reader, gespecialiseerde ingebouwde rollen en beheerde identiteiten zijn vaak veiliger en beter te auditen.

Microsoft Entra ID vormt de identiteitslaag voor die governance. Conditional Access kan toegang afhankelijk maken van risico, apparaatstatus, locatie of sterke authenticatie. Privileged Identity Management helpt permanente beheerdersrechten te vervangen door tijdelijke, goedgekeurde toegang. Access Reviews ondersteunen periodieke controle op groepslidmaatschap en externe toegang.

Voor Belgische organisaties die naar NIS2 kijken, is deze identiteitslaag bijzonder relevant. NIS2 legt nadruk op risicobeheer, beveiliging van toegang, incidentrespons en aantoonbare maatregelen. Entra PIM voor privileged access, Conditional Access met MFA, Defender for Cloud voor control-gaps, Activity Log en Log Analytics voor audit, en bewuste regioselectie voor dataopslag zijn technische bouwstenen die helpen om zulke principes aantoonbaar te maken. De precieze juridische interpretatie blijft afhankelijk van sector, rol in de keten en nationale omzetting.

Compliance in Belgische en Europese context

Compliance in Azure vraagt om een vertaling van juridische en normatieve eisen naar technische controls. Voor GDPR betekent dit onder meer dat organisaties moeten weten waar persoonsgegevens worden verwerkt, hoe toegang wordt beperkt, hoe logging wordt gebruikt, en of een Data Protection Impact Assessment nodig is. De tekst van de GDPR blijft daarbij de formele bron; in België spelen ook de Gegevensbeschermingsautoriteit en Autorité de protection des données een rol in toezicht en interpretatie.

Dataresidentie verdient nuance. Het is niet voldoende om “Europa” als abstracte keuze te zien. Organisaties moeten regioselectie, replicatie, back-up, supporttoegang en gebruikte SaaS- of PaaS-diensten beoordelen. Noord-Europa en West-Europa zijn vaak relevante Azure-regio’s voor Europese workloads, maar de juiste keuze hangt af van beschikbaarheidseisen, latency, dataclassificatie en contractuele verplichtingen.

Microsoft Defender for Cloud biedt regulatory compliance-overzichten en aanbevelingen die helpen om control-gaps zichtbaar te maken. De marketplacevermelding van Microsoft Defender for Cloud verwijst nog naar de historische Security Center-benaming, maar de actuele operationele naam is Defender for Cloud. In de praktijk gebruikt een securityteam deze inzichten als input voor remediatie, risicoregisters en auditvoorbereiding.

Internationale standaarden kunnen naast wettelijke eisen bestaan. Sommige organisaties moeten bijvoorbeeld rekening houden met HIPAA wanneer ze met Amerikaanse zorgdata werken, terwijl ISO/IEC 27001 vaker als managementsysteem voor informatiebeveiliging wordt gebruikt. Azure-governance vervangt zulke verplichtingen niet; het helpt om technische maatregelen consistent te implementeren en bewijs te verzamelen.

Monitoring, audit en bewijsvoering

Governance zonder logging is moeilijk te bewijzen. Azure Monitor verzamelt metrische gegevens en logbronnen voor resources en toepassingen. Log Analytics maakt analyse mogelijk via centrale werkruimten, queries en dashboards.

Het Azure Activity Log is vooral belangrijk voor governance omdat het wijzigingen op het control plane registreert. Het laat zien wie een resource heeft aangemaakt, gewijzigd of verwijderd, en welke beleids- of autorisatiegebeurtenissen daarbij horen. Voor auditdoeleinden moet een organisatie bepalen hoe lang deze gegevens bewaard worden, wie ze mag lezen en of export naar storage of SIEM nodig is.

Bij NIS2- en GDPR-gerelateerde controles is retentie vaak een ontwerpbeslissing, geen technische bijzaak. Langere retentie in Log Analytics, export naar opslag met immutability, en integratie met incidentresponsprocessen kunnen helpen om onderzoek achteraf mogelijk te maken. Tegelijk moeten logginggegevens zelf beschermd worden, omdat logs gevoelige informatie over gebruikers, systemen en incidenten kunnen bevatten.

Netwerk- en gegevensbescherming als guardrails

Governance omvat ook basiskeuzes rond versleuteling, netwerktoegang en resourceblootstelling. Azure biedt documentatie over versleuteling in Azure, waaronder bescherming van data in rust en tijdens transport. Voor veel organisaties is de vraag niet of versleuteling gebruikt wordt, maar wie sleutels beheert, hoe toegang tot sleutelkluizen wordt geregeld en hoe uitzonderingen worden gedocumenteerd.

Netwerkbeveiliging vraagt dezelfde discipline. Network security groups kunnen verkeer naar subnetten en netwerkinterfaces beperken, maar ze zijn geen volledige segmentatiestrategie op zichzelf. Governance moet bepalen welke workloads publiek bereikbaar mogen zijn, waar private endpoints verplicht zijn, en welke logging nodig is voor netwerkflows en beveiligingsonderzoek.

Een veelvoorkomende implementatiefout is dat teams netwerkregels per project oplossen zonder platformrichtlijn. Daardoor ontstaan uitzonderingen die later moeilijk te beheren zijn. Beter is een platformpatroon waarin connectiviteit, DNS, private access, centrale logging en toegestane ingressscenario’s vooraf zijn uitgewerkt.

FinOps-governance: tags, budgets en kostenbewijs

Kostenbeheer is een volwaardig governancegebied. Zonder consistente tags wordt het moeilijk om uitgaven toe te wijzen aan producten, omgevingen, teams of kostenplaatsen. Een praktische tagging-taxonomie bevat doorgaans velden zoals costCenter, product, environment, owner, dataClassification en businessCriticality.

Tags moeten echter niet worden ontworpen als een onbeperkt formulier. Te veel verplichte tags verlagen de naleving en maken automatisering kwetsbaar. De betere aanpak is een kleine set verplichte tags, aangevuld met optionele tags voor teams die meer detail nodig hebben. Azure Policy kan de verplichte tags afdwingen, terwijl Cost Management-exports en budget alerts helpen om afwijkingen zichtbaar te maken op platform- en landing-zoneniveau.

Een volwassen budgetproces volgt meestal een eenvoudig patroon: subscriptions krijgen een eigenaar en budget, afwijkingen worden via alerts gemeld, cost anomalies worden onderzocht, en maandelijkse exports worden gebruikt voor rapportage en trendanalyse. Governance gaat hier niet om bezuinigen op zichzelf, maar om voorspelbaarheid en verantwoordelijkheid.

Een realistisch implementatiescenario

Een Belgisch platformteam dat Azure wil opschalen, kan beginnen met één management group-structuur voor platform en workloads. Het team definieert eerst verplichte logging, toegestane regio’s, basistags en RBAC-richtlijnen. Daarna worden policies als code opgeslagen in Git en uitgerold naar een testomgeving.

In de eerste fase staan nieuwe policies op audit, zodat teams zien welke resources niet voldoen zonder dat deployments direct mislukken. Na enkele sprints worden de meest voorkomende afwijkingen opgelost, zoals ontbrekende tags, publiek toegankelijke opslag of ontbrekende diagnostische instellingen. Pas daarna verschuiven specifieke policies naar deny of deployIfNotExists.

Parallel beperkt het team permanente Owner-rechten, activeert het PIM voor beheerders, stelt het Conditional Access in voor gevoelige beheerportals en configureert het centrale logging. Defender for Cloud wordt gebruikt om control-gaps te prioriteren. De compliance officer krijgt geen beheerrechten op workloads, maar wel rapportage en auditinzichten, zodat functiescheiding behouden blijft.

Deze aanpak voorkomt een grote governance-omslag ineens. Ze maakt beleid meetbaar, geeft teams tijd om hun deployments aan te passen en levert tegelijk bewijs op voor interne controle, NIS2-voorbereiding en GDPR-verantwoording.

Valkuilen die Azure Governance verzwakken

De meest hardnekkige problemen ontstaan zelden door een gebrek aan Azure-functies. Ze ontstaan door inconsistent gebruik ervan. Te veel custom policies zonder versiebeheer, te brede Owner-rollen, exemptions zonder einddatum, ontbrekende management groups en een taggingmodel dat niemand onderhoudt, maken governance minder betrouwbaar.

Een tweede valkuil is compliance verwarren met dashboards. Een groen control-overzicht in Defender for Cloud is nuttig, maar het verklaart niet automatisch alle juridische, contractuele of sectorspecifieke verplichtingen. Dashboards moeten gekoppeld worden aan risico-eigenaars, remediatieplannen en besluitvorming.

Een derde valkuil is governance pas toevoegen nadat workloads al op schaal draaien. Dan wordt beleid ervaren als rem op delivery. Wanneer guardrails vanaf de landing zone aanwezig zijn, kunnen ontwikkelteams sneller werken omdat de grenzen duidelijk zijn.

Vaardigheden opbouwen voor duurzame Azure Governance

Azure Governance vraagt om samenwerking tussen cloudarchitectuur, security, identity, operations, finance en compliance. De technische componenten zijn belangrijk, maar de werkelijke uitdaging ligt in het vertalen van risico’s naar implementeerbare controls die teams begrijpen en onderhouden.

Een praktische leerroute richt zich daarom op Azure Policy, RBAC, Microsoft Entra ID, Defender for Cloud, monitoring, Infrastructure-as-Code en kostenbeheer. Wie deze onderwerpen in samenhang leert, kan betere beslissingen nemen over scope, uitzonderingen, automatisering en auditbaarheid. Readynez biedt Microsoft-training via Microsoft-cursussen voor organisaties die deze kennis gestructureerd willen opbouwen.

De belangrijkste stap is klein genoeg beginnen om governance werkbaar te houden, maar formeel genoeg om schaal aan te kunnen. Een beperkt aantal goed beheerde policies, duidelijke rolmodellen, centrale logging en bruikbare tags leveren vaak meer waarde dan een groot governanceprogramma dat niemand consequent toepast.

Related resources

A group of people discussing the latest Microsoft Azure news

Unlimited Microsoft Training

Krijg onbeperkte toegang tot ALLE LIVE Microsoft-cursussen onder leiding van een instructeur die u wilt - allemaal voor de prijs van minder dan één cursus. 

  • 60+ LIVE cursussen onder leiding van een instructeur
  • Geld-terug-garantie
  • Toegang tot 50+ doorgewinterde instructeurs
  • 50.000+ IT-professionals opgeleid

Basket

{{item.CourseTitle}}

Price: {{item.ItemPriceExVatFormatted}} {{item.Currency}}