Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime 16.4 und höher
nur Unity Catalog
Erstellt eine benannte Richtlinie für eine sicherungsfähige Richtlinie. Richtlinien können Zeilenfilter oder Spaltenmasken sein, die auf Kataloge, Schemas oder Tabellen angewendet werden. Der Richtlinienname ist auf die sicherungsfähige Richtlinie festgelegt.
Um diese Anweisung auszuführen, müssen Sie über die MANAGE Berechtigung für das Ziel verfügen, das sicherungsfähig ist oder der Besitzer sein muss.
Syntax
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 [, ...] ) ]
Parameter
-
Name der Richtlinie. Der Name ist auf die sicherungsfähige Richtlinie festgelegt. Wenn eine Richtlinie mit demselben Namen bereits vorhanden ist und
OR REPLACEnicht angegeben ist, löst Azure Databricks POLICY_ALREADY_EXISTS aus. -
Der Name des Katalogs, in dem die Richtlinie definiert ist. Wenn der sicherungsfähige Typ für Richtlinien nicht unterstützt wird, löst Azure Databricks POLICY_ON_SECURABLE_TYPE_NOT_SUPPORTED aus.
-
Der Name des Schemas, für das die Richtlinie definiert ist.
-
Der Name der Tabelle, in der die Richtlinie definiert ist.
Beschreibung
Ein optionaler Zeichenfolgenkommentar für die Richtlinie.
-
Der Name der UDF, die für den Zeilenfilter oder das Spaltenformat verwendet wird.
principal
Ein Benutzer, eine Gruppe oder ein Dienstprinzipalname. Mehrere Prinzipale können danach
TOaufgelistet werden. Die folgendenEXCEPTPrinzipale werden von der Richtlinie ausgeschlossen.-
For
WHEN: a boolean expression that matches securables (for example, table-level tag conditions). ForMATCH COLUMNS: a boolean expression that matches columns (for example,hasTag('tag_name')). Bedingungen werden von der Kontrollebene auf sicherungsfähigen Metadaten ausgewertet. Die einzigen benutzerorientierten Funktionen, die in Bedingungen unterstützt werden, sindhasTag()undhasTagValue(). Wenn die Bedingung ungültig ist, löst Azure Databricks UC_INVALID_POLICY_CONDITION aus. alias
In
MATCH COLUMNS, ein optionaler Bezeichner für die übereinstimmene Spalte. Auf den Alias kann inUSING COLUMNS(Zeilenfilter) oder inON COLUMNundUSING COLUMNS(Spaltenformat) verwiesen werden.function_arg
In
USING COLUMNS, jedes Argument ist entweder ein konstanter Ausdruck oder ein Alias vonMATCH COLUMNS. Die Argumente werden in der Reihenfolge an die Richtlinienfunktion übergeben. Wenn die Optionen nicht mit dem Richtlinientyp übereinstimmen, löst Azure Databricks UC_POLICY_TYPE_OPTIONS_MISMATCH aus.
Beispiele
Im folgenden Beispiel wird eine Spaltenformatrichtlinie erstellt:
> 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);
Im folgenden Beispiel wird eine Zeilenfilterrichtlinie erstellt:
> 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);