Sütun Düzeyi ve Satır Düzeyi Güvenlik

Snowflake Yönetimi, Yönetişimi ve İşbirliği

Emily Melhuish

Technical Curriculum Developer, Snowflake

Tablo Düzeyi Erişimin Sorunu

Tablo erişimi olan Users tablosu

  • Claro’nun users tablosunda adlar, e-postalar, kredi skorları ve kredi bandı bulunur
  • ANALYST rolüne SELECT vermek tüm sütunları açığa çıkarır
  • Kampanya analistlerinin ham kredi skorlarına ihtiyacı yoktur
  • Tablo düzeyi erişim bu ayrımı yapamaz
Snowflake Yönetimi, Yönetişimi ve İşbirliği

Sütun Düzeyi Güvenlik Nedir?

  • Sütun sonuçlarda kalır; yalnızca değer değişir
  • Ayrıcalıklı roller gerçek değerleri, diğerleri maskeli değerleri görür
  • Maskeleme, sorgulayan role göre sorgu anında yapılır = dinamik veri maskeleme

column_security_v2.png

Snowflake Yönetimi, Yönetişimi ve İşbirliği

Dinamik Veri Maskeleme

Birinde dinamik veri maskeleme olan, diğerinde olmayan iki tabloyu gösteren diyagram

Snowflake Yönetimi, Yönetişimi ve İşbirliği

Bir Maskeleme İlkesini Oluşturma ve Uygulama

CREATE MASKING POLICY mask_credit_score
  AS (val NUMBER) RETURNS NUMBER ->
  CASE
    WHEN IS_ROLE_IN_SESSION('CREDIT_ADMIN') THEN val
    ELSE -9999
  END;

ALTER TABLE core.users
  MODIFY COLUMN credit_score
  SET MASKING POLICY mask_credit_score;
  • CURRENT_ROLE, etkin birincil rolü döndürür
1 https://docs.snowflake.com/en/sql-reference/sql/create-masking-policy#example-normal-masking-policy
Snowflake Yönetimi, Yönetişimi ve İşbirliği

Harici Tokenizasyon

  • Dinamik Veri Maskelemesine alternatif
  • Üçüncü taraf bir tokenizasyon sağlayıcısı ve External Function gerektirir
  • Hassas değerler, sistemler arası tutarlı token’larla değiştirilir
  • Aynı token’ın Snowflake dışında da tanınması gerektiğinde kullanışlıdır

Harici tokenizasyon diyagramı

1 https://docs.snowflake.com/en/user-guide/security-column-ext-token-use
Snowflake Yönetimi, Yönetişimi ve İşbirliği

Satır Düzeyi Güvenlik Nedir?

Bir analistin yalnızca belirli satırları görebildiğini gösteren iki tablo

Snowflake Yönetimi, Yönetişimi ve İşbirliği

Satır Erişim İlkeleri Nasıl Çalışır?

US_ANALYST’ten gelen sorgunun users tablosundaki Satır Erişim İlkesi’nden geçip yalnızca US satırlarını döndürdüğünü, aynı sorguda EU_ANALYST’in yalnızca EU satırlarını aldığını gösteren diyagram

  • İlke, sorgulayan rolü değerlendirir ve bir filtre uygular
Snowflake Yönetimi, Yönetişimi ve İşbirliği

Bir Satır Erişim İlkesini Oluşturma ve Uygulama

CREATE ROW ACCESS POLICY region_filter
  AS (region_col VARCHAR) RETURNS BOOLEAN ->
  CASE
    WHEN IS_ROLE_IN_SESSION('US_ANALYST') THEN region_col = 'US'
    WHEN IS_ROLE_IN_SESSION('EU_ANALYST') THEN region_col = 'EU'
    ELSE FALSE
  END;

ALTER TABLE core.users
  ADD ROW ACCESS POLICY region_filter ON (region);
Snowflake Yönetimi, Yönetişimi ve İşbirliği

Veri Maskeleme ve Satır Erişim İlkelerini Birlikte Kullanma

Dinamik veri maskeleme ve satır erişim ilkeleri

Snowflake Yönetimi, Yönetişimi ve İşbirliği

Hadi pratik yapalım!

Snowflake Yönetimi, Yönetişimi ve İşbirliği

Preparing Video For Download...