Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
OneLakes sikkerhedsroller kontrollerer, hvem der kan få adgang til dataene i dine Fabric-produkter. Nogle gange er det for groft at give eller nægte adgang til en hel genstand. Du kan være nødt til at skjule følsomme kolonner, begrænse hvilke rækker en bruger ser, eller kun eksponere bestemte tabeller. Inden for en rolle kan du forfine adgangen på tre detaljeringsniveauer: objektsikkerhed for tabeller og mapper, kolonne-niveau sikkerhed (CLS) for individuelle kolonner og række-niveau sikkerhed (RLS) for individuelle rækker.
Denne artikel forklarer, hvad hver kontrol gør, og hvordan OneLake håndhæver den. For at udarbejde disse kontroller, se Opret og administrer OneLake sikkerhedsroller.
OneLake-sikkerhedsroller bruger en tilskudsmodel til at give adgang til data. Du kan ikke nægte adgang, der gives gennem en anden rolle eller tilladelsesmodel. Af den grund begrænser disse kontroller ikke adgangen for brugere i Admin-, Medlem- og Bidragyderrollerne på arbejdsområde-niveau.
Tabel- og mappesikkerhed
Tabel- og mappesikkerhed, også kaldet objektniveau-sikkerhed (OLS), giver dig adgang til specifikke tabeller eller mapper i et dataelement. Med OLS opretter du tilladelser for både strukturerede og ustrukturerede data på mappeniveau. Fordi Delta Parquet-tabeller i OneLake repræsenteres som mapper, kan du sikre tabeller på samme måde, som du sikrer mapper. Skemaer er også mapper, så du kan sikre dem på samme måde.
Sikkerhed på søjle- og rækkeniveau
OneLake sikkerhed håndhæver sikkerhed på kolonne- og rækkeniveau på en af to måder:
- Filtertabeller: En bruger, der forespørger en tabel ved hjælp af en Fabric-motor, som Spark-notebooks, eller en autoriseret tredjepartsmotor, ser kun de kolonner eller rækker, som CLS- eller RLS-reglerne tillader.
- Bloktabeller: En bruger, der forespørger en tabel ved hjælp af en uautoriseret tredjepartsmotor, kan ikke læse tabellen.
OneLake-sikkerhed kan håndhæve CLS- og RLS-regler for Delta Parquet-tabeller eller virtualiserede Iceberg-tabeller. Regler, der anvendes på andre tabeltyper, blokerer adgangen til hele tabellen for medlemmer af rollen.
Hvis en CLS- eller RLS-regel har en uoverensstemmelse med den tabel, den er defineret i, fejler forespørgslen og returnerer ingen data. For eksempel opstår der en mismatch, når en regel refererer til en kolonne, der ikke er i tabellen.
Sikkerhed på kolonneniveau
Kolonne-niveau sikkerhed (CLS) giver adgang til udvalgte kolonner i en tabel i stedet for den fulde tabel. Data i kolonner, som du fjerner fra den tilladte liste, er ikke synlige for brugerne.
For tabeller filtreret med CLS gælder følgende adfærd:
- Hvis en bruger kører en
select *forespørgsel på en tabel, hvor de kun har adgang til nogle af kolonnerne, opfører CLS-reglerne sig forskelligt afhængigt af Fabric-motoren:- Spark-notesbøger: Forespørgslen lykkes og viser kun de tilladte kolonner.
- SQL analytics endpoint: Forespørgslen returnerer en fejl og blokerer adgang til de kolonner, som brugeren ikke kan få adgang til.
- Semantiske modeller: Forespørgslen returnerer en fejl og blokerer adgang til de kolonner, som brugeren ikke kan få adgang til.
- Navnet på en sikret kolonne kan være synligt i visse oplevelser, men dataværdierne vises aldrig.
Sikkerhed på rækkeniveau
Række-niveau sikkerhed (RLS) definerer række-niveau databegrænsninger for tabulære data, der er lagret i OneLake. Du definerer roller, der indeholder regler for filtrering af rækker af data for medlemmer af rollen. Når et medlem af en RLS-rolle forespørger dataene, evaluerer OneLake RLS-reglerne og returnerer kun de tilladte rækker. Rækker er et begreb, der kun er relevant for tabeldata, så du kan ikke definere RLS for ikke-tabelmapper eller ustrukturerede data.
For tabeller filtreret med RLS gælder følgende adfærd:
- Adgangen til en tabel kan blive blokeret, hvis RLS-sætningen indeholder syntaksfejl, der forhindrer, at den evalueres.
For syntaksen, der bruges til at skrive RLS-regler, se Række-niveau sikkerhedssyntaksreference.
Kombiner sikkerhed på rækkeniveau og kolonneniveau
Sikkerhed på rækkeniveau og kolonneniveau kan bruges sammen til at begrænse brugeradgang til en tabel. De to politikker skal dog anvendes ved hjælp af en enkelt OneLake-sikkerhedsrolle. I dette scenarie er adgangen til data begrænset i henhold til de regler, der er angivet i den ene rolle.
OneLake-sikkerhed understøtter ikke kombinationen af to eller flere roller, hvor den ene indeholder RLS-regler, og en anden indeholder CLS-regler. Brugere, der forsøger at få adgang til tabeller, der er en del af en ikke-understøttet rollekombination, modtager forespørgselsfejl.