Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
OneLake-beveiligingsrollen bepalen wie toegang heeft tot de data in je Fabric-items. Soms is het geven of weigeren van toegang tot een heel item te grof. Je moet misschien gevoelige kolommen verbergen, beperken welke rijen een gebruiker ziet, of alleen bepaalde tabellen blootstellen. Binnen een functie kun je de toegang op drie granulariteitsniveaus verfijnen: objectniveau beveiliging voor tabellen en mappen, kolomniveau beveiliging (CLS) voor individuele kolommen en rijniveau beveiliging (RLS) voor individuele rijen.
Dit artikel legt uit wat elke controle doet en hoe OneLake deze handhaaft. Om deze controles te maken, zie Create and manage OneLake security roles.
OneLake beveiligingsrollen gebruiken een subsidiemodel om toegang tot data te geven. Je kunt geen toegang weigeren die via een andere rol of toestemmingsmodel is verleend. Om die reden beperken deze controles de toegang niet voor gebruikers in de rollen Admin, Lid en Bijdrager op werkruimteniveau.
Tabel- en mapbeveiliging
Beveiliging op tabel- en mapniveau, ook wel objectniveaubeveiliging (OLS) genoemd, stelt je in staat toegang te verlenen tot specifieke tabellen of mappen in een data-item. Met OLS maak je permissies aan voor zowel gestructureerde als ongestructureerde data op mapniveau. Omdat Delta Parquet-tabellen in OneLake als mappen worden weergegeven, kun je tabellen op dezelfde manier beveiligen als je mappen beveiligt. Schema's zijn ook mappen, dus je kunt ze op dezelfde manier beveiligen.
Beveiliging op kolom- en rijniveau
OneLake-beveiliging handhaaft beveiliging op kolom- en rijniveau op een van twee manieren:
- Filtertabellen: Een gebruiker die een tabel bevraagt met een Fabric-engine, zoals Spark-notebooks, of een geautoriseerde derde partij-engine ziet alleen de kolommen of rijen die de CLS- of RLS-regels toestaan.
- Bloktabellen: Een gebruiker die een tabel bevraagt met een ongeautoriseerde derde partij-engine kan de tabel niet lezen.
OneLake-beveiliging kan CLS- en RLS-regels afdwingen voor Delta Parquet-tabellen of gevirtualiseerde Iceberg-tabellen. Regels toegepast op andere tabeltypen blokkeren de toegang tot de gehele tabel voor leden van de rol.
Als een CLS- of RLS-regel een mismatch heeft met de tabel waarop hij is gedefinieerd, faalt de query en levert geen data op. Bijvoorbeeld, een mismatch treedt op wanneer een regel verwijst naar een kolom die niet in de tabel staat.
Beveiliging op kolomniveau
Kolomniveau beveiliging (CLS) geeft toegang tot geselecteerde kolommen in een tabel in plaats van de volledige tabel. Data in kolommen die je uit de toegestane lijst verwijdert, is niet zichtbaar voor gebruikers.
Voor tabellen gefilterd met CLS gelden de volgende gedragingen:
- Als een gebruiker een
select *query uitvoert op een tabel waarbij hij slechts toegang heeft tot enkele kolommen, gedragen CLS-regels zich verschillend afhankelijk van de Fabric-engine:- Spark-notebooks: De query slaagt en toont alleen de toegestane kolommen.
- SQL analytics endpoint: De query geeft een foutmelding en blokkeert toegang tot de kolommen waar de gebruiker geen toegang toe heeft.
- Semantische modellen: De query geeft een foutmelding en blokkeert toegang tot de kolommen die de gebruiker niet kan bereiken.
- De naam van een beveiligde kolom kan zichtbaar zijn in bepaalde ervaringen, maar de datawaarden verschijnen nooit.
Beveiliging per rij
Row-level security (RLS) definieert restricties op rijniveau voor tabelgegevens die in OneLake zijn opgeslagen. Je definieert rollen die regels bevatten voor het filteren van rijen data voor leden van die rol. Wanneer een lid van een RLS-rol de gegevens bevraagt, evalueert OneLake de RLS-regels en geeft alleen de toegestane rijen terug. Rijen zijn een concept dat alleen relevant is voor tabelgegevens, dus je kunt RLS niet definiëren voor niet-tabelmappen of ongestructureerde data.
Voor tabellen gefilterd met RLS gelden de volgende gedragingen:
- De toegang tot een tabel kan worden geblokkeerd als de RLS-instructie syntaxisfouten bevat die verhinderen dat deze worden geëvalueerd.
Voor de syntaxis die wordt gebruikt om RLS-regels te schrijven, zie Row-level security syntax reference.
Beveiliging op rij- en kolomniveau combineren
Beveiliging op rij- en kolomniveau kan samen worden gebruikt om gebruikerstoegang tot een tabel te beperken. De twee beleidsregels moeten echter worden toegepast met één OneLake-beveiligingsrol. In dit scenario wordt de toegang tot gegevens beperkt volgens de regels die zijn ingesteld in de ene rol.
OneLake-beveiliging biedt geen ondersteuning voor de combinatie van twee of meer rollen waarin een RLS-regels bevat en een andere bevat CLS-regels. Gebruikers die toegang proberen te krijgen tot tabellen die deel uitmaken van een niet-ondersteunde combinatie van rollen, ontvangen queryfouten.