Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Role bezpieczeństwa OneLake kontrolują, kto może uzyskać dostęp do danych w Twoich elementach Fabric. Czasami przyznawanie lub odmawianie dostępu do całego elementu jest zbyt ogólne. Możesz potrzebować ukryć wrażliwe kolumny, ograniczyć, które wiersze widzi użytkownik, lub udostępnić tylko niektóre tabele. W ramach roli można doprecyzować dostęp na trzech poziomach szczegółowości: bezpieczeństwo na poziomie obiektowym dla tabel i folderów, bezpieczeństwo na poziomie kolumn (CLS) dla poszczególnych kolumn oraz bezpieczeństwo na poziomie wiersza (RLS) dla poszczególnych wierszy.
Ten artykuł wyjaśnia, co robi każda kontrolka i jak OneLake ją egzekwuje. Aby tworzyć te kontrole, zobacz Tworzenie i zarządzanie rolami bezpieczeństwa OneLake.
Role w OneLake w zakresie bezpieczeństwa korzystają z modelu grantowego, aby umożliwić dostęp do danych. Nie możesz odmówić dostępu przyznanego przez inny model roli lub uprawnień. Z tego powodu te kontrolki nie ograniczają dostępu użytkowników w rolach Admin, Członek i Współtwórca na poziomie przestrzeni roboczej.
Zabezpieczenia tabel i folderów
Bezpieczeństwo na poziomie tabeli i folderów, zwane także bezpieczeństwem na poziomie obiektowym (OLS), pozwala na przyznanie dostępu do konkretnych tabel lub folderów w danym elementie danych. Dzięki OLS tworzysz uprawnienia zarówno dla danych strukturalnych, jak i niestrukturalnych na poziomie folderów. Ponieważ tabele Delta Parquet w usłudze OneLake mają postać folderów, możesz zabezpieczać tabele w ten sam sposób, w jaki zabezpieczasz foldery. Schematy to też foldery, więc można je zabezpieczyć w ten sam sposób.
Bezpieczeństwo na poziomie kolumn i wierszy
Zabezpieczenia w usłudze OneLake wymuszają zabezpieczenia na poziomie kolumn i wierszy na jeden z dwóch sposobów:
- Tabele filtrów: Użytkownik, który zadaje zapytania do tabeli za pomocą silnika Fabric, takiego jak Spark notebooks, lub autoryzowanego silnika firm trzecich, widzi tylko kolumny lub wiersze, na które pozwalają reguły CLS lub RLS.
- Tabele blokowe: Użytkownik, który zadaje zapytania do tabeli za pomocą nieautoryzowanego silnika zewnętrznego, nie może odczytać tabeli.
Zabezpieczenia OneLake mogą wymuszać reguły CLS i RLS dla tabel Delta Parquet lub zwirtualizowanych tabel Iceberg. Reguły stosowane do innych typów tabel blokują dostęp do całej tabeli dla członków roli.
Jeśli reguła CLS lub RLS ma niezgodność z tabelą, na której jest zdefiniowana, zapytanie kończy się niepowodzeniem i nie zwraca żadnych danych. Na przykład niedopasowanie występuje, gdy reguła odnosi się do kolumny, której nie ma w tabeli.
Zabezpieczenia na poziomie kolumny
Bezpieczeństwo na poziomie kolumn (CLS) przyznaje dostęp do wybranych kolumn w tabeli zamiast do całej tabeli. Dane w kolumnach, które usuwasz z listy dozwolonych, nie są widoczne dla użytkowników.
Dla tabel filtrowanych za pomocą CLS obowiązują następujące zachowania:
- Jeśli użytkownik wykona
select *zapytanie w tabeli, gdzie ma dostęp tylko do niektórych kolumn, reguły CLS zachowują się inaczej w zależności od silnika Fabric:- Notatniki Spark: Zapytanie kończy się sukcesem i pokazuje tylko dozwolone kolumny.
- Endpoint analityki SQL: Zapytanie zwraca błąd i blokuje dostęp do kolumn, do których użytkownik nie ma dostępu.
- Modele semantyczne: Zapytanie zwraca błąd i blokuje dostęp do kolumn, do których użytkownik nie ma dostępu.
- Nazwa zabezpieczonej kolumny może być widoczna w niektórych doświadczeniach, ale wartości danych nigdy się nie pojawiają.
Zabezpieczenia na poziomie wiersza
Bezpieczeństwo na poziomie wiersza (RLS) definiuje ograniczenia danych na poziomie wiersza dla danych tabelarzowych przechowywanych w OneLake. Definiujesz role zawierające reguły filtrowania wierszy danych dla członków tej roli. Gdy członek roli RLS wysyła zapytanie do danych, usługa OneLake sprawdza reguły RLS i zwraca tylko dozwolone wiersze. Wiersze to pojęcie istotne tylko dla danych tabelarnych, więc nie można zdefiniować RLS dla folderów niebędących tabelami ani danych nieustrukturyzowanych.
Dla tabel filtrowanych za pomocą RLS mają zastosowanie następujące zachowania:
- Dostęp do tabeli może zostać zablokowany, jeśli instrukcja RLS zawiera błędy składni, które uniemożliwiają jej przetworzenie.
Aby poznać składnię stosowaną przy pisaniu reguł RLS, zobacz informacje o składni zabezpieczeń na poziomie wiersza.
Łączenie zabezpieczeń na poziomie wiersza i na poziomie kolumny
Zabezpieczenia na poziomie wiersza i na poziomie kolumny mogą być używane razem w celu ograniczenia dostępu użytkowników do tabeli. Należy jednak zastosować dwie zasady przy użyciu jednej roli zabezpieczeń OneLake. W tym scenariuszu dostęp do danych jest ograniczony zgodnie z regułami ustawionymi w jednej roli.
Zabezpieczenia OneLake nie obsługują kombinacji co najmniej dwóch ról, w których jedna zawiera reguły zabezpieczeń na poziomie wiersza, a druga zawiera reguły ograniczeń na poziomie kolumn. Użytkownicy, którzy próbują uzyskać dostęp do tabel będących częścią nieobsługiwanej kombinacji roli, otrzymują błędy zapytania.