Megosztás a következőn keresztül:


Oszlop mask záradék

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 12.2 LTS és a Unity Catalog felett csak jelölje be az igennel jelölt jelölőnégyzetet

Fontos

Ez a funkció a nyilvános előzetes verzióban érhető el.

Egy oszlopra alkalmazott függvényt ad meg, amikor sorokat szeretne lekérni a táblából. Az oszlop minden jövőbeli lekérdezése megkapja a függvény kiértékelésének eredményét az oszlopon az oszlop eredeti értéke helyett. Ez hasznos lehet részletes hozzáférés-vezérlési célokra, amelyek során a függvény megvizsgálhatja a meghívó felhasználó identitását vagy csoporttagságát, hogy eldöntse, újra ki kívánja-e használni az értéket.

Oszlopmaszkokat akkor vehet fel, ha:

Fontos

A maszkot a rendszer azonnal alkalmazza, amint minden sor lekéri az adatforrásból. A maszkolás után a rendszer minden kifejezést, predikátumot vagy rendezést alkalmaz. Ha például a maszkolt oszlop egy másik oszlophoz csatlakozik egy másik táblából, akkor a maszkolt értékeket fogja használni az illesztés összehasonlításához.

Az oszlopmaszkok használatáról további információt a bizalmas táblázatadatok szűrése sorszűrők és oszlopmaszkok használatával című témakörben talál.

Syntax

MASK func_name [ USING COLUMNS ( other_column_name [, ...] ) ]

Paraméterek

  • func_name

    Skaláris SQL UDF legalább egy paraméterrel.

    Az SQL UDF első paramétere 1:1-et képez le a maszkolt oszlopmal. A maszkolt oszlop típusának az SQL UDF paramétertípusára kell átírhatónak lennie. Ha func_name több paraméterre van szükség, az argumentumokat a USING COLUMNS záradéknak kell megadnia.

    A függvény visszatérési típusának a maszkolt oszlop adattípusára kell öntöttnek lennie.

  • other_column_name

    Opcionálisan megadja a maszkolt oszlop táblájának további oszlopait is, amelyeket át szeretne adni.func_name Mindegyiknek other_column_name a megfelelő paraméterre func_nameöntöttnek kell lennie.

    Oszlopmaszk használatával szelektíven anonimizálhatja a lekérdezést table_namevégrehajtó felhasználó, az érték column_identifier és az opcionális other_columnérték column_identifier alapján.

Példák

A bizalmas táblaadatok szűrése sorszűrőkkel és oszlopmaszkokkal további példákat is találhat.

-- 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