- 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.
363 lines
17 KiB
Markdown
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.
|