Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:
Databricks SQL
Databricks Runtime 16.4 en hoger
alleen Unity Catalog
Hiermee maakt u een benoemd beleid voor een beveiligbaar beleid. Beleidsregels kunnen rijfilters of kolommaskers zijn die zijn toegepast op catalogi, schema's of tabellen. De beleidsnaam is gericht op het beveiligbare beleid waarop het beleid is gedefinieerd.
Als u deze instructie wilt uitvoeren, moet u beschikken over de MANAGE bevoegdheid voor het beveiligbare doel of de eigenaar ervan.
Syntaxis
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 [, ...] ) ]
Parameterwaarden
-
Naam van het beleid. De naam is afgestemd op het beveiligbare beleid waarop het beleid is gedefinieerd. Als er al een beleid met dezelfde naam bestaat en
OR REPLACEniet is opgegeven, genereert Azure Databricks POLICY_ALREADY_EXISTS. -
De naam van de catalogus waarop het beleid is gedefinieerd. Als het beveiligbare type niet wordt ondersteund voor beleid, verhoogt Azure Databricks POLICY_ON_SECURABLE_TYPE_NOT_SUPPORTED.
-
De naam van het schema waarop het beleid is gedefinieerd.
-
De naam van de tabel waarop het beleid is gedefinieerd.
beschrijving
Een optionele tekenreekscommentaar voor het beleid.
-
De naam van de UDF die wordt gebruikt voor het rijfilter of kolommasker.
principal
Een naam voor een gebruiker, groep of service-principal. Er kunnen meerdere principals worden weergegeven na
TO. Principals die worden vermeld nadatEXCEPTze zijn uitgesloten van het beleid.-
WHENis een booleaanse uitdrukking die bepaalt of het beleid van toepassing is, op basis van de tags van de Securable, de identiteitsattributen van de gebruiker die het aanvraagt, en/of de context van het verzoek.MATCH COLUMNSis een booleaanse expressie die kolommen overeenkomt op basis van hun tags (bijvoorbeeldhas_tag('pii')).Omstandigheden worden geëvalueerd door het controlevlak. De volgende functies worden ondersteund in voorwaarden:
-
Tagfuncties (
has_tag()enhas_tag_value()): ondersteund in zowelWHENalsMATCH COLUMNS. Wanneer gebruikt inWHEN, controleren ze tags die direct op de tabel zijn gezet of geërfd zijn van een oudercatalogus of schema. Wanneer ze wordenMATCH COLUMNSgebruikt, controleren ze de tags die rechtstreeks op de kolom zijn ingesteld. De oudere camelCase-formulieren (hasTag,hasTagValue) blijven werken voor achterwaartse compatibiliteit. -
Identiteitsattribuutfuncties (
has_identity_attribute_value()enhas_identity_attribute_tag_match()): ondersteund in deWHENclausule van kolommasker-beleid, waarbij ze de identiteitsattributen van de gebruiker evalueren die de query uitvoert. Ze worden niet ondersteund inGRANTofDENYbeleid of inMATCH COLUMNS. Zie Mask een kolom gebaseerd op attributen van de zoekende gebruiker. -
Contextattribuutfuncties (
has_context_attribute()enhas_context_attribute_value()): worden ondersteund in deWHENclausule van rijfilter- en kolommaskerbeleid, waarbij ze de context van het verzoek evalueren, zoals de aanroepende applicatie. Ze worden niet ondersteund inMATCH COLUMNS. Zie Toegang beperken voor externe agenten die namens een gebruiker optreden.
Als de voorwaarde ongeldig is, genereert Azure Databricks UC_INVALID_POLICY_CONDITION.
-
Tagfuncties (
alias
In
MATCH COLUMNS, een optionele id voor de overeenkomende kolom. Er kan naar de alias worden verwezen inUSING COLUMNS(rijfilter) of inON COLUMNenUSING COLUMNS(kolommasker).function_arg
In
USING COLUMNS, elk argument is een constante expressie of een alias vanMATCH COLUMNS. De argumenten worden op volgorde doorgegeven aan de beleidsfunctie. Als de opties niet overeenkomen met het beleidstype, genereert Azure Databricks UC_POLICY_TYPE_OPTIONS_MISMATCH.
Examples
In het volgende voorbeeld wordt een beleid voor kolommaskers gemaakt:
> 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);
In het volgende voorbeeld wordt een rijfilterbeleid gemaakt:
> 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);