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. Politikalar satır filtreleri, sütun maskeleri veya ABAC GRANT politikaları olabilir. Satır filtreleri ve sütun maskeleri kataloglara, şemalara veya tablolara uygulanır ve Databricks Runtime 16.4 ve üzerindedir. ABAC GRANT politikaları kataloglara veya şemalara uygulanır ve hedefledikleri temenkul varlıklara dinamik olarak ayrıcalıklar tanır. İ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 .
SQL ile bir ABAC GRANT politikası oluşturmak, değiştirmek veya kaldırmak için Databricks Runtime 18 LTS veya daha fazlası gereklidir. SQL depolarında destek, deponun yayın kanalına bağlıdır. Bkz . İşlem gereksinimleri.
Not
Databricks Runtime 18, Databricks Runtime 18.0, 18.1 ve 18.2'den daha yenidir. Daha önce daha sonraki numaralı bir sürümle sunulacak olan özellikler, artık bunun yerine Databricks Runtime 18 için tarih bazlı güncellemeler olarak sunuluyor. Ayrıntılar için bkz. Birleşik sürüm notları hakkında.
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 | 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 ]
Satır filtresi ve sütun maskesi politikaları bir katalog, şema veya tablo üzerinde tanımlanabilir. GRANT Politikalar yalnızca bir katalog veya şema üzerinde tanımlanabilir.
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ı.
ayrıcalık
Poliçeye
grant_policy_bodyuygun her temenkul teminatlı üzerinde verilmesi için bir ayrıcalık. Geçerli ayrıcalıklargrant_target_type. Desteklenen güvenlikli türler ve ayrıcalıklar bölümine bakınız.grant_target_type
grant_policy_bodyVerilen ayrıcalıklar hangi tür teminatlı teminatlının geçerli olduğunu belirtir. Çoğul biçimini kullanın:MODELS,MODEL SERVICES,MODEL PROVIDER SERVICES,MCP SERVICES, , veyaAGENT SERVICES. Alt çizgili form, örneğinMODEL_SERVICES, kabul edilir. Birim biçimler kabul edilmez.principal
Kullanıcı, grup veya hizmet asıl adı. birden çok sorumlu sonra
TOlistelenebilir. Sonra listelenenEXCEPTsorumlular ilkenin dışında tutulur.-
WHENPolitikanın uygulanıp uygulanmayacağını belirleyen bir boolean ifadesidir; bu, güvenlik aracının etiketlerine, sorgulayan kullanıcının kimlik özelliklerine ve/veya talebin bağlamına dayanır.MATCH COLUMNSsütunları etiketlerine göre eşleştiren bir boolean ifadesidir (örneğin,has_tag('pii')).Koşullar kontrol düzlemi tarafından değerlendirilir. Aşağıdaki işlevler koşullarda desteklenir:
-
Etiket fonksiyonları (
has_tag()vehas_tag_value()): hemWHENdeMATCH COLUMNS. KullanıldığındaWHEN, doğrudan tabloda belirlenen veya ana katalog veya şemadan miras alınan etiketleri kontrol ederler. içindeMATCH COLUMNSkullanıldığında, doğrudan yalnızca sütunda ayarlanan etiketleri denetler. Eski camelCase formları (hasTag,hasTagValue) geriye dönük uyumluluk için çalışmaya devam ediyor. -
Kimlik öznitelik fonksiyonları (
has_identity_attribute_value()vehas_identity_attribute_tag_match()): sütun maskesi politikalarının maddelerinde desteklenirWHEN; burada sorguyu çalıştıran kullanıcının kimlik nitelikleri değerlendirilir.GRANTBunlar desteklenmiyor,DENYpolitikalar veyaMATCH COLUMNS. Sorgulayan kullanıcının özelliklerine göre bir sütunu maske edin. -
Bağlam öznitelik fonksiyonları (
has_context_attribute()vehas_context_attribute_value()): satır filtresi ve sütun maskesi politikalarının maddesinde desteklenirWHEN; burada çağrı uygulaması gibi isteğin bağlamını değerlendirirler. DesteklenmiyorlarMATCH COLUMNS. Bkz. Kullanıcı adına hareket eden harici ajanların erişimini kısıtla.
Koşul geçersizse Azure Databricks UC_INVALID_POLICY_CONDITION oluşturur.
-
Etiket fonksiyonları (
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 has_tag('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 has_tag_value('sensitivity', 'high')
MATCH COLUMNS has_tag('geo_region') AS region
USING COLUMNS (region);
Aşağıdaki örnek, Anthropic tarafından oluşturulan her model hizmete izin veren bir ABAC GRANT politikası EXECUTE oluşturur:
> 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');