Tábla-, oszlop- és sorszintű biztonság a OneLake-ben

A OneLake biztonsági szerepkörei irányítják, ki férhet hozzá a Fabric termékeidben lévő adatokhoz. Néha egy egész tárgyhoz való hozzáférés engedélyezése vagy megtagadása túl durva. Lehet, hogy el kell rejtened érzékeny oszlopokat, korlátoznod kell, hogy a felhasználó mely sorokat látja, vagy csak bizonyos táblákat kell megjeleníteni. Egy szerepkörön belül három szintű részletességi szinten lehet finomítani a hozzáférést: objektumszintű biztonság táblák és mappák esetén, oszlopszintű biztonság (CLS) az egyes oszlopok esetén, valamint sorszintű biztonság (RLS) az egyes sorok esetén.

Ez a cikk elmagyarázza, mit csinál az egyes vezérlők, és hogyan érvényesíti azt a OneLake. Ezen vezérlők létrehozásával kapcsolatban lásd: OneLake biztonsági szerepkörök létrehozása és kezelése.

A OneLake biztonsági szerepkörei támogatási modellt használnak az adatokhoz való hozzáféréshez. Nem tagadhatod meg a hozzáférést, amit más szerepkör vagy jogosultsági modell biztosít. Ezért ezek a vezérlők nem korlátozzák a felhasználókat a Admin, Tag és Hozzájáruló szerepekben a munkaterületi szinten.

Tábla- és mappabiztonság

A táblázat- és mappászintű biztonság, más néven objektumszintű biztonság (OLS), lehetővé teszi, hogy hozzáférést biztosítson egy adattárgyban lévő konkrét táblákhoz vagy mappákhoz. Az OLS használatával mappaszinten hozhat létre jogosultságokat strukturált és strukturálatlan adatokra. Mivel a Delta Parquet táblák a OneLake-ben mappákként vannak ábrázolva, ugyanúgy védheted a táblákat, ahogy a mappákat is véded. A sémák egyben mappák is, ezért ugyanúgy védheti le őket.

Oszlop- és sorszintű biztonság

A OneLake biztonsága az oszlop- és sorszintű biztonságot kétféleképpen tartja be:

  • Szűrőtáblák: Az a felhasználó, aki egy táblát Fabric motorral, például Spark notebookokkal vagy egy hivatalos harmadik féltől származó motorral kérdez, csak azokat az oszlopokat vagy sorokat látja, amelyeket a CLS vagy RLS szabályok engedélyeznek.
  • Blokktáblák: Az a felhasználó, aki egy táblázatot illetéktelen harmadik féltől származó motorral kérdez, nem tudja elolvasni a táblázatot.

A OneLake biztonsága érvényesítheti a CLS és RLS szabályokat Delta Parquet táblákra vagy virtualizált Iceberg táblákra. Más táblatípusokra alkalmazott szabályok blokkolják a teljes tábla elérését a szerep tagjai számára.

Ha egy CLS vagy RLS szabály eltér a definiált táblával, a lekérdezés meghibásodik, és nem ad vissza adatot. Például eltérés lép fel, amikor egy szabály olyan oszlopra hivatkozik, amely nincs a táblában.

Oszlopszintű biztonság

Az oszlopszintű biztonság (CLS) hozzáférést biztosít a táblában található kiválasztott oszlopokhoz a teljes tábla helyett. Az oszlopokban lévő adatok, amelyeket az engedélyezett listáról eltávolítasz, nem láthatóak a felhasználók számára.

A CLS-szel szűrt táblák esetén a következő viselkedések érvényesek:

  • Ha egy felhasználó egy táblázaton futtat lekérdezéstselect *, ahol csak néhány oszlophoz fér hozzá, a CLS szabályok a Fabric motortól függően eltérően viselkednek:
    • Spark jegyzetfüzetek: A lekérdezés sikeres, és csak az engedélyezett oszlopokat mutatja.
    • SQL analitikai végpont: A lekérdezés hibát ad vissza, és blokkolja azokat az oszlopokat, amelyekhez a felhasználó nem fér hozzá.
    • Szemantikai modellek: A lekérdezés hibát ad vissza, és blokkolja azokat az oszlopokat, amelyekhez a felhasználó nem fér hozzá.
  • Bizonyos élményekben látható lehet egy biztonságos oszlop neve, de az adatértékek soha nem jelennek meg.

Sorszintű biztonság

A sorszintű biztonság (RLS) sorszintű adatkorlátozásokat határoz meg a OneLake-ben tárolt táblázatos adatokra. Olyan szerepeket definiálsz, amelyek szabályokat tartalmaznak a szerep tagjai adatsorainak szűréséhez. Amikor egy RLS szerep tagja lekérdezi az adatokat, a OneLake értékeli az RLS szabályait, és csak az engedélyezett sorokat adja vissza. A sorok csak táblázatos adatokra vonatkoznak, így nem lehet RLS-t definiálni nem táblázatos mappákra vagy strukturálatlan adatokra.

Az RLS-szel szűrt táblák esetén a következő viselkedések érvényesek:

  • A táblákhoz való hozzáférés blokkolható, ha az RLS-utasítás szintaxishibákat tartalmaz, amelyek megakadályozzák annak kiértékelését.

Az RLS szabályok írásához használt szintaxisért lásd: Sorszintű biztonsági szintaxishivatkozás.

Az RLS szerepek nem támogatják a dinamikus és többtáblás lekérdezéseket.

Sorszintű és oszlopszintű biztonság egyesítése

A sorszintű és az oszlopszintű biztonság együttes használatával korlátozhatja a felhasználók hozzáférését egy táblához. A két szabályzatot azonban egyetlen OneLake biztonsági szerepkörrel kell alkalmazni. Ebben a forgatókönyvben az adatokhoz való hozzáférés az egyetlen szerepkörben beállított szabályok szerint korlátozott.

A OneLake-biztonság nem támogatja két vagy több olyan szerepkör kombinációját, ahol az egyik RLS-szabályokat, a másik pedig CLS-szabályokat tartalmaz. Azok a felhasználók, amelyek nem támogatott szerepkör-kombinációk részét képező táblákhoz próbálnak hozzáférni, lekérdezési hibákat kapnak.