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.
Dotyczy:
Databricks SQL,
Databricks Runtime 16.4 i nowsze,
tylko katalog Unity
Tworzy nazwane zasady w zabezpieczanym obiekcie. Polityki mogą być filtrami wierszowymi, maskami kolumnowymi lub politykami ABACGRANT. Filtry wierszowe i maski kolumnowe są stosowane do katalogów, schematów lub tabel i są dostępne w Databricks Runtime 16.4 i wyższych. Polityki ABAC GRANT są stosowane do katalogów lub schematów i dynamicznie przyznają przywileje na zabezpieczenia, do których są skierowane. Nazwa zasad jest określana w zakresie zabezpieczania zasad.
Aby uruchomić tę instrukcję MANAGE , musisz mieć uprawnienie do zabezpieczania docelowego lub być jego właścicielem.
Tworzenie, modyfikowanie lub rezygnacja z polityki ABAC GRANT w SQL wymaga Databricks Runtime 18 LTS lub nowszego. W magazynach SQL wsparcie zależy od kanału wydania magazynu. Zobacz Wymagania dotyczące obliczeń.
Note
Środowisko Databricks Runtime 18 jest nowsze niż środowisko Databricks Runtime 18.0, 18.1 i 18.2. Funkcje, które wcześniej byłyby wydawane jako późniejsza wersja z kolejnym numerem, są teraz zamiast tego wydawane jako aktualizacje Databricks Runtime 18 oznaczone datą. Aby uzyskać szczegółowe informacje, zobacz Informacje o ujednoliconej wersji.
Składnia
CREATE [ OR REPLACE ] POLICY policy_name
ON { CATALOG catalog_name | SCHEMA schema_name | TABLE table_name }
[ COMMENT description ]
{ row_filter_body | column_mask_body | grant_policy_body }
row_filter_body
ROW FILTER function_name
TO principal [, ...]
[ EXCEPT principal [, ...] ]
FOR TABLES
[ WHEN condition ]
[ MATCH COLUMNS condition [ [ AS ] alias ] [, ...] ]
[ USING COLUMNS ( function_arg [, ...] ) ]
column_mask_body
COLUMN MASK function_name
TO principal [, ...]
[ EXCEPT principal [, ...] ]
FOR TABLES
[ WHEN condition ]
[ MATCH COLUMNS condition [ [ AS ] alias ] [, ...] ]
ON COLUMN alias
[ USING COLUMNS ( function_arg [, ...] ) ]
grant_policy_body
TO principal [, ...]
[ EXCEPT principal [, ...] ]
GRANT privilege [, ...]
FOR grant_target_type
[ WHEN condition ]
Politykę filtrów wierszowych i masek kolumn można zdefiniować na katalogu, schemacie lub tabeli. GRANT Polityki mogą być definiowane wyłącznie na podstawie katalogu lub schematu.
Parametry
-
Nazwa zasad. Nazwa jest określana w zakresie zabezpieczania zasad. Jeśli zasady o tej samej nazwie już istnieją i
OR REPLACEnie zostały określone, usługa Azure Databricks zgłasza POLICY_ALREADY_EXISTS. -
Nazwa katalogu, w którym zdefiniowano zasady. Jeśli zabezpieczany typ nie jest obsługiwany w przypadku zasad, usługa Azure Databricks zgłasza POLICY_ON_SECURABLE_TYPE_NOT_SUPPORTED.
-
Nazwa schematu, na którym zdefiniowano zasady.
-
Nazwa tabeli, w której zdefiniowano zasady.
opis
Opcjonalny komentarz ciągu dla zasad.
-
Nazwa funkcji zdefiniowanej przez użytkownika dla filtru wiersza lub maski kolumny.
uprawnienie
grant_policy_bodyW , przywilej przyznania każdej zabezpieczonej ochronie odpowiadającej polisie. Ważne uprawnienia zależą odgrant_target_type. Zobacz Obsługiwane zabezpieczone typy i uprawnienia.grant_target_type
W
grant_policy_body, typ zabezpieczenia, do którego przysługują przywileje. Użyj formy liczby mnogiej:MODELS,MODEL SERVICES,MODEL PROVIDER SERVICES, ,MCP SERVICESlubAGENT SERVICES. Akceptowana jest także forma podkreślona, taka jakMODEL_SERVICES, . Formy pojedyncze nie są akceptowane.principal
Nazwa główna użytkownika, grupy lub usługi. Wiele podmiotów zabezpieczeń można wymienić po
TO. Podmioty zabezpieczeń wymienione poEXCEPTwykluczonych z zasad.-
WHENto wyrażenie boolowske, które określa, czy polityka ma zastosowanie, na podstawie tagów zabezpieczenia, atrybutów tożsamości użytkownika zapytującego i/lub kontekstu żądania.MATCH COLUMNSto wyrażenie boolowske, które dopasowuje kolumny na podstawie ich tagów (na przykładhas_tag('pii')).Warunki są oceniane przez płaszczyznę sterowania. Następujące funkcje są obsługiwane w warunkach:
-
Funkcje tagów (
has_tag()ihas_tag_value()): obsługiwane zarówno wWHEN, jak iMATCH COLUMNS. Gdy są używane wWHEN, sprawdzają tagi ustawione bezpośrednio na tabeli lub odziedziczone z katalogu nadrzędnego lub schematu. W przypadku użycia w programieMATCH COLUMNSsprawdzają tagi ustawiane bezpośrednio tylko w kolumnie. Starsze formularze camelCase (hasTag,hasTagValue) nadal działają w celu zapewnienia zgodności z poprzednimi wersjami. -
Funkcje atrybutów tożsamości (
has_identity_attribute_value()orazhas_identity_attribute_tag_match()): wspierane w klauzuliWHENpolityk maski kolumnowej, gdzie oceniają atrybuty tożsamości użytkownika wykonującego zapytanie. Nie są wspierane wGRANTpolitykach aniDENYwMATCH COLUMNS. Zobacz Maskuj kolumnę opartą na atrybutach użytkownika zapytującego. -
Funkcje atrybutów kontekstu (
has_context_attribute()orazhas_context_attribute_value()): obsługiwane w klauzuliWHENfiltrów wierszowych i polityk masek kolumnowych, gdzie oceniają kontekst żądania, takiego jak wywołująca aplikacja. Nie są one wspierane wMATCH COLUMNS. Zobacz Ogranicz dostęp dla zewnętrznych agentów działających w imieniu użytkownika.
Jeśli warunek jest nieprawidłowy, usługa Azure Databricks zgłasza UC_INVALID_POLICY_CONDITION.
-
Funkcje tagów (
alias
W
MATCH COLUMNSpliku opcjonalny identyfikator dopasowanej kolumny. Alias można odwoływać się do elementuUSING COLUMNS(filtr wiersza) lub wON COLUMNelemencie iUSING COLUMNS(maska kolumny).function_arg
W elememencie
USING COLUMNSkażdy argument jest wyrażeniem stałym lub aliasem zMATCH COLUMNSklasy . Argumenty są przekazywane do funkcji zasad w kolejności. Jeśli opcje nie są zgodne z typem zasad, usługa Azure Databricks zgłasza UC_POLICY_TYPE_OPTIONS_MISMATCH.
Examples
Poniższy przykład tworzy zasady maski kolumn:
> CREATE FUNCTION ssn_to_last_nr (ssn STRING, nr INT) RETURNS STRING
RETURN right(ssn, nr);
> CREATE POLICY ssn_mask
ON CATALOG employees
COLUMN MASK ssn_to_last_nr
TO 'All Users' EXCEPT 'HR admins'
FOR TABLES
MATCH COLUMNS has_tag('ssn') AS ssn
ON COLUMN ssn
USING COLUMNS (4);
Poniższy przykład tworzy zasady filtrowania wierszy:
> CREATE FUNCTION non_eu_region (geo_region STRING) RETURNS BOOLEAN
RETURN geo_region <> 'eu';
> CREATE POLICY hide_eu_customers
ON SCHEMA prod.customers
COMMENT 'Hide European customers from sensitive tables'
ROW FILTER non_eu_region
TO analysts
FOR TABLES
WHEN has_tag_value('sensitivity', 'high')
MATCH COLUMNS has_tag('geo_region') AS region
USING COLUMNS (region);
Poniższy przykład tworzy politykę ABACGRANT, która przyznaje EXECUTE przyznaje na każdą modelową usługę stworzoną przez Anthropic:
> CREATE POLICY grant_anthropic_model_services
ON SCHEMA system.ai
COMMENT 'Grant EXECUTE on Anthropic model services'
TO data_scientists
EXCEPT contractors
GRANT EXECUTE FOR MODEL SERVICES
WHEN has_tag_value('ai.model_creator', 'anthropic');