Model riadenia prístupu pre bezpečnosť OneLake

Tento dokument poskytuje podrobného sprievodcu tým, ako funguje model riadenia prístupu zabezpečenia OneLake. Obsahuje podrobnosti o štruktúre rolí, ako sa vzťahujú na dáta a aká je integrácia s inými štruktúrami v Fabric.

Roly zabezpečenia OneLake

Zabezpečenie OneLake používa model riadenia prístupu na základe rolí (RBAC) na spravovanie prístupu k údajom vo OneLake. Každá rola sa skladá z niekoľkých kľúčových komponentov.

  • Typ: Určuje, či rola udeľuje prístup (GRANT) alebo odoberá prístup (ODMIETNUŤ). Podporované sú iba roly typu GRANT.
  • Povolenie: Konkrétne opatrenie alebo úkony, ktoré sa udeľujú alebo zamietajú.
  • Rozsah: Objekty OneLake, ktoré majú povolenie. Objekty sú tabuľky, priečinky alebo schémy.
  • Členov: Akákoľvek identita Microsoft Entra, ktorá je priradená k role, ako sú používatelia, skupiny alebo identity iných používateľov. Rola sa udeľuje všetkým členom skupiny Microsoft Entra.

Priradením člena k role sa na tohto používateľa vzťahujú priradené povolenia v rozsahu tejto roly. Keďže zabezpečenie OneLake používa predvolený model odmietnutia, všetci používatelia začínajú bez prístupu k údajom, pokiaľ to nie je explicitne udelené rolou zabezpečenia OneLake.

Povolenia a podporované položky

Roly zabezpečenia OneLake podporujú nasledujúce povolenie:

  • Čítať: Udeľuje používateľovi možnosť čítať údaje z tabuľky a zobrazovať priradené metaúdaje tabuľky a stĺpca. Z hľadiska SQL je toto povolenie ekvivalentné VIEW_DEFINITION aj SELECT. Ďalšie informácie nájdete v téme Zabezpečenie metaúdajov.
  • ReadWrite: Umožňuje používateľovi čítať a zapisovať dáta z tabuľky alebo priečinka a zobrazovať príslušné metadáta tabuliek a stĺpcov. V SQL termínoch je toto povolenie ekvivalentné ALTER, DROP, UPDATE a INSERT. Pre viac informácií pozri povolenie ReadWrite.

Zabezpečenie OneLake umožňuje používateľom definovať roly prístupu k údajom iba pre nasledujúce položky služby Fabric.

Látka Podporované povolenia
Lakehouse Čítanie, čítanieZápis
Azure Databricks mirrored catalog Read
Zrkadlené databázy Read
Zrkadlové katalógy Read

Povolenia zabezpečenia a pracovného priestoru OneLake

Povolenia pracovného priestoru sú prvou hranicou zabezpečenia pre údaje v rámci služby OneLake. Každý pracovný priestor predstavuje jednu doménu alebo oblasť projektu, v ktorej môžu tímy spolupracovať na údajoch. Zabezpečenie v pracovnom priestore môžete spravovať prostredníctvom rolí pracovného priestoru služby Fabric. Ďalšie informácie o riadení prístupu na základe roly (RBAC) služby Fabric: roly pracovného priestoru

Roly pracovného priestoru štruktúry udeľujú povolenia, ktoré sa vzťahujú na všetky položky v pracovnom priestore. V nasledujúcej tabuľke sú uvedené základné povolenia povolené rolami pracovného priestoru.

Permission Admin Member Contributor Viewer
Zobrazenie súborov v službe OneLake Vždy* Áno Vždy* Áno Vždy* Áno Predvolene nie. Na udelenie prístupu použite zabezpečenie OneLake.
Zápis súborov v OneLake Vždy* Áno Vždy* Áno Vždy* Áno Predvolene nie. Na udelenie prístupu použite zabezpečenie OneLake.
Môže upravovať roly zabezpečenia OneLake Vždy* Áno Vždy* Áno No No

*Keďže roly Správca pracovného priestoru, Člen a Prispievateľ automaticky udeľujú povolenia na zápis službe OneLake, všetky povolenia na čítanie zabezpečenia OneLake prepíšu.

Úlohy v pracovnom priestore spravujú prístup k dátam v riadiacej rovine, čo znamená interakcie s vytváraním a správou Fabric položiek a oprávnení. Okrem toho roly pracovného priestoru poskytujú aj predvolené úrovne prístupu k položkám údajov pomocou predvolených rolí zabezpečenia OneLake. (Upozorňujeme, že predvolené roly sa vzťahujú iba na divákov, pretože správca, člen a prispievateľ majú zvýšený prístup prostredníctvom povolenia na zápis) Predvolená rola je normálna rola zabezpečenia OneLake, ktorá sa vytvára automaticky pri každej novej položke. Používateľom s určitými povoleniami pracovného priestoru alebo položky poskytuje predvolenú úroveň prístupu k údajom v danej položke. Napríklad položky lakehouse majú rolu DefaultReader, ktorá umožňuje používateľom s povolením ReadAll vidieť dáta v lakehouse. Tým sa zabezpečí, že používatelia, ktorí pristupujú k novovytvorenej položke, budú mať základnú úroveň prístupu. Všetky predvolené roly používajú funkciu virtualizácie členov, takže členmi roly sú všetci používatelia v danom pracovnom priestore s požadovaným povolením. Napríklad všetci používatelia s povolením ReadAll na chate pri jazere. V nasledujúcej tabuľke sú uvedené štandardné predvolené roly. Položky môžu mať špecializované predvolené roly, ktoré sa vzťahujú iba na daný typ položky.

Látka Názov roly Permission Vrátane priečinkov Pridelení členovia
Lakehouse DefaultReader Read Všetky priečinky v a Tables/Files/ Všetci používatelia s povolením ReadAll
Lakehouse DefaultReadWriter Read Všetky priečinky Všetci používatelia s povolením na zápis
Katalóg Azure Databricks Mirrored DefaultReader Read Všetky priečinky v a Tables/Files/ Všetci používatelia s povolením na čítanie
Zrkadlená databáza DefaultReader Read Všetky priečinky v a Tables/Files/ Všetci používatelia s povolením ReadAll

Note

Ak chcete obmedziť prístup na konkrétnych používateľov alebo konkrétne priečinky, upravte predvolenú rolu alebo ju odstráňte a vytvorte novú vlastnú rolu.

OneLake zabezpečenie a povolenia položiek

V pracovnom priestore môžu mať položky služby Fabric povolenia nakonfigurované oddelene od rolí pracovného priestoru. Povolenia môžete nakonfigurovať buď zdieľaním položky alebo spravovaním povolení položky. Nasledujúce oprávnenia určujú schopnosť používateľa vykonávať akcie na položke v Fabric. Ďalšie informácie o zdieľaní položiek nájdete v téme Ako funguje zdieľanie v Lakehouse

Permission Môže zobrazovať súbory vo OneLake? Môže písať súbory v OneLake? Môže čítať údaje prostredníctvom koncového bodu analýzy SQL?
Read Predvolene nie. Na udelenie prístupu použite zabezpečenie OneLake. No No
ReadAll Áno prostredníctvom roly DefaultReader. Na obmedzenie prístupu použite zabezpečenie OneLake. No Nie*
Write Yes Yes Yes
Spustenie, opätovné zdieľanie, ViewOutput, ViewLogs Nie je možné udeliť samostatne Nie je možné udeliť samostatne Nie je možné udeliť samostatne

*Závisí od režimu koncového bodu analýzy SQL.

Vytvorenie rolí

Bezpečnostné úlohy v OneLake môžete definovať a spravovať prostredníctvom používateľského zážitku spravovania bezpečnostných rolí vo vašom OneLake.

Ďalšie informácie nájdete v téme Začíname s rolami prístupu k údajom.

Prístup motora a používateľa k údajom

Prístup k údajom do OneLake sa uskutočňuje jedným z dvoch spôsobov:

  • Prostredníctvom dotazovacieho enginu, vrátane Fabric enginov a autorizovaných enginov tretích strán
  • Prostredníctvom prístupu používateľa (dotazy z neautorizovaných externých enginov sa považujú za používateľský prístup)

Zabezpečenie OneLake zaisťuje, že údaje sú vždy v bezpečí. Keďže niektoré funkcie zabezpečenia OneLake, ako je napríklad zabezpečenie na úrovni riadkov a stĺpcov, nie sú podporované operáciami na úrovni úložiska, nie je možné povoliť všetky typy prístupu k zabezpečeným údajom na úrovni riadkov alebo stĺpcov. To zaručuje, že používatelia nebudú môcť vidieť riadky alebo stĺpce, ktoré nemajú povolené. Fabric enginy umožňujú aplikovať bezpečnostné filtrovanie na úrovni riadkov a stĺpcov na dátové dotazy. To znamená, že keď sa používateľ dotazuje na údaje v jazere alebo inej položke so zabezpečením OneLake na úrovni riadkov alebo CLS, z výsledkov, ktoré používateľ uvidí, sa odstránia skryté riadky a stĺpce. V prípade prístupu používateľov k údajom vo OneLake so zabezpečením na úrovni riadkov alebo CLS sa dotaz zablokuje, ak používateľ žiadajúci o prístup nemá povolené zobraziť všetky riadky alebo stĺpce v tejto tabuľke.

Tabuľka nižšie uvádza, ktoré enginy podporujú filtrovanie RLS a CLS.

Motor Filtrovanie zabezpečenia na úrovni riadkov/CLS Stav
Lakehouse Yes GA
Spark zápisníky Yes GA
SQL Analytics Endpoint v režime prístupu k identite používateľa Yes GA
Sémantické modely využívajúce Direct Lake v režime OneLake Yes GA
Eventhouse Iba RLS Verejná ukážka
Autorizované enginy tretích strán (cez autorizované API engineov OneLake) Áno (keď to implementuje engine) Verejná ukážka

Autorizované motory tretích strán

Bezpečnosť OneLake podporuje vynucovanie zákonom autorizovanými tretími stranami prostredníctvom modelu autorizovaného enginu. Externé enginy sa môžu registrovať ako autorizované enginy a získavať bezpečnostné definície a predpočítaný efektívny prístup prostredníctvom OneLake API. Tieto enginy vynucujú oprávnenia na tabuľky, RLS a CLS v čase dotazovania vo vlastnej výpočtovej vrstve. OneLake zostáva jediným zdrojom pravdy pre kontrolu prístupu, zatiaľ čo enginy si zachovávajú plnú kontrolu nad optimalizáciou a vykonávaním dotazov.

Pre viac informácií o integrácii enginu so zabezpečením OneLake pozri prehľad bezpečnostných integrácií OneLake.

Podrobnosti o modeli riadenia prístupu zabezpečenia OneLake

Táto časť obsahuje podrobnosti o tom, ako roly zabezpečenia OneLake udeľujú prístup ku konkrétnym rozsahom, ako tento prístup funguje a ako sa prístup rieši vo viacerých rolách a typoch prístupu.

Zabezpečenie na úrovni tabuľky

Všetky tabuľky OneLake sú reprezentované priečinkami v jazere, ale nie všetky priečinky v jazere sú tabuľky z pohľadu zabezpečenia OneLake a dotazovacích nástrojov v Fabric. Aby sa považovala za platnú tabuľku, musia byť splnené tieto podmienky:

  • Priečinok existuje v adresári Tables/ položky. Pre položky so schémou musí byť priečinok tiež v platnom priečinku schémy.
  • Priečinok obsahuje priečinok _delta_log s príslušnými súbormi JSON pre metadáta tabuľky.
  • Priečinok neobsahuje žiadne podradené odkazy.

Všetkým tabuľkám, ktoré nespĺňajú tieto kritériá, bude prístup zamietnutý, ak je v nich nakonfigurované zabezpečenie na úrovni tabuľky.

Zabezpečenie metaúdajov

Povolenie na čítanie od OneLake Security poskytuje plný prístup k dátam a metadátam v tabuľke. Pre používateľov, ktorí nemajú prístup k tabuľke, údaje nikdy nie sú vystavené. Týka sa to aj zabezpečenia na úrovni stĺpca a možnosti používateľa vidieť alebo nevidieť stĺpec v danej tabuľke. Bezpečnosť OneLake však nezaručuje, že metadáta tabuľky nebudú prístupné, a niektoré chybové hlásenia a skúsenosti môžu zobrazovať názvy stĺpcov.

Dedičnosť povolení

Pre každý priečinok sa povolenia zabezpečenia OneLake vždy dedia do celej hierarchie súborov a podpriečinkov priečinka.

Pozrime sa napríklad na nasledujúcu hierarchiu jazera v službe OneLake:

Tables/
──── (empty folder)
Files/
────folder1
│   │   file11.txt
│   │
│   └───subfolder11
│       │   file1111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
│   
└───folder2
    │   file21.txt

Vytvoríte dve roly pre tento lakehouse. Role1 udelí povolenie na čítanie pre priečinok1 a Role2 udelí povolenie na čítanie pre priečinok2.

Pre danú hierarchiu sa povolenia zabezpečenia OneLake pre Role1 a Role2 dedia nasledujúcim spôsobom:

  • Rola1: Priečinok na čítanie1

    │   │   file11.txt
    │   │
    │   └───subfolder11
    │       │   file1111.txt
    |       │
    │       └───subfolder111
    |            │   file1111.txt
    
  • Rola2: Prečítajte priečinok2

        │   file21.txt
    

Prechádzať a zoznamy v zabezpečení OneLake

Zabezpečenie OneLake umožňuje automatický prechod nadradených položiek, aby sa údaje dali ľahko zistiť. Udelenie povolení používateľovi na čítanie do podpriečinka11 udelí používateľovi možnosť uviesť do zoznamu a prechádzať nadradeným priečinkom adresára1. Táto funkcia je podobná povoleniam priečinkov systému Windows, kde poskytovanie prístupu k podpriečinku poskytuje zisťovanie a prechádzanie nadradenými adresármi. Zoznam a prechádzanie udelené nadradenému prvku sa nevzťahuje na iné položky mimo priamych nadradených prvkov, čím sa zabezpečí, že ostatné priečinky sú zabezpečené.

Zoberme si napríklad nasledujúcu hierarchiu jazera v službe OneLake.

Tables/
──── (empty folder)
Files/
────folder1
│   │   file11.txt
│   │
│   └───subfolder11
│       │   file111.txt
|       │
│       └───subfolder111
|            │   file1111.txt
│   
└───folder2
    │   file21.txt

Pre danú hierarchiu poskytuje povolenia zabezpečenia OneLake pre rolu Role1 nasledujúci prístup. Prístup k file11.txt nie je viditeľný, pretože nie je nadradeným priečinkom podpriečinka11. Podobne aj pre rolu Role2 nie je viditeľná ani file111.txt.

  • Rola1: Prečítajte si podpriečinok11

    Files/
    ────folder1
    │   │
    │   └───subfolder11
    │       │   file111.txt
    |       │
    │       └───subfolder111
    |            │   file1111.txt
    
  • Rola2: Prečítajte si podpriečinok111

    Files/
    ────folder1
    │   │
    │   └───subfolder11
    |       │
    │       └───subfolder111
    |            │   file1111.txt
    

V prípade skratiek sa správanie zoznamu mierne líši. Skratky k externým zdrojom údajov sa správajú rovnako ako priečinky, ale skratky na iné umiestnenia OneLake majú špecializované správanie. Cieľové povolenia odkazu určujú prístup k odkazu OneLake. Pri vytváraní zoznamu skratiek sa nevyvolá žiadne volanie na kontrolu cieľového prístupu. V dôsledku toho sa pri vytváraní zoznamu adresára vrátia všetky interné odkazy bez ohľadu na prístup používateľa k cieľu. Keď sa používateľ pokúsi otvoriť odkaz, vyhodnotí sa kontrola prístupu a používateľ uvidí iba tie údaje, na zobrazenie ktorých má požadované povolenia. Ďalšie informácie o odkazoch nájdete v časti zabezpečenie skratiek.

Zvážte nasledujúcu hierarchiu priečinkov, ktorá obsahuje odkazy.

Files/
────folder1
│   
└───shortcut2
|
└───shortcut3
  • Rola1: Priečinok na čítanie1

    Files/
    ────folder1
    │   
    └───shortcut2
    |
    └───shortcut3
    
  • Rola2: Nie sú definované žiadne povolenia

    Files/
    │   
    └───shortcut2
    |
    └───shortcut3
    

Zabezpečenie na úrovni riadkov

Zabezpečenie OneLake umožňuje používateľom špecifikovať zabezpečenie na úrovni riadkov písaním predikátov SQL na obmedzenie toho, aké údaje sa používateľovi zobrazujú. Zabezpečenie na úrovni riadkov funguje tak, že zobrazuje riadky, v ktorých sa predikát vyhodnotí ako true. Ďalšie informácie nájdete v téme Zabezpečenie na úrovni riadkov.

Zabezpečenie na úrovni riadkov vyhodnocuje reťazcové údaje ako nerozlišujúce veľké a malé písmená, pričom na zoradenie a porovnanie použije nasledujúce zoradenie: Latin1_General_100_CI_AS_KS_WS_SC_UTF8

Pri používaní zabezpečenia na úrovni riadkov sa uistite, že príkazy zabezpečenia na úrovni riadkov sú čisté a ľahko zrozumiteľné. Na zoraďovanie použite celočíselné stĺpce a operácie väčšie ako alebo menšie ako. Vyhnite sa ekvivalenciám reťazcov, ak nepoznáte formát vstupných údajov, najmä vo vzťahu k znakom Unicode alebo citlivosti na diakritiku.

Zabezpečenie na úrovni stĺpca

Zabezpečenie OneLake podporuje obmedzenie prístupu k stĺpcom odstránením (skrytím) prístupu používateľa k stĺpcu. Skrytý stĺpec sa považuje za stĺpec, ktorý nemá priradené žiadne povolenia, čo má za následok predvolenú politiku zákazu prístupu. Skryté stĺpce nebudú viditeľné pre používateľov a dotazy na údaje obsahujúce skryté stĺpce nevrátia žiadne údaje pre daný stĺpec. Ako bolo uvedené v oblasti bezpečnosti metadát, existujú určité prípady, keď môžu byť metadáta stĺpca stále viditeľné.

Zabezpečenie na úrovni stĺpcov sa tiež riadi prísnejším správaním v SQL Endpoint tým, že funguje prostredníctvom sémantiky odmietnutia. Odmietnuť stĺpec v koncovom bode SQL zabezpečí, že všetok prístup k stĺpcu bude zablokovaný, aj keď by sa k nemu skombinovalo viacero rolí. Výsledkom je, že CLS v SQL Endpoint funguje pomocou priesečníka medzi všetkými rolami, ktorých je používateľ súčasťou, namiesto správania zjednotenia zavedeného pre všetky ostatné typy povolení. Viac informácií o tom, ako sa role kombinujú, pozrite si sekciu Hodnotenie viacerých bezpečnostných pozícií v OneLake .

Povolenie ReadWrite

Povolenie ReadWrite dáva používateľom iba na čítanie možnosť vykonávať zápisné operácie na konkrétne položky. Povolenie ReadWrite platí len pre Viewerov alebo používateľov s povolením na čítanie položky. Priradenie prístupu ReadWrite administrátorovi, členovi alebo prispievateľovi nemá žiadny vplyv, pretože tieto role už toto povolenie implicitne majú.

ReadWrite prístup umožňuje používateľom vykonávať zápisové operácie cez Spark notebooky, OneLake file explorer alebo OneLake API.

Povolenie ReadWrite funguje nasledovne:

  • Povolenie ReadWrite zahŕňa všetky privilégiá udelené povolením na čítanie.
  • Používatelia s oprávnením ReadWrite na objekte môžu vykonávať zápisové operácie na tomto objekte, vrátane. To znamená, že akékoľvek operácie môžu byť vykonané aj na samotnom objekte.
  • ReadWrite umožňuje nasledujúce akcie:
    • Vytvorte nový priečinok alebo tabuľku
    • Vymažte priečinok alebo tabuľku
    • Premenujte priečinok alebo tabuľku
    • Nahrajte alebo upravte súbor
    • Vytvorenie odkazu
    • Odstránenie odkazu
    • Premenujte skratku
  • Bezpečnostné úlohy OneLake s prístupom ReadWrite nemôžu obsahovať obmedzenia RLS alebo CLS.
  • Keďže Fabric podporuje zápisy iba na jeden engine, používatelia s povolením ReadWrite na objekt môžu zapisovať iba cez OneLake. Operácie čítania však budú konzistentne vynucované vo všetkých dotazovacích enginoch.

Shortcuts

Prehľad skratiek

Zabezpečenie OneLake sa integruje so skratkami v OneLake, aby sa zabezpečilo jednoduché zabezpečenie údajov v OneLake aj mimo neho. Pre skratky existujú dva hlavné režimy overovania:

  • Prechodové skratky (SSO): Poverenie používateľa, ktorý sa dotazuje, sa vyhodnocuje na základe cieľa skratky, aby sa určilo, ktoré údaje je možné zobraziť.
  • Delegované skratky: Skratka používa pevné poverenia na prístup k cieľu a dotazujúci používateľ sa pred kontrolou prístupu delegovaných poverení k zdroju vyhodnotí podľa zabezpečenia OneLake.

Okrem toho sa pri vytváraní akýchkoľvek odkazov v OneLake vyhodnocujú bezpečnostné povolenia OneLake. Prečítajte si o povoleniach skratiek v dokumente zabezpečenia skratiek.

Zabezpečenie OneLake v prechodových skratkách

Bezpečnostné nastavenie na priečinku OneLake vždy prechádza cez akékoľvek interné skratky na obmedzenie prístupu k cieľovej ceste skratky. Keď používateľ pristupuje k údajom prostredníctvom odkazu na iné miesto v službe OneLake, identita volajúceho používateľa sa použije na oprávnenie prístupu k údajom v cieľovej ceste odkazu. Výsledkom je, že tento používateľ musí mať v cieľovom umiestnení povolenia zabezpečenia OneLake, aby mohol čítať údaje.

Important

Pri prístupe k skratkám cez Power BI sémantické modely pomocou Direct Lake over SQL alebo T-SQL enginov v režime delegovanej identity nie je identita volajúceho používateľa odovzdaná cieľovej skratke. Namiesto toho sa odovzdáva identita vlastníka volajúceho položky, ktorá delegovala prístup volajúcemu používateľovi. Na vyriešenie tohto problému použite Power BI sémantické modely v režime Direct Lake over OneLake alebo T-SQL v režime identity používateľa.

Definovanie bezpečnostných oprávnení OneLake pre internú skratku nie je povolené a bezpečnosť musí byť definovaná na cieľovom priečinku umiestnenom v cieľovom položke. Cieľová položka musí byť typ položky, ktorá podporuje roly zabezpečenia OneLake. Ak cieľová položka nepodporuje zabezpečenie OneLake, prístup používateľa sa vyhodnotí na základe toho, či má na cieľovú položku povolenie Fabric ReadAll. Používatelia nepotrebujú povolenie na čítanie látok k položke, aby k nej mali prístup prostredníctvom odkazu.

Zabezpečenie OneLake v delegovaných skratkách

OneLake podporuje definovanie povolení pre skratky, ako sú napríklad ADLS, S3 a Dataverse skratky. V tomto prípade sa povolenia použijú na základe delegovaného modelu oprávnenia povoleného pre tento typ odkazu.

Predpokladajme, že user1 vytvorí odkaz S3 v službe lakehouse smerujúci na priečinok v sektore AWS S3. Potom sa používateľ2 pokúša získať prístup k údajom v tomto odkaze.

Oprávňuje pripojenie S3 delegovaného používateľa prístup1? Oprávňuje zabezpečenie OneLake prístup pre vyžiadajúceho používateľa2? Výsledok: Môže používateľ 2 získať prístup k údajom v odkaze S3?
Yes Yes Yes
No No No
No Yes No
Yes No No

Povolenia zabezpečenia OneLake možno definovať buď pre celý rozsah odkazu, alebo pre vybraté podpriečinky. Povolenia nastavené v priečinku dedia rekurzívne pre všetky podpriečinky, a to aj v prípade, že podpriečinok sa nachádza v rámci odkazu. Rozsah zabezpečenia nastavený na externej skratke môže byť obmedzený tak, aby udeľoval prístup buď k celej skratke, alebo k akejkoľvek vedľajšej ceste v skratke. Ďalšia interná skratka smerujúca na externú skratku stále vyžaduje, aby mal používateľ prístup k pôvodnej externej skratke.

Na rozdiel od iných typov prístupu v zabezpečení OneLake používateľ pristupujúci k externej skratke vyžaduje povolenie na čítanie v látkach údajov pre údajovú položku, v ktorej sa nachádza externá skratka. Je to potrebné na bezpečné vyriešenie pripojenia k externému systému.

Získajte ďalšie informácie o skratkách S3, ADLS a Dataverse v skratkách OneLake.

Vyhodnocovanie viacerých rolí zabezpečenia OneLake

Používatelia môžu byť členmi viacerých rôznych rolí zabezpečenia OneLake, z ktorých každá poskytuje svoj vlastný prístup k údajom. Kombinácia týchto rolí sa nazýva "efektívna rola" a je to, čo používateľ uvidí pri prístupe k údajom vo OneLake. Roly sa kombinujú v zabezpečení OneLake pomocou modelu UNION alebo najmenej obmedzujúceho. To znamená, že ak Rola1 poskytuje prístup k tabuľke A a Rola2 poskytuje prístup k tabuľke B, používateľ bude môcť vidieť tabuľku A aj tabuľku B.

Roly zabezpečenia OneLake obsahujú aj zabezpečenie na úrovni riadkov a stĺpcov, ktoré obmedzuje prístup k riadkom a stĺpcom tabuľky. Každá politika zabezpečenia na úrovni riadkov a CLS existuje v rámci roly a obmedzuje prístup k údajom pre všetkých používateľov v rámci tejto jednej roly. Ak napríklad rola1 poskytuje prístup k tabuľke1, ale má zabezpečenie na úrovni riadkov v tabuľke1 a zobrazuje iba niektoré stĺpce tabuľky1, potom efektívnou úlohou pre rolu1 budú podmnožiny zabezpečenia na úrovni riadkov a CLS tabuľky1. To sa dá vyjadriť ako (R1ols n R1cls n R1rls), kde n je PRIESEČNÍK každej zložky v úlohe.

Pri práci s viacerými rolami sa zabezpečenia na úrovni riadkov a CLS kombinujú so sémantikou UNION v príslušných tabuľkách. CLS je priama množina UNION tabuliek viditeľných v každej role. Zabezpečenie na úrovni riadkov sa kombinuje naprieč predikátmi pomocou operátora OR. Napríklad WHERE mesto = "Redmond" OR mesto = "New York".

Na vyhodnotenie viacerých rolí, každá s RLS alebo CLS, každá rola sa najskôr vyrieši na základe prístupu, ktorý poskytuje samotná rola. To znamená vyhodnotiť PRIESEČNÍK všetkých zabezpečení na úrovni objektov, riadkov a stĺpcov. Každá vyhodnotená rola sa potom skombinuje so všetkými ostatnými rolami, ktorých je používateľ členom prostredníctvom operácie UNION. Výstupom je efektívna úloha pre daného používateľa. Dá sa to vyjadriť ako:

( (R1ols n R1cls n R1rls) u (R2ols n R2cls n R2rls) )

A nakoniec, každá skratka v jazernom dome generuje množinu odvodených rolí, ktoré sa používajú na rozšírenie povolení cieľa skratky na dotazovanú položku. Odvodené roly fungujú podobným spôsobom ako neodvodené roly s tým rozdielom, že sú vyriešené ako prvé na mieste v cieli skratky a potom sa skombinujú s rolami v skratke pri jazere. Tým sa zabezpečí, že sa preruší akákoľvek dedenie povolení v skratke pri jazere a odvodené roly sa vyhodnotia správne. Logiku úplnej kombinácie potom možno vyjadriť ako:

( (R1ols n R1cls n R1rls) u (R2ols n R2cls n R2rls) ) n ( (R1'ols n R1'cls n R1'rls) u (R2'ols n R2'cls n R2'rls)) )

Kde R1' a R2' sú odvodené roly a R1 a R2 sú skratky roly pri jazere.

Important

Ten istý používateľ v dvoch alebo viacerých rolách s rôznymi povolenými stĺpcami nie je podporovaný, ak niektorá z rolí má zároveň RLS príkaz. Napríklad Role1 umožňuje stĺpce c1 a c2 s RLS a Role2 stĺpce c2 a c3.

Obmedzenia zabezpečenia oneLake

  • Ak hosťovsovi priradíte rolu zabezpečenia OneLake, musíte nakonfigurovať nastavenia externej spolupráce pre B2B v externom ID služby Microsoft Entra. Nastavenie Prístup hosťovského používateľa musí byť nastavené tak, hosťovskí používatelia majú rovnaký prístup ako členovia (najširší okruh).

  • Ak pridáte distribučný zoznam do roly v OneLake security, SQL analytics endpoint nedokáže vyriešiť členov zoznamu, aby vynútil prístup. Výsledkom je, že používatelia sa pri prístupe k SQL analytics endpointu zdajú byť členmi tejto roly. Direct Lake na SQL sémantické modely podliehajú tomuto obmedzeniu tiež.

  • Poznámkové bloky Spark vyžadujú, aby prostredie bolo 3,5 alebo vyššie a používalo fabric runtime 1.3.

  • Náhľad dát pre RLS a CLS zabezpečené tabuľky nie je podporovaný pre jazerné domy bez schémy. Odporúčame používať jazerné domy so schémou a zabezpečením OneLake.

  • Bezpečnosť OneLake nefunguje s Azure Data Share ani Purview Data Share. Pre viac informácií pozri Azure Data Share.

  • Nasledujúca tabuľka obsahuje obmedzenia rolí prístupu k údajom v službe OneLake.

    Scenario Limit
    Maximálny počet rolí zabezpečenia OneLake na položku služby Fabric 250 rolí na položku1
    Maximálny počet členov na jednu rolu zabezpečenia OneLake 500 používateľov alebo skupín používateľov na jednu rolu
    Maximálny počet povolení pre rolu zabezpečenia OneLake 500 povolení na rolu

1 Môžete požiadať o zvýšenie počtu rolí na položku až na 1000. Ak chcete požiadať o zvýšenie, kontaktujte (Azure Support).[]https://azure.microsoft.com/support/faq/

Latencie zabezpečenia v službe OneLake

  • Použitie zmien definícií rolí trvá približne 5 minút.
  • Zmena skupiny používateľov v role zabezpečenia OneLake môže onelake trvať asi hodinu, kým onelake použije povolenia roly v aktualizovanej skupine používateľov.
    • Niektoré moduly Fabric majú vlastnú vrstvu ukladania do vyrovnávacej pamäte, takže aktualizácia prístupu vo všetkých systémoch môže vyžadovať hodinu navyše.