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. Zasady mogą być filtrami wierszy lub maskami kolumn zastosowanymi do katalogów, schematów lub tabel. 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.
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 }
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 [, ...] ) ]
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.
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.-
Dla
WHEN: wyrażenie logiczne, które pasuje do zabezpieczanych (na przykład warunków tagów na poziomie tabeli). DlaMATCH COLUMNS: wyrażenie logiczne, które pasuje do kolumn (na przykładhasTag('tag_name')). Warunki są oceniane przez płaszczyznę sterowania na zabezpieczanych metadanych. Jedynymi funkcjami dostępnymi dla użytkowników w warunkach sąhasTag()ihasTagValue(). Jeśli warunek jest nieprawidłowy, usługa Azure Databricks zgłasza UC_INVALID_POLICY_CONDITION. 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 hasTag('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 hasTagValue('sensitivity', 'high')
MATCH COLUMNS hasTag('geo_region') AS region
USING COLUMNS (region);