Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Important
Ta funkcja jest dostępna w publicznej wersji testowej.
Na tej stronie opisano kontrolę dostępu opartą na atrybutach (ABAC) w Unity Catalog.
Co to jest ABAC?
ABAC to model zarządzania danymi, który zapewnia elastyczną, skalowalną i scentralizowaną kontrolę dostępu w usłudze Azure Databricks. ABAC uzupełnia istniejący model dostępu Katalogu Unity, umożliwiając definiowanie zasad na podstawie zarządzanych tagów, które są przypisane do zasobów danych. Upraszcza to nadzór i zwiększa bezpieczeństwo.
Użytkownicy z uprawnieniami MANAGE lub własnością obiektu muszą definiować zasady tylko raz i mogą stosować je spójnie w wielu zasobach danych. Zasady są dołączane na poziomie wykazu, schematu lub tabeli i są automatycznie stosowane do wszystkich tabel w tym zakresie. Po zdefiniowaniu na wyższych poziomach zasady są dziedziczone w dół do obiektów podrzędnych. Tagi zarządzane w zasobach danych określają, które zasady są wymuszane, co pozwala na dynamiczne dostosowywanie kontroli dostępu.
Korzyści wynikające z usługi ABAC
- Skalowalność: Zarządzaj mechanizmami kontroli dostępu na dużą skalę, korzystając z tagów zamiast poszczególnych uprawnień.
- Elastyczność: Łatwe dostosowywanie ładu przez aktualizowanie tagów lub zasad bez modyfikowania każdego zasobu danych.
- Scentralizowany nadzór: Uproszczenie zarządzania zasadami za pomocą ujednoliconego modelu obejmującego wykazy, schematy i tabele.
- Ulepszone zabezpieczenia: Wymuszanie szczegółowej kontroli dostępu dynamicznie na podstawie atrybutów danych.
- Możliwość inspekcji: Zachowaj wgląd w dane w czasie rzeczywistym za pomocą kompleksowych dzienników inspekcji.
Jak działa ABAC
ABAC w katalogu Unity wykorzystuje zarządzane tagi, zasady i funkcje definiowane przez użytkownika (UDF) do egzekwowania dynamicznej kontroli dostępu opartej na atrybutach. Następujące składniki i mechanizmy są centralne dla usługi ABAC:
Tagi zarządzane: Tagi zarządzane są definiowane na poziomie konta przy użyciu zasad tagów. Te znaczniki reprezentują atrybuty, takie jak wrażliwość danych, klasyfikacja lub domena biznesowa, i są przypisywane do tabel, schematów lub wykazów w katalogu Unity. Służą one jako atrybuty, które napędzają wymuszanie zasad. Zobacz Zarządzane tagi i Zastosuj tagi do zabezpieczanych obiektów wykazu aparatu Unity.
Zasady: Zasady są tworzone i zarządzane na trzech poziomach hierarchicznych w Unity Catalog.
- Poziom katalogu: Zastosuj szerokie zasady wpływające na wszystkie zawarte schematy i tabele.
- Poziom schematu: Zastosuj zasady specyficzne dla schematu i jego tabel.
- Poziom tabeli: Zastosuj szczegółowe zasady bezpośrednio w poszczególnych tabelach.
Zasady są zgodne z modelem dziedziczenia: gdy zasady są zdefiniowane na poziomie wykazu lub schematu, są automatycznie stosowane do wszystkich obiektów podrzędnych, schematów i tabel w tym zakresie. Dzięki temu administratorzy mogą wdrażać efektywne zarządzanie, stosując pojedyncze zasady, które zarządzają dużymi zestawami zasobów danych. Dziedziczone zasady redukują nadmiarowość i promują spójne egzekwowanie w obrębie hierarchii danych. Databricks zaleca definiowanie zasad na najwyższym możliwym poziomie, zwykle katalogu, aby zmaksymalizować efektywność zarządzania i zmniejszyć obciążenie administracyjne. Zobacz Tworzenie zasad kontroli dostępu opartej na atrybutach (ABAC) i zarządzanie nimi.
Funkcje zdefiniowane przez użytkownika (UDF): Funkcje zdefiniowane przez użytkownika są funkcjami niestandardowymi zdefiniowanymi na poziomie schematu i mogą być przywoływane globalnie w przestrzeni nazw Unity Catalog. W ramach zasad używa się funkcji zdefiniowanych przez użytkownika do wyrażania złożonej logiki. Umożliwia to filtrowanie wierszy lub maskowanie wartości kolumn na podstawie atrybutów. Na przykład funkcja zdefiniowana przez użytkownika
filter_regionmoże być używana w polityce filtrowania wierszy do zwracania tylko wierszy, w którychregion = 'EMEA'. Zobacz funkcje definiowane przez użytkownika (UDFs) w katalogu Unity.Wymuszanie dynamiczne: Gdy użytkownik próbuje uzyskać dostęp do oznakowanego zasobu danych, Unity Catalog ocenia odpowiednie zasady na podstawie tagów i wymusza zdefiniowane kontrole dostępu.
Użytkownicy, którzy są jawnie wykluczeni z zasad, mogą nadal wykonywać akcje, takie jak głębokie i płytkie klonowanie, oraz podróż w czasie na danych bazowych. Jednak użytkownicy, którzy nie są wykluczeni z zasad ABAC, podlegają tym samym ograniczeniom, które mają zastosowanie do szczegółowej kontroli dostępu.
Rejestrowanie inspekcji: Wszystkie operacje na oznakowanych zasobach danych są przechwytywane i rejestrowane w tabeli systemu dzienników inspekcji, co umożliwia kompleksową widoczność i śledzenie zgodności. Zobacz Dzienniki inspekcji.
Aby dowiedzieć się, jak skonfigurować usługę ABAC, zobacz Samouczek: konfigurowanie usługi ABAC.
Aby zapoznać się z demonstracją konfigurowania ABAC, zobacz Odkryj kontrolę dostępu opartą na atrybutach (ABAC) z Unity Catalog.
Typy zasad
Obsługiwane są dwa typy zasad ABAC:
Zasady filtrowania wierszy ograniczają dostęp do poszczególnych wierszy w tabeli na podstawie ich zawartości. Funkcja UDF filtru decyduje, czy każdy wiersz powinien być widoczny dla użytkownika. Te zasady są przydatne, gdy dostęp zależy od cech danych.
Przykładowy przypadek użycia: Pokaż tylko wiersze w tabeli transakcji klienta, w której kolumna region jest zgodna z tagiem zarządzanym, takim jak
region=EMEA. Dzięki temu zespoły regionalne mogą wyświetlać tylko dane istotne dla ich regionu.Zasady maskowania kolumn kontrolują, jakie wartości użytkownicy widzą w określonych kolumnach. Funkcja UDF maskowania może zwrócić rzeczywistą wartość lub zredagowaną wersję na podstawie zarządzanych tagów.
Przykładowy przypadek użycia: Maskuj kolumnę zawierającą numery telefonów, chyba że tabela jest oznaczona
sensitivity=lowlub żądający użytkownik znajduje się w grupie zgodności. Użytkownicy bez dostępu widzą wartość null lub symbol zastępczy, taką jakXXX-XXX-XXXX.
Zobacz Tworzenie zasad kontroli dostępu opartej na atrybutach (ABAC) i zarządzanie nimi.
Ograniczenia
- Aby uzyskać dostęp do tabeli zabezpieczonej przez abAC, należy użyć obliczeń obliczeniowych w środowisku Databricks Runtime 16.4 lub nowszym lub bezserwerowym. Użytkownicy, którzy nie podlegają zasadom, mogą korzystać z dowolnego środowiska uruchomieniowego.
- Nie można stosować zasad ABAC bezpośrednio do widoków. Jednak w przypadku wykonywania zapytań dotyczących widoku opartego na tabelach z zasadami ABAC tożsamość i uprawnienia właściciela widoku są używane do oceny zasad. Oznacza to:
- Właściciel widoku musi mieć odpowiednie uprawnienia do bazowych tabel chronionych przez ABAC.
- Dostęp do danych jest oceniany na podstawie uprawnień właściciela widoku. Gdy użytkownicy wysyłają zapytania do widoku, widzą przefiltrowane lub zamaskowane dane, gdy są wyświetlane właścicielowi widoku.
- Zachowanie może się różnić w zależności od konfiguracji obliczeniowej. Aby uzyskać szczegółowe informacje, zobacz Wymagania dotyczące wykonywania zapytań dotyczących widoków.
- Zasady dotyczące zmaterializowanych widoków i tabel przesyłania strumieniowego są obsługiwane tylko wtedy, gdy właściciel potoku jest zwolniony z działania zasad.
- Użytkownicy mogą udostępniać tabele Delta zabezpieczone przez zasady ABAC, jeśli mają wymagane uprawnienia do udostępniania Delta i są wyłączone spod zasad ABAC. Zasady nie zarządzają dostępem adresata. Jeśli chodzi o dostawców udziałów, zobacz Dodawanie tabel i schematów zabezpieczonych przez zasady ABAC do udziału. Aby uzyskać informacje o adresatach udziałów, zobacz Odczyt danych zabezpieczonych przez abAC i stosowanie zasad ABAC.
- Tylko jeden jednoznaczny filtr wierszy może zostać zastosowany podczas wykonywania dla danej tabeli i danego użytkownika. Można zdefiniować wiele zasad filtrowania wierszy, ale gdy użytkownik wysyła zapytanie do tabeli, musi być zgodny tylko jeden warunek zasad. Jeśli do tego samego użytkownika i tabeli zastosowano wiele różnych filtrów wierszy, usługa Azure Databricks blokuje dostęp i zgłasza błąd. Wiele zasad jest dozwolonych, jeśli w wyniku tego samego filtru (na przykład tej samej funkcji zdefiniowanej przez użytkownika z tymi samymi argumentami). Zobacz Rozwiązywanie problemów z wieloma filtrami lub maskami.
- Tylko jedna odrębna maska kolumn może zostać zastosowana w czasie wykonywania dla danej kolumny i danego użytkownika. Można zdefiniować wiele zasad maski kolumn, ale gdy użytkownik wysyła zapytanie do tabeli, tylko jedno warunki zasad muszą być zgodne dla każdej kolumny. Jeśli wiele odrębnych masek kolumn ma zastosowanie do tej samej kolumny dla tego samego użytkownika, usługa Azure Databricks blokuje dostęp i zgłasza błąd. Wiele zasad jest dozwolonych, jeśli w wyniku tej samej maski (na przykład tej samej funkcji zdefiniowanej przez użytkownika z tymi samymi argumentami). Zobacz Rozwiązywanie problemów z wieloma filtrami lub maskami.
- Zasady ABAC mogą zawierać maksymalnie trzy warunki dotyczące kolumn w klauzuli
MATCH COLUMNS. - Nie ma tabeli schematu informacji dla zasad ABAC. Tabele
information_schema.row_filtersiinformation_schema.column_maskspokazują tylko filtry wierszy i maski kolumn, które są stosowane bezpośrednio do tabel. Nie pokazują one definicji zasad ABAC ani filtrów i masek pochodzących z zasad ABAC w czasie wykonywania. - Aby uzyskać informacje o ograniczeniach funkcji ABAC dotyczących dedykowanych zasobów obliczeniowych, zobacz Ograniczenia.
Aby uzyskać informacje o ograniczeniach filtrów wierszy i maskach kolumn, zobacz Ograniczenia.