Szkolenie
Moduł
Zabezpieczanie magazynu danych usługi Microsoft Fabric - Training
Poznaj kluczowe pojęcia i strategie ochrony poufnych danych w magazynach danych usługi Microsoft Fabric.
Ta przeglądarka nie jest już obsługiwana.
Przejdź na przeglądarkę Microsoft Edge, aby korzystać z najnowszych funkcji, aktualizacji zabezpieczeń i pomocy technicznej.
mask
Dotyczy: Databricks SQL
Databricks Runtime 12.2 LTS i nowsze
tylko Unity Catalogu
Określa funkcję, która jest stosowana do kolumny za każdym razem, gdy wiersze są pobierane z tabeli. Wszystkie kolejne zapytania z tej kolumny otrzymują wynik oceny tej funkcji w kolumnie zamiast oryginalnej wartości kolumny. Może to być przydatne w celach szczegółowej kontroli dostępu, w których funkcja może sprawdzić tożsamość lub członkostwo w grupach użytkownika wywołującego w celu określenia, czy zredagować wartość.
Maski kolumn można dodawać, gdy:
Ważne
Maska jest stosowana natychmiast po pobraniu każdego wiersza ze źródła danych. Wszystkie wyrażenia, predykaty lub kolejność są stosowane po maskowaniu. Na przykład łączenie zamaskowanej kolumny z inną kolumną z innej tabeli spowoduje użycie zamaskowanych wartości do porównania łączenia.
Aby uzyskać więcej informacji na temat używania masek kolumn, zobacz Filtrowanie poufnych danych tabeli przy użyciu filtrów wierszy i masek kolumn.
MASK func_name [ USING COLUMNS ( other_column_name | constant_literal [, ...] ) ]
Skalarna funkcja zdefiniowanej przez użytkownika SQL z co najmniej jednym parametrem.
Pierwszy parametr funkcji UDF SQL mapuje się 1:1 z zamaskowaną kolumną.
Typ maskowanej kolumny musi być możliwy do przekształcenia na typ parametru UDF SQL.
Jeśli func_name
wymaga więcej parametrów, argumenty muszą być podane przez klauzulę USING COLUMNS
.
Zwracany typ funkcji musi być konwertowany na typ danych maskowanej kolumny.
Opcjonalnie określa dodatkowe kolumny tabeli, w której znajduje się zamaskowana kolumna, przekazywane do func_name
.
Każdy other_column_name
element musi być rzutowalny do odpowiedniego parametru .func_name
Użyj maski kolumny, aby selektywnie anonimizować wartość column_identifier
na podstawie użytkownika wykonującego zapytanie do table_name
, wartość column_identifier
oraz opcjonalnie other_column
.
constant_literal
Określa stały parametr z typem pasującym do parametru funkcji. Obsługiwane są następujące typy: STRING
, numeryczne (INTEGER
, FLOAT,
DOUBLE
, ... DECIMAL
), BOOLEAN
, INTERVAL
, NULL
.
Więcej przykładów można znaleźć w Filtrowanie poufnych danych tabeli przy użyciu filtrów wierszy i masek kolumn.
-- Create a table with a masked column
> CREATE FUNCTION mask_ssn(ssn STRING) RETURN CASE WHEN is_member('HumanResourceDept') THEN ssn ELSE '***-**-****' END;
> CREATE TABLE persons(name STRING, ssn STRING MASK mask_ssn);
> INSERT INTO persons VALUES('James', '123-45-6789';
-- As a non-member of 'HumanResourceDept'
> SELECT * FROM persons;
James ***-**-****
-- As a member of 'HumanResourceDept'
> SELECT * FROM persons;
James 123-45-6789
-- Create a masking function with multiple parameters. When applied first parameter will be the column that masking function applies to
> CREATE FUNCTION mask_pii_regional(value STRING, region STRING)
RETURN IF(is_account_group_member(region || '_HumanResourceDept'), value, 'REDACTED');
-- Create a table with a masked column. Masking function first parameter will be the column that is masked.
-- The rest of the parameters should be specified in `USING COLUMNS (<columnList>)` clause
> CREATE TABLE persons(name STRING, address STRING MASK mask_pii_regional USING COLUMNS (region), region STRING);
> INSERT INTO persons('James', '160 Spear St, San Francisco', 'US')
-- As a non-member of 'US_HumanResourceDept'
> SELECT * FROM persons;
James | REDACTED | US
-- As a member of 'US_HumanResourceDept'
> SELECT * FROM persons;
James | 160 Spear St, San Francisco | US
Szkolenie
Moduł
Zabezpieczanie magazynu danych usługi Microsoft Fabric - Training
Poznaj kluczowe pojęcia i strategie ochrony poufnych danych w magazynach danych usługi Microsoft Fabric.