KB-currency refresh (high priority, 2026-06-19) via /architect:kb-update. 49 high-prioritets governance/security/monitoring-filer re-verifisert mot Microsoft Learn (MCP) — delegert til 8 parallelle Opus-subagenter gruppert etter delt kilde, verifisert i hovedkontekst (diff-review + tester). Hovedendringer (faktuelle korreksjoner + currency): - MITRE ATLAS-IDer korrigert (supply-chain): AML.T0050 -> AML.T0018.000 (Poison AI Model); AML.T0020 = Poison Training Data; T1195 Supply Chain Compromise. Gamle IDer var utdaterte (verifisert mot MCSB v2 AI-1). - OTel-sampling presisert (distributed-tracing): adaptive sampling = klassisk App Insights SDK; OTel-distroen sampler IKKE by default (fixed-rate/ rate-limited maa konfigureres); Functions parent-based sampling er default. - MCSB v2 AI-kontroller AI-1 -> AI-7 (risk-taxonomy three-pillar, scoring- framework, rubrics, red-team, adversarial); Defender for Cloud AI threat protection + AI-SPM (GA). - AI gateway (APIM) multi-provider: Anthropic Messages API v2-tiers, Google Vertex, unified model API (preview), MCP/A2A, Foundry-integrasjon; eksakte policy-navn (llm-emit-token-metric maks 5 dims, llm-semantic-cache-*, score-threshold = avstand, MS-eks. 0.15). - Purview Enterprise AI apps inkl. Anthropic Claude (Enterprise) + ChatGPT Enterprise; Security Dashboard for AI (Agent 365-inventar, MCP-servere, tredjepartsmodeller; Security Reader minimumsrolle). - Entra Agent ID: CA-lisenskrav (Entra ID P1/P2 + Agent 365), CA-scoping per tilgangsmoenster (on-behalf-of/app-only/agent-as-user), CA-grenser, connector-permissions som API-permissions. - Copilot DLP: Block SITs in web search (GA, Performing Web Searches) + Block external email (preview) som prompt injection-vern. - Azure AI Language PII: tre feature-typer, GA-API 2026-05-01; NOIdentityNumber bekreftet dedikert kategori for norske foedselsnummer. - Foundry Tools-rename forsterket paa tvers; alle 49 Last updated -> 2026-06-19. Discovery: 500 kandidater (alle Databricks-stoey) -> kun registry-kandidater, ingen nye skills/-filer -> 389-telling uendret. validate 239 PASS, kb-integrity 115/115 (262 orphan-warnings uendret), gitleaks clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01REiKFhP4w6xGXXqWKpPCJJ
18 KiB
Microsoft Purview Data Governance
Last updated: 2026-06-19 Status: GA Category: Data Engineering for AI
Introduksjon
Microsoft Purview er Microsofts samlete plattform for datastyring, risikohåndtering og compliance. For AI-løsninger er Purview avgjørende fordi det gir oversikt over hvor sensitiv data befinner seg, hvordan data flyter gjennom organisasjonen (lineage), og hvorvidt datakvaliteten er tilstrekkelig for å trene pålitelige modeller. Uten god datastyring kan AI-modeller forsterke bias, bryte personvernregler eller produsere upålitelige prediksjoner.
For norsk offentlig sektor er datahersking (data governance) regulert gjennom Forvaltningsloven, Personopplysningsloven (GDPR), og Digdir-prinsipper for informasjonsforvaltning. Purview tilbyr verktøy for automatisk klassifisering av personopplysninger, sensitivitetsmerking, og DPIA-støtte som direkte adresserer disse kravene.
Denne referansen dekker implementering av Purview-katalog, dataklassifisering, lineage-sporing på tvers av Fabric, policy-håndhevelse og compliance-auditing for AI-datapipelines.
Purview Catalog and Asset Registration
Microsoft Purview Unified Catalog
Purview Unified Catalog er den sentrale opplevelsen for å oppdage, utforske og styre data og analytiske artefakter på tvers av organisasjonen.
| Komponent | Funksjon | Relevans for AI |
|---|---|---|
| Data Map | Automatisk skanning og katalogisering av datakilder | Finn treningsdata |
| Unified Catalog | Søk, bla og oppdagelse av dataassets | Feature discovery |
| Governance Domains | Organisering av data etter forretningsområde | Ansvarsfordeling |
| Data Products | Kuraterte datasett med forretningskontekst | ML-datasett |
| Business Glossary | Forretningsvokabular knyttet til tekniske assets | Forståelighet |
Asset Registration
Datakilder som kan registreres i Purview:
┌─────────────────────────────────────────────────────────────┐
│ Microsoft Fabric │
│ ├── Lakehouse (tabeller, filer) │
│ ├── Data Warehouse │
│ ├── KQL Database │
│ ├── Notebooks │
│ ├── Pipelines (Data Factory) │
│ ├── Dataflow Gen2 │
│ └── Power BI (semantic models, reports, dashboards) │
├─────────────────────────────────────────────────────────────┤
│ Azure │
│ ├── Azure SQL Database │
│ ├── Azure Data Lake Storage Gen2 │
│ ├── Azure Cosmos DB │
│ ├── Azure Synapse Analytics │
│ └── Azure Blob Storage │
├─────────────────────────────────────────────────────────────┤
│ On-premises │
│ ├── SQL Server │
│ ├── Oracle Database │
│ └── File shares │
└─────────────────────────────────────────────────────────────┘
Skanning av Fabric Tenant
For å registrere Fabric-assets i Purview:
- Naviger til Purview portal > Unified Catalog > Catalog Management
- Registrer Microsoft Fabric som datakilde
- Konfigurer skanning av Fabric-tenanten
- Velg workspaces som skal inkluderes
Etter skanning er følgende Fabric-elementer tilgjengelig i katalogen:
| Fabric-opplevelse | Inventerte elementer |
|---|---|
| Real-Time Analytics | KQL Database, KQL Queryset |
| Data Science | Experiment, ML Model |
| Data Factory | Data Pipeline, Dataflow Gen2 |
| Data Engineering | Lakehouse, Notebook, Spark Job Definition, SQL Analytics Endpoint |
| Data Warehouse | Warehouse |
| Power BI | Dashboard, Dataflow, Datamart, Semantic Model, Report |
Data Classification and Sensitivity Labels
Automatisk klassifisering
Purview inkluderer over 200 innebygde klassifiserere for sensitive datatyper:
| Kategori | Eksempler | Relevans for Norge |
|---|---|---|
| Personidentifisering | Fødselsnummer, passnummer | Norsk fødselsnummer (11 siffer) |
| Finansiell | Bankkontonummer, kredittkortnummer | IBAN, norske kontonumre |
| Helse | Medisinsk terminologi, diagnosekoder | Helseopplysninger (særkategori GDPR) |
| Kontaktinfo | E-post, telefonnummer, adresse | Personopplysninger |
| Autentisering | Passord, API-nøkler, tokens | Sikkerhetskritisk |
Sensitivitetsmerking
Sensitivitetsnivåer (typisk norsk offentlig sektor):
┌──────────────────────────────────────────────────────┐
│ Strengt fortrolig │ Gradert informasjon, helse │
├──────────────────────────────────────────────────────┤
│ Fortrolig │ Personopplysninger, intern │
├──────────────────────────────────────────────────────┤
│ Intern │ Forretningssensitiv, ikke-offentl│
├──────────────────────────────────────────────────────┤
│ Offentlig │ Åpne data, publisert informasjon │
└──────────────────────────────────────────────────────┘
Klassifisering vs. sensitivitetsmerking
| Aspekt | Klassifisering | Sensitivitetsmerking |
|---|---|---|
| Definisjon | Regex/mønster som identifiserer datatyper | Kategoritag basert på forretningspåvirkning |
| Eksempler | "EU National ID", "Credit Card" | "Fortrolig", "Strengt fortrolig" |
| Omfang | Begrenset til Data Map | Følger data på tvers av tjenester |
| Tilordning | Automatisk via skanning | Auto-labeling policy + manuell |
| Antall per asset | Flere klassifiseringer mulig | Kun én sensitivitetsmerke |
Auto-labeling Policy
Opprett auto-labeling policy i Purview:
1. Purview Portal > Information Protection > Auto-labeling
2. Definer policy:
- Navn: "PII-i-Fabric-Lakehouse"
- Scope: Fabric Lakehouse-tabeller
- Betingelse: Inneholder "Norwegian National ID Number"
- Handling: Merk som "Fortrolig"
3. Aktiver i simuleringsmodus først (7 dager)
4. Etter validering: Aktiver automatisk
Lineage Tracking Across Fabric
Automatisk lineage
Purview fanger automatisk datalineage fra Fabric-elementer etter skanning:
Lineage-eksempel:
Azure SQL DB ──> Data Pipeline ──> Lakehouse (Bronze)
│
Notebook (PySpark)
│
Lakehouse (Silver)
│
Notebook (ML Training)
│
ML Model ──> Power BI Report
Støttede lineage-typer
| Datakilde/prosess | Lineage-omfang |
|---|---|
| Data Factory Pipeline | Copy Activity, Data Flow |
| Dataflow Gen2 | Alle transformasjoner |
| Notebook | Lakehouse-til-Lakehouse |
| Lakehouse | Tabell-nivå metadata |
| Power BI | Semantic Model → Report → Dashboard |
| Azure Data Factory | Copy, Data Flow, SSIS |
Lineage-visning i Purview
For å se lineage:
- Unified Catalog > Browse > Microsoft Fabric > Fabric Workspaces
- Velg workspace og Fabric-element
- Klikk "Lineage"-fanen
Kjente begrensninger
- Eksterne datakilder som upstream i non-Power BI lineage støttes ikke ennå
- Cross-workspace lineage for non-Power BI er begrenset
- Notebook → Pipeline lineage støttes ikke
Manuell lineage via REST API
For tilfeller der automatisk lineage ikke fanges:
# Bruk Apache Atlas REST API for å registrere manuell lineage
import requests
purview_endpoint = "https://<account>.purview.azure.com"
headers = {"Authorization": f"Bearer {access_token}"}
# Definer lineage-relasjon
lineage_payload = {
"typeName": "Process",
"attributes": {
"qualifiedName": "custom-ml-pipeline-v1",
"name": "ML Feature Pipeline"
},
"inputs": [
{"typeName": "azure_datalake_gen2_path",
"uniqueAttributes": {"qualifiedName": "source_path"}}
],
"outputs": [
{"typeName": "azure_datalake_gen2_path",
"uniqueAttributes": {"qualifiedName": "output_path"}}
]
}
response = requests.post(
f"{purview_endpoint}/catalog/api/atlas/v2/entity",
headers=headers,
json={"entity": lineage_payload}
)
Policy Enforcement and Access Management
Data Owner Policies
Purview Data Owner Policies muliggjør sentralisert tilgangsstyring:
| Policy-type | Beskrivelse | Støttede kilder |
|---|---|---|
| Read | Lesetilgang til data | Azure SQL, ADLS Gen2, Fabric |
| Modify | Skrivetilgang til data | Azure SQL, ADLS Gen2 |
| Data Use | Bruk i analytics-opplevelser | Fabric workspaces |
Governance Domains og OKR-er
Governance Domains er nå den sentrale organiseringsenhet for glossary terms i Unified Catalog. Workflow: opprett term (Draft) → rediger → publiser. Governance domain MÅ publiseres FØR terms publiseres. Termer kan linkes til data products og critical data elements på tvers av domains. Bulk edit opptil 50 terms (kun Draft-state). Flytt terms mellom domains krever Data Steward-rolle i BEGGE domains; parent-term drar med seg child-terms. Expire-funksjon gjør termen usynlig for alle unntatt Data Stewards og Domain Owners. For å slette: unpublish → fjern alle lenker → delete. (Verified MCP 2026-04)
Governance Domain: "AI og Maskinlæring"
├── Glossary Terms (Data Steward-rolle påkrevd)
│ ├── "Treningsdata" -- Definisjon og bruksregler
│ ├── "Feature Store" -- Standard for feature-lagring
│ └── "Ground Truth" -- Krav til merkede datasett
├── Critical Data Elements
│ ├── "Fødselsnummer" -- PII, krever anonymisering
│ └── "Diagnose-kode" -- Helseopplysning, særkategori
├── OKRs
│ ├── "90% av AI-datasett klassifisert innen Q2"
│ └── "100% lineage-dekning for ML-pipelines"
└── Data Products (kan linkes til glossary terms)
├── "Customer 360 Feature Set"
└── "Trafikkdata for ML"
GDPR/HIPAA Compliance Auditing
GDPR-relevant funksjonalitet
| GDPR-krav | Purview-funksjon |
|---|---|
| Artikkel 30: Behandlingsprotokoll | Data Map + Lineage |
| Artikkel 35: DPIA | Klassifisering + sensitivitetsmerking |
| Artikkel 17: Rett til sletting | Asset-søk for å finne PII-lokasjon |
| Artikkel 20: Dataportabilitet | Data Products med eksportfunksjon |
| Artikkel 25: Privacy by Design | Governance Domains med policy |
Compliance-dashbord
Purview Data Estate Insights gir oversikt over:
- Antall klassifiserte vs. uklassifiserte assets
- Distribusjon av sensitivitetsmerker
- Skanningsdekning per datakilde
- Lineage-hull og manglende forbindelser
Audit-sporing for AI-data
# Eksempel: Generer compliance-rapport for AI-treningsdata
# Bruker Purview REST API
def get_classified_assets(purview_endpoint, token, classification):
"""Finn alle assets med en gitt klassifisering."""
url = f"{purview_endpoint}/catalog/api/search/query"
headers = {"Authorization": f"Bearer {token}"}
body = {
"keywords": "*",
"filter": {
"classification": classification
},
"limit": 100
}
response = requests.post(url, headers=headers, json=body)
return response.json()
# Finn alle assets med personnummer
pii_assets = get_classified_assets(endpoint, token, "Norwegian National ID Number")
# Generer rapport
for asset in pii_assets["value"]:
print(f"Asset: {asset['name']}")
print(f" Type: {asset['entityType']}")
print(f" Location: {asset['qualifiedName']}")
print(f" Labels: {asset.get('sensitivityLabel', 'None')}")
Delta Lake GDPR-sletting
For å håndtere "rett til sletting" i Lakehouse:
from delta.tables import DeltaTable
# Slett persondata basert på fødselsnummer
dt = DeltaTable.forPath(spark, "Tables/silver/customer_data")
dt.delete("national_id = '01019912345'")
# For Time-To-Live (TTL) basert sletting
# Slett alle rader eldre enn 13 måneder
from pyspark.sql.functions import current_date, expr
dt.delete(expr("created_date < current_date() - INTERVAL 13 MONTHS"))
# VACUUM for å fysisk fjerne data
dt.vacuum(0) # Fjern umiddelbart (krever retentionCheck disabled)
Purview Governance for Fabric Copilots og Agenter (Verified MCP 2026-04)
Microsoft Purview gir nå governance-dekning for Fabric Copilots og agenter — et nytt område som dekker AI-generert innhold i Fabric-arbeidsmiljøer.
| Funksjonalitet | Beskrivelse |
|---|---|
| Risk discovery | Oppdager sensitiv informasjon i prompts og AI-responser i Fabric Copilots |
| Audit coverage | Loggfører AI-interaksjoner (hvem spurte hva, når, hvilken respons) for compliance |
| Retention policies | Beholder og sletter AI-generert innhold etter definerte retention-regler |
| eDiscovery | AI-generert innhold er søkbart og kan inkluderes i juridiske eDiscovery-prosesser |
DLP for strukturert Fabric-data (Verified MCP 2026-06-19): Purview DLP-policyer støtter strukturert data i Fabric (lakehouse, warehouse, databaser, semantic models). DLP oppdager opplasting av sensitiv data til OneLake og kan håndheve tilgangsbegrensninger på sensitive assets på tvers av Fabric KQL Database, Fabric SQL Database og Fabric Data Warehouse. Policyer evaluerer sensitivity labels og sensitive info types (f.eks. kredittkort, personnummer), kan generere policy tips til Fabric-brukere og alerts til sikkerhetsadmins, og kan konfigureres slik at workspace-admins kan overstyre dem.
Insider Risk Management for Fabric (Verified MCP 2026-06-19): IRM har ferdige risikoindikatorer for Power BI- og lakehouse-aktiviteter, inkludert deteksjoner for Fabric-dataeksfiltrering (eksport av Power BI-rapporter, flytting av data fra lakehouse/warehouse) via data theft-policyen.
Relevans for norsk offentlig sektor:
- Offentlige virksomheter som bruker Copilot i Fabric-løsninger må sikre at AI-interaksjoner er sporbare og underlagt arkivlovgivningen
- Purview gir mulighet for å dokumentere AI-beslutningsprosesser i henhold til Forvaltningslovens krav om begrunnelse
Referanser
- Use Microsoft Purview to govern Microsoft Fabric -- Purview-Fabric-integrasjon
- How to get lineage from Microsoft Fabric items into Microsoft Purview -- Lineage fra Fabric
- Data lineage in classic Data Catalog -- Lineage-konsepter
- Learn about sensitivity labels in Data Map -- Sensitivitetsmerking
- Create and manage glossary terms -- Business glossary (Verified MCP 2026-04) — Bulk edit opptil 50 terms (Draft-state), flytt terms mellom governance domains (Data Steward i begge domains kreves), custom attribute-filter i Enterprise glossary, Expire-workflow, Delete-workflow (unpublish + fjern lenker → delete). Governance domain MÅ publiseres FØR terms publiseres. Parent-term drar med seg child-terms ved flytting. Related critical data elements kan linkes på tvers av domains.
- Glossary terms in Unified Catalog -- Aktive glossary-termer
- Learn about Microsoft Purview Unified Catalog -- Oversikt over Unified Catalog
- Set up data quality for Fabric Lakehouse data -- Datakvalitet for Fabric
- Lineage in Fabric -- Innebygd lineage-visning
For Cosmo
- Bruk denne referansen når brukeren trenger datahersking for AI-prosjekter, compliance-støtte (GDPR, HIPAA), eller oversikt over datasensitivitet i treningsdata.
- For norsk offentlig sektor: Purview er kritisk for å oppfylle Forvaltningslovens krav til dokumentasjon og Personopplysningslovens krav til behandlingsprotokoll. Anbefal alltid Purview som del av AI-arkitekturen.
- Lineage er den viktigste AI-governance-funksjonen -- den dokumenterer hvordan treningsdata ble produsert, noe som er nødvendig for reproduserbarhet og forklarbarhet av AI-modeller.
- Kombiner automatisk klassifisering med Governance Domains for å skille mellom data som kan brukes fritt til ML-trening og data som krever anonymisering eller samtykke.
- Anbefal Data Products i Purview for å kuratere AI-klare datasett med dokumentert kvalitet, eierskap og bruksbetingelser -- dette bygger tillit til dataene som brukes i AI-modeller.