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. Politiky mohou být řádkové filtry, sloupcové masky nebo ABAC GRANT politiky. Řádkové filtry a sloupcové masky se aplikují na katalogy, schémata nebo tabulky a jsou dostupné v Databricks Runtime 16.4 a novějších. Politiky ABAC GRANT se aplikují na katalogy nebo schémata a dynamicky udělují privilegia na zabezpečení, na která cílí. Můžete také připojit politiku k metastore, aby platila pro všechny katalogy v metastore. Viz Metastore level ABAC policies (Beta). 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. Pro vytvoření politiky ON METASTORE (Beta) musíte být správce metastore.
Vytvoření, úprava nebo zrušení ABAC GRANT politiky nebo DENY politiky (Beta) pomocí SQL vyžaduje Databricks Runtime 18 LTS nebo vyšší. U SQL skladů závisí podpora na kanálu vydání skladu. Viz požadavky na výpočetní výkon pro GRANT politiky a politikyDENY.
Vytvoření, úprava nebo zrušení politiky na úrovni metastore (Beta) pomocí SQL vyžaduje Databricks Runtime 19 nebo vyšší. Viz požadavky na výpočetní prostředky.
Note
Databricks Runtime 18 je novější než Databricks Runtime 18.0, 18.1 a 18.2. Funkce, které by se dříve vydávaly v rámci pozdější číslované verze, se nyní místo toho vydávají jako aktualizace označené datem pro Databricks Runtime 18. Podrobnosti najdete v článku o jednotných poznámkách k verzi.
Syntaxe
CREATE [ OR REPLACE ] POLICY policy_name
ON { METASTORE | 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 ]
Řádkové filtry a politiky sloupcových masek lze definovat na metastore (Beta), katalogu, schématu nebo tabulce.
GRANT Politiky lze definovat na metastore, katalogu nebo schématu.
ON METASTORE Nebere jméno a cílí na metastore, ve kterém právě působíte.
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.
oprávnění
grant_policy_bodyV , privilegium udělit každé pojišťovně, která odpovídá pojistce. Platná privilegia závisí nagrant_target_type. Viz Podporované zabezpečené typy a privilegia.grant_target_type
grant_policy_bodyV , typ zajištění, na které se vztahují udělená práva. Použijte množné číslo: , , , ,MCP SERVICES, neboAGENT SERVICES.MODEL PROVIDER SERVICESMODEL SERVICESMODELSPodtržená forma, napříkladMODEL_SERVICES, je také přijímána. Jednotné tvary nejsou přijímány.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.-
WHENje booleovský výraz, který určuje, zda se politika uplatní, na základě značek securable, atributů identity dotazovaného uživatele a/nebo kontextu požadavku.MATCH COLUMNSje booleovský výraz, který porovnává sloupce podle jejich značek (napříkladhas_tag('pii')).Podmínky jsou vyhodnocovány řídicí rovinou. Následující funkce jsou podporovány za podmínek:
-
Funkce tagů (
has_tag()ahas_tag_value()): podporované jak vWHENtak, tak .MATCH COLUMNSPři použití vWHEN, kontrolují značky nastavené přímo v tabulce nebo zděděné z nadřazeného katalogu či schématu. Při použitíMATCH COLUMNSkontrolují značky nastavené přímo ve sloupci. Starší formuláře camelCase (hasTag,hasTagValue) nadále fungují kvůli zpětné kompatibilitě. -
Funkce atributů identity (
has_identity_attribute_value()ahas_identity_attribute_tag_match()): podporovány v klauzuliWHENpolitik pro sloupcové masky, kde vyhodnocují atributy identity uživatele spouštějícího dotaz. Nejsou podporovány vGRANTDENYpolitikách ani vMATCH COLUMNS. Viz Mask sloupce založený na atributech dotazujícího uživatele. -
Funkce atributů kontextu (
has_context_attribute()ahas_context_attribute_value()): podporované v klauzuliWHENřádkových filtrů a politik sloupcové masky, kde vyhodnocují kontext požadavku, například volající aplikace. Nejsou podporovány vMATCH COLUMNS. Viz Omezit přístup externím agentům jednajícím jménem uživatele.
Pokud je podmínka neplatná, Azure Databricks vyvolá UC_INVALID_POLICY_CONDITION.
-
Funkce tagů (
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);
Následující příklad vytváří ABAC GRANT politiku, která uděluje EXECUTE granty na každou modelovou službu vytvořenou 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');