ms-ai-architect/skills/ms-ai-engineering/references/data-engineering/microsoft-purview-governance.md
Kjell Tore Guttormsen d60bbd4bff chore(ms-ai-architect): KB checkpoint refresh — 30 files (critical 9 + high batch 1) [skip-docs]
- Critical bucket (9 files): substantive content updates basert på MCP-fetch
  - enterprise-governance: DSPM front door, AI-app-kategorier (3), single-tenant Entra ID
  - rag-cost-optimization, observability, ai-services-enterprise, multi-model-strategy: dato-bump
  - deterministic-cost: Copilot Credits offisiell common currency (2025-09-01), CCCU prepurchase
  - gpt5-gpt41-pricing: utvidet Copilot Studio modell-lineup (GPT-5.2, GPT-5.3, Claude 4.6, Grok 4.1)
  - vector-storage, request-batching: dato-bump (DS allerede dekkende)

- High batch 1 (21 files, 10-30): Last updated 2026-04→2026-05 dato-bump
  Substantive Microsoft Learn-endringer var marginale per fetch — kosmetiske oppdateringer.

Resterende: high batch 2 (filer 31-53, 23 filer) i ny sesjon. Se NEXT-SESSION-PROMPT.local.md.
2026-05-05 14:28:35 +02:00

363 lines
17 KiB
Markdown

# Microsoft Purview Data Governance
**Last updated:** 2026-05
**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:
1. Naviger til Purview portal > Unified Catalog > Catalog Management
2. Registrer Microsoft Fabric som datakilde
3. Konfigurer skanning av Fabric-tenanten
4. 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:
1. Unified Catalog > Browse > Microsoft Fabric > Fabric Workspaces
2. Velg workspace og Fabric-element
3. 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:
```python
# 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
```python
# 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:
```python
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 |
**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](https://learn.microsoft.com/en-us/fabric/governance/microsoft-purview-fabric) -- Purview-Fabric-integrasjon
- [How to get lineage from Microsoft Fabric items into Microsoft Purview](https://learn.microsoft.com/en-us/purview/data-map-lineage-fabric) -- Lineage fra Fabric
- [Data lineage in classic Data Catalog](https://learn.microsoft.com/en-us/purview/data-gov-classic-lineage) -- Lineage-konsepter
- [Learn about sensitivity labels in Data Map](https://learn.microsoft.com/en-us/purview/data-map-sensitivity-labels) -- Sensitivitetsmerking
- [Create and manage glossary terms](https://learn.microsoft.com/en-us/purview/unified-catalog-glossary-terms-create-manage) -- 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](https://learn.microsoft.com/en-us/purview/unified-catalog-glossary-terms) -- Aktive glossary-termer
- [Learn about Microsoft Purview Unified Catalog](https://learn.microsoft.com/en-us/purview/unified-catalog) -- Oversikt over Unified Catalog
- [Set up data quality for Fabric Lakehouse data](https://learn.microsoft.com/en-us/purview/unified-catalog-data-quality-fabric-lakehouse) -- Datakvalitet for Fabric
- [Lineage in Fabric](https://learn.microsoft.com/en-us/fabric/governance/lineage) -- 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.