# Microsoft Purview Data Governance **Last updated:** 2026-04 **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://.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.