Voordat u begint: uw compliance-omgeving instellen
Als architect heb ik de haast gezien die nieuwe regelgeving kan veroorzaken. De EU AI-verordening is niet anders. Nu de belangrijkste verplichtingen voor risicovolle systemen op 2 augustus 2026 van kracht worden, verschuiven engineeringteams van theoretische discussies naar praktische implementatie. Als u AI op Azure implementeert, is dit niet zomaar een juridisch vinkje; het is een technische uitdaging die de juiste tools en een duidelijke strategie vereist.
Mijn doel hier is om u die strategie te geven – een in de praktijk geteste gids over hoe u de native services van Azure kunt gebruiken om aan de kernvereisten van de EU AI-verordening te voldoen. We gaan geen juridische teksten lezen. In plaats daarvan vertalen we de meest kritieke artikelen van de verordening voor risicovolle systemen naar concrete acties die u vandaag nog kunt ondernemen met Azure AI, Azure machine learning en Azure policy. Dit is de blauwdruk die ik mijn eigen klanten geef voor het bouwen van compliant AI-systemen op basis van ontwerp, niet bij toeval.
Om mee te volgen, heeft u een omgeving nodig die klaar is voor Azure-ontwikkeling. We gaan ervan uit dat u bekend bent met de Azure CLI en basisbeheer van resources. Hier is de checklist:
- Azure-abonnement: u heeft een actief abonnement nodig waar u
contributor- ofowner-machtigingen heeft. Hiermee kunt u de benodigde AI-services maken en governancebeleid toewijzen. - Azure CLI: zorg ervoor dat de Azure CLI (versie 2.50.0 of hoger) is geïnstalleerd. U authenticeert zich bij uw account met
az login. - Python-omgeving: ik gebruik Python 3.12 voor dit werk. U moet ook de Azure SDK's voor content safety en machine learning installeren.
- Resourcegroep: we zullen alle resources in een speciale resourcegroep inrichten om alles netjes te houden. Ik gebruik de
westeurope-regio voor alle voorbeelden, zoals standaardpraktijk is voor mijn EU-gebaseerde projecten.
Laten we de installatie achter ons laten. Open uw terminal en voer deze opdrachten uit:
az login
az group create --name rg-euai-compliance-westeurope --location westeurope
pip install azure-ai-contentsafety
pip install azure-ai-ml==1.20.0
pip install azure-identity
Deze opdrachten loggen u in, creëren onze resourcegroep en installeren de benodigde Python-bibliotheken. Ik heb de azure-ai-ml-bibliotheek vastgezet op een recente stabiele versie om ervoor te zorgen dat onze voorbeelden reproduceerbaar zijn.
**Bouwt u op foundry in plaats van klassiek azure ML? gebruik aiprojectclient voor projectresources en -implementaties; behoud mlclient voor werkruimtemodellen en het rai-dashboard in azure machine learning.
Stap 1: classificeer uw systeem – bent u ‘risicovol’?
De eerste en meest kritieke stap is classificatie. De EU AI-verordening is geen one-size-fits-all regelgeving; de verplichtingen schalen met risico. Voordat u één regel compliance-code schrijft, moet u bepalen of uw AI-systeem in de categorie ‘risicovol’ valt.
Met ingang van de handhavingsdatum in 2026 wordt een AI-systeem over het algemeen als risicovol beschouwd als het wordt gebruikt in sectoren die zijn opgenomen in bijlage III, zoals:
- Kritieke infrastructuur: systemen die water-, gas- of elektriciteitsnetwerken aansturen.
- Werkgelegenheid & werknemersbeheer: AI gebruikt voor CV-sortering, prestatie-evaluatie of promotiebeslissingen.
- Essentiële diensten: kredietscoresmodellen of systemen die de geschiktheid voor publieke voordelen bepalen.
- Rechtshandhaving: AI voor risicobeoordeling of polygraafachtige analyse.
- Migratie en grenscontrole: systemen die worden gebruikt om het veiligheidsrisico van een individu te beoordelen.
Als uw op Azure gebaseerde applicatie een van deze functies uitvoert voor gebruikers in de EU, is deze vrijwel zeker risicovol. Deze classificatie veroorzaakt een cascade van vereisten onder de verordening, inclusief robuust risicobeheer (artikel 9), gegevensgovernance (artikel 10), transparantie (artikel 13) en menselijk toezicht (artikel 14).
AI 103 examen tip: het examen test uw vermogen om een ai-systeem te classificeren op basis van een scenario. Onthoud de vier risiconiveaus (onaanvaardbaar, hoog, beperkt, minimaal) en wees in staat om ten minste drie voorbeelden van risicovolle systemen uit bijlage iii te identificeren.
Stap 2: verboden praktijken blokkeren met Azure AI content safety
De EU AI-verordening verbiedt ronduit bepaalde 'onaanvaardbare risico'-AI-praktijken. Dit omvat systemen die zijn ontworpen voor sociale scoring door overheidsinstanties of die subliminale technieken gebruiken om gedrag te manipuleren en schade te veroorzaken. Hoewel de meeste organisaties niet van plan zijn dergelijke systemen te bouwen, kunnen generatieve AI-prompts onbedoeld leiden tot modellen die uitvoer produceren die dicht bij deze verboden toepassingen komen.
Dit is waar ik Azure AI content safety gebruik. Het is een praktische, API-gestuurde manier om een eerste verdedigingslinie op te bouwen. We kunnen het gebruiken om zowel gebruikersprompts als modelreacties te scannen op ingebouwde schadecategorieën en, belangrijker nog, aangepaste blokkeerlijsten die zijn afgestemd op de taal van de EU AI-verordening.
Laten we eerst een content safety-resource inrichten:
az cognitiveservices account create \
--name eu-ai-content-safety-westeurope \
--resource-group rg-euai-compliance-westeurope \
--kind ContentSafety \
--sku S0 \
--location westeurope \
--yes
Vervolgens hebben we het eindpunt en de API-sleutel nodig. Voer deze opdrachten uit om ze als omgevingsvariabelen te exporteren:
export CONTENT_SAFETY_ENDPOINT=$(az cognitiveservices account show --name eu-ai-content-safety-westeurope --resource-group rg-euai-compliance-westeurope --query properties.endpoint -o tsv)
export CONTENT_SAFETY_KEY=$(az cognitiveservices account keys list --name eu-ai-content-safety-westeurope --resource-group rg-euai-compliance-westeurope --query key1 -o tsv)
Voordat u het Python-script uitvoert, moet u naar de Azure Portal gaan, uw nieuwe eu-ai-content-safety-westeurope-resource vinden en een tekstblokkeerlijst maken met de naam eu-ai-prohibited. Voeg daarin termen toe die betrekking hebben op verboden praktijken, zoals social credit score, citizen rating en manipulate behavior. Dit is een cruciale handmatige stap.
Hier is nu een Python-script (check_prompt.py) dat de SDK gebruikt om prompts te controleren aan de hand van onze aangepaste lijst.
# check_prompt.py
import os
from azure.ai.contentsafety import ContentSafetyClient
from azure.core.credentials import AzureKeyCredential
from azure.ai.contentsafety.models import AnalyzeTextOptions
from azure.core.exceptions import HttpResponseError
def analyze_prompt_for_prohibited_content(prompt_text):
"""
Analyzes a given text prompt against Azure AI Content Safety rules and a custom blocklist.
"""
try:
key = os.environ.get("CONTENT_SAFETY_KEY")
endpoint = os.environ.get("CONTENT_SAFETY_ENDPOINT")
if not key or not endpoint:
print("Error: CONTENT_SAFETY_KEY and CONTENT_SAFETY_ENDPOINT environment variables must be set.")
return
client = ContentSafetyClient(endpoint, AzureKeyCredential(key))
request = AnalyzeTextOptions(
text=prompt_text,
blocklist_names=["eu-ai-prohibited"],
halt_on_blocklist_hit=False
)
print(f"--- Analyzing prompt: '{prompt_text}' ---")
response = client.analyze_text(request)
if response.blocklists_match:
print("\n[!] Prohibited Content Detected (Blocklist Match):")
for match in response.blocklists_match:
print(f" - Blocklist: '{match.blocklist_name}', Matched Text: '{match.blocklist_item_text}'")
else:
print("\n[-] No custom blocklist matches found.")
print("\n[i] Built-in Harm Category Analysis:")
for category_analysis in response.categories_analysis:
print(f" - Category: {category_analysis.category}, Severity: {category_analysis.severity}")
print("--- Analysis voltooid ---")
except HttpResponseError as e:
print("\nAnalyze text failed:")
if e.error:
print(f"Error code: {e.error.code}, Message: {e.error.message}")
raise
except Exception as e:
print(f"An unexpected error occurred: {e}")
if __name__ == "__main__":
prohibited_prompt = "Generate a user profile assessment based on their online activity to calculate their citizen rating."
analyze_prompt_for_prohibited_content(prohibited_prompt)
print("\n" + "="*50 + "\n")
benign_prompt = "Write a short story about a trip to the mountains."
analyze_prompt_for_prohibited_content(benign_prompt)
Voer het uit met python check_prompt.py. De uitvoer toont duidelijk dat onze eerste prompt wordt gemarkeerd omdat deze citizen rating bevatte uit onze aangepaste blokkeerlijst. Dit is een eenvoudig maar krachtig mechanisme voor het afdwingen van vangrails op applicatielaag.
Stap 3: de Microsoft RAI-standaard koppelen aan de EU AI-verordening artikelen
Microsoft begon niet na te denken over verantwoorde AI toen de EU AI-verordening werd aangenomen. Hun Responsible AI (RAI) Standard v2 biedt een volwassen framework dat, naar mijn ervaring, verrassend goed aansluit bij de technische vereisten van de verordening. De sleutel is weten welke Azure-service welk principe implementeert.
Hier is hoe ik de kernartikelen voor risicovolle systemen koppel aan Azure-tools:
-
Artikel 9 (risicobeheer): dit vereist een continu risicobeheerproces. Het Microsoft RAI-principe van verantwoordelijkheid sluit hierop aan. Uw tool: het responsible AI dashboard in Azure machine learning. Met name de foutenanalysecomponent helpt u bij het identificeren en begrijpen van cohorten waar uw model faalt, wat een primaire input is voor uw risicobeheerdocumentatie.
-
Artikel 10 (gegevens & gegevensgovernance): dit vereist trainingsgegevens van hoge kwaliteit, vrij van vooroordelen. Dit komt overeen met het RAI-principe van eerlijkheid. Uw tools: nogmaals, het RAI-dashboard. Met de functie voor gegevensanalyse kunt u datasetstatistieken verkennen om potentiële bronnen van vooroordelen te ontdekken. Voor het documenteren van gegevensherkomst en -lijn — een belangrijke governancevereiste — vertrouw ik op Azure purview om mijn gegevensbronnen automatisch te scannen en in kaart te brengen.
-
Artikel 13 (transparantie): uw gebruikers moeten weten dat ze met een AI communiceren, en risicovolle systemen vereisen duidelijke documentatie. Dit is het RAI-principe van transparantie. Uw tool: Azure ML model cards. Een modelkaart is het perfecte middel voor het maken van de gebruikersgerichte en technische documentatie die artikel 13 vereist. Het dient als een centrale, versiebeheerde thuisbasis voor het beoogde gebruik, de beperkingen en de prestatiemetrieken van een model.
-
Artikel 17 (registratie): risicovolle systemen moeten automatisch gebeurtenissen loggen om traceerbaarheid te waarborgen. Dit komt overeen met de RAI-principes van betrouwbaarheid & veiligheid. Uw tool: Azure monitor en application insights. Door uw model-endpoints te instrumenteren om logs en metrische gegevens naar Azure monitor te sturen, creëert u een controleerbaar spoor van elke voorspelling, wat essentieel is voor monitoring na implementatie en incidentonderzoek.
Stap 4: bijlage IV technische documentatie genereren met Azure ML
Voor risicovolle systemen vereist bijlage IV van de verordening uitgebreide technische documentatie. Dit zijn niet alleen API-docs; het is een uitgebreid dossier dat de architectuur, gegevens, prestaties en risicobeperkende maatregelen van het AI-systeem omvat. Dit handmatig samenstellen is een nachtmerrie. Mijn aanpak is om zoveel mogelijk te automatiseren met de tools die we al gebruiken in onze MLOps-workflow.
Uw Azure ML model card is de basis. U kunt deze kaarten programmatisch maken en bijwerken als onderdeel van uw CI/CD-pipeline. Hier is een conceptueel voorbeeld van het invullen van een modelkaart met relevante informatie voor bijlage IV met behulp van de Azure ML SDK voor Python:
# Conceptual snippet for populating a model card
from azure.ai.ml import MLClient
from azure.ai.ml.entities import Model
from azure.identity import DefaultAzureCredential
# Assuming you have your MLClient configured
ml_client = MLClient(DefaultAzureCredential()) # NOTE: requires subscription_id, resource_group_name, and workspace_name
# Get a registered model
model_name = "credit-risk-predictor"
model_version = "1"
model = ml_client.models.get(model_name, version=model_version)
# Populate Annex IV-style properties in the model card
model.tags["eu_ai_act_intended_use"] = "To assist human loan officers in assessing credit default risk. Not for automated decision-making."
model.tags["eu_ai_act_human_oversight"] = "All model outputs are reviewed by a certified loan officer before a final decision is made."
model.properties["eu_ai_act_risk_mitigations"] = "Model fairness assessed via demographic parity; protected groups monitored for performance degradation."
model.properties["performance_metrics_fairness"] = "{'demographic_parity_difference': 0.05, 'equalized_odds_difference': 0.07}"
# Update the model in the registry with the new documentation
ml_client.models.create_or_update(model)
print(f"Modelkaart voor {model_name}:{model_version} bijgewerkt met bijlage IV-documentatie.")
Naast de modelkaart kunt u het gehele responsible AI dashboard exporteren als PDF. Ik instrueer mijn teams om deze PDF als artefact bij de build die het model heeft geproduceerd te voegen. Dit geeft auditors een momentopname van de eerlijkheid, verklaarbaarheid en foutenanalyse van het model, wat direct voldoet aan de vereisten van bijlage IV voor test- en validatieresultaten.
Behandel documentatie niet als een bijzaak
Te veel teams komen aan het einde van een project en proberen dan hun compliancedocumentatie achteraf te construeren. Het werkt nooit. Door het genereren van modelkaarten en RAI-dashboardexports te integreren in uw MLOps-pijplijn, creëert u 'compliance as code'. De documentatie wordt een versiebeheerde, herhaalbare uitvoer van uw ontwikkelingsproces, geen hectische, last-minute taak.
Stap 5: continue governance afdwingen met Azure policy
Tot slot is compliance geen eenmalige setup; het is een staat die u moet behouden. Dit is waar Azure policy uw meest waardevolle bondgenoot wordt. Met policy kunt u vangrails afdwingen in uw Azure-abonnementen, waardoor niet-compliante configuraties worden voorkomen voordat ze optreden.
Voor AI-governance biedt Microsoft verschillende ingebouwde beleidsinitiatieven. Mijn startpunt voor elk nieuw AI-project is het initiatief configureer Azure machine learning-werkruimten met best practices. Het bundelt verschillende cruciale beleidsregels, waaronder:
Azure machine learning compute-instanties moeten opnieuw worden gemaakt om de nieuwste software-updates te krijgen.(Betreft operationele robuustheid)Azure machine learning-werkruimten moeten worden versleuteld met een door de klant beheerde sleutel.(Verbetert gegevensbeveiliging)Azure machine learning-werkruimten moeten een privékoppeling gebruiken.(Isoleert uw werkruimte van het openbare internet)
Het toewijzen van dit initiatief is eenvoudig met de Azure CLI. U past het toe op een abonnements- of resourcegroepbereik.
# Get the ID for the initiative
INITIATIVE_ID="/providers/Microsoft.Authorization/policySetDefinitions/50a41d46-5290-4591-995b-0640a3407914"
# Get the scope (your resource group)
RG_SCOPE=$(az group show --name rg-euai-compliance-westeurope --query id --output tsv)
# Assign the policy initiative
az policy assignment create \
--name "AML-Best-Practices-for-EU-AI-Act" \
--display-name "Assign AML Best Practices for EU AI Act Compliance" \
--scope $RG_SCOPE \
--policy-set-definition $INITIATIVE_ID
Na toewijzing begint Azure policy uw resources te controleren. Belangrijker nog, beleidsregels met deployifnotexists- of modify-effecten zullen niet-compliante resources automatisch herstellen, waardoor uw governancestandaarden zonder handmatige tussenkomst worden afgedwongen.
AI 103 examen tip: voor het examen moet u begrijpen dat azure policy het belangrijkste hulpmiddel is voor het implementeren van governancecontroles op schaal. Wees voorbereid om te identificeren welke beleidsregels zouden helpen voldoen aan de eisen van de eu ai-verordening met betrekking tot beveiliging, logging en operationele veerkracht.
Conclusie
Navigeren door de EU AI-verordening op Azure hoeft geen oefening in juridische dubbelzinnigheid te zijn. Door de artikelen van de verordening te vertalen naar een duidelijk, vierstaps engineeringproces — classificeren, filteren, documenteren en besturen — kunnen we een praktisch en controleerbaar complianceframework bouwen.
- Classificeer uw AI-systeem om te bepalen of het risicovol is. Dit bepaalt alles wat volgt.
- Filter prompts en reacties met Azure AI content safety om vangrails op te bouwen tegen verboden praktijken.
- Documenteer alles programmatisch met Azure ML model cards en RAI-dashboardexports om aan bijlage IV te voldoen.
- Bestuur uw omgeving continu met Azure policy om veiligheids- en operationele best practices af te dwingen.
Mijn aanbeveling is om te beginnen met governance. Voordat uw teams zelfs beginnen met het ontwikkelen van het volgende risicovolle AI-systeem, wijst u de relevante Azure policy-initiatieven toe aan hun abonnementen. Het creëren van een compliant-by-default omgeving is veel effectiever dan het achteraf proberen aan te brengen van compliance. Uw eerste concrete stap moet zijn om de policy assignment-opdracht uit stap 5 uit te voeren tegen uw primaire AI-ontwikkelingsresourcegroep en het initiële compliancerapport te beoordelen. Dit geeft u een onmiddellijke basis van waar u staat en wat moet worden opgelost.