Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:
Databricks SQL
Databricks Runtime 16.4 a vyšší
pouze Unity Catalog
Vytvoří pojmenovanou zásadu na zabezpečitelném. Zásady můžou být filtry řádků nebo masky sloupců použité u katalogů, schémat nebo tabulek. Název zásady je vymezen na zabezpečitelnou zásadu, na které je zásada definována.
Pokud chcete tento příkaz spustit, musíte mít MANAGE oprávnění k cílovému zabezpečitelnému nebo jeho vlastníkovi.
Syntaxe
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
-
Název zásad Název je vymezen na zabezpečitelnou zásadu, na které je zásada definována. Pokud už zásada se stejným názvem existuje a
OR REPLACEnení zadaná, Azure Databricks vyvolá POLICY_ALREADY_EXISTS. -
Název katalogu, na kterém je zásada definována. Pokud se zabezpečitelný typ pro zásady nepodporuje, Azure Databricks vyvolá POLICY_ON_SECURABLE_TYPE_NOT_SUPPORTED.
-
Název schématu, na kterém je zásada definována.
-
Název tabulky, pro kterou je zásada definovaná.
popis
Volitelný komentář řetězce pro zásadu.
-
Název UDF, který se používá pro filtr řádků nebo masku sloupce.
principal
Název uživatele, skupiny nebo instančního objektu Několik objektů zabezpečení lze uvést za
TO. Objekty zabezpečení uvedené poEXCEPTjsou ze zásad vyloučeny.-
Pro
WHEN: logický výraz, který odpovídá zabezpečitelným výrazům (například podmínky značky na úrovni tabulky). ProMATCH COLUMNS: logický výraz, který odpovídá sloupcům (napříkladhas_tag('tag_name')). Podmínky se vyhodnocují řídicí rovinou na zabezpečitelných metadatech. Jediné uživatelem podporované funkce v podmínkách jsouhas_tag(),has_tag_value(),has_column_tag(), ahas_column_tag_value(). Starší velbloudí formuláře (hasTag,hasTagValue,hasColumnTag,hasColumnTagValue) nadále fungují pro zpětnou kompatibilitu. Pokud je podmínka neplatná, Azure Databricks vyvolá UC_INVALID_POLICY_CONDITION. alias
V
MATCH COLUMNSpřípadě volitelného identifikátoru odpovídajícího sloupce. Na alias se dá odkazovat (USING COLUMNSfiltr řádků) nebo doON COLUMNaUSING COLUMNS(maska sloupce).function_arg
V
USING COLUMNS, každý argument je buď konstantní výraz nebo alias zMATCH COLUMNS. Argumenty se předají funkci zásad v pořadí. Pokud se možnosti neshodují s typem zásad, Azure Databricks vyvolá UC_POLICY_TYPE_OPTIONS_MISMATCH.
Příklady
Následující příklad vytvoří zásadu masky sloupce:
> 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);
Následující příklad vytvoří zásadu filtru řádků:
> 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);