Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunun için geçerlidir:
Databricks SQL
Databricks Runtime 16.4 ve üzeri
Sadece Unity Kataloğu
Güvenli hale getirilebilir bir üzerinde adlandırılmış bir ilke oluşturur. İlkeler, kataloglara, şemalara veya tablolara uygulanan satır filtreleri veya sütun maskeleri olabilir. İlke adının kapsamı, ilkenin tanımlandığı güvenli hale getirilebilir değer olarak belirlenmiştir.
Bu deyimi çalıştırmak için güvenli hale getirilebilen hedefte ayrıcalığınız olması veya bunun sahibi olmanız gerekir MANAGE .
Sözdizimi
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 [, ...] ) ]
Parametreler
-
İlkenin adı. Adın kapsamı, ilkenin tanımlandığı güvenli hale getirilebilir addır. Aynı ada sahip bir ilke zaten varsa ve
OR REPLACEbelirtilmemişse, Azure Databricks POLICY_ALREADY_EXISTS yükseltir. -
İlkenin tanımlandığı kataloğun adı. Güvenliği sağlanabilir tür ilkeler için desteklenmiyorsa, Azure Databricks POLICY_ON_SECURABLE_TYPE_NOT_SUPPORTED yükseltir.
-
İlkenin tanımlandığı şemanın adı.
-
İlkenin tanımlandığı tablonun adı.
Açıklama
İlke için isteğe bağlı bir dize açıklaması.
-
Satır filtresi veya sütun maskesi için kullanılan UDF'nin adı.
principal
Kullanıcı, grup veya hizmet asıl adı. birden çok sorumlu sonra
TOlistelenebilir. Sonra listelenenEXCEPTsorumlular ilkenin dışında tutulur.-
için
WHEN: güvenli hale getirilebilir değerlerle eşleşen boole ifadesi (örneğin, tablo düzeyi etiket koşulları). içinMATCH COLUMNS: sütunlarıyla eşleşen boole ifadesi (örneğin,hasTag('tag_name')). Koşullar, güvenli hale getirilebilir meta verilerde denetim düzlemi tarafından değerlendirilir. Koşullarda desteklenen tek kullanıcıya yönelik işlevler vehasTagValue()'tirhasTag(). Koşul geçersizse Azure Databricks UC_INVALID_POLICY_CONDITION oluşturur. alias
içinde
MATCH COLUMNS, eşleşen sütun için isteğe bağlı bir tanımlayıcı . Diğer ada (satır filtresi) veya veUSING COLUMNS(sütun maskesi) içindeON COLUMNbaşvurulabilirUSING COLUMNS.function_arg
içinde
USING COLUMNS, her bağımsız değişken bir sabit ifade veya 'denMATCH COLUMNSbir diğer addır. Bağımsız değişkenler, ilke işlevine sırayla geçirilir. Seçenekler ilke türüyle eşleşmiyorsa Azure Databricks UC_POLICY_TYPE_OPTIONS_MISMATCH oluşturur.
Örnekler
Aşağıdaki örnek bir sütun maskesi ilkesi oluşturur:
> 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);
Aşağıdaki örnek bir satır filtresi ilkesi oluşturur:
> 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);