إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
عبارة العمود
ينطبق على:
Databricks SQL
Databricks Runtime 12.2 LTS وما فوق
كتالوج Unity فقط
تحديد دالة يتم تطبيقها على عمود كلما تم جلب صفوف من الجدول. تتلقى جميع الاستعلامات اللاحقة من هذا العمود نتيجة تقييم تلك الدالة فوق العمود بدلا من القيمة الأصلية للعمود. يمكن أن يكون هذا مفيدا لأغراض التحكم في الوصول الدقيقة حيث يمكن للدالة فحص هوية المستخدم الذي يستدعي أو عضويات المجموعة لتحديد ما إذا كان يجب تنقيح القيمة أم لا.
يمكنك إضافة أقنعة الأعمدة عند:
- إنشاء جدول باستخدام CREATE TABLE.
- إضافة أعمدة إلى جدول باستخدام ALTER TABLE ... إضافة عمود.
- يتم الآن تغيير عمود باستخدام ALTER TABLE ... تغيير العمود.
هام
يتم تطبيق القناع بمجرد إحضار كل صف من مصدر البيانات. يتم تطبيق أي تعبيرات أو دالات تقييم أو ترتيب بعد الإخفاء. على سبيل المثال، سيؤدي الربط بين العمود المقنع مقابل عمود آخر من جدول آخر إلى استخدام القيم المخفية لمقارنة الصلة.
لمزيد من المعلومات حول كيفية استخدام أقنعة الأعمدة، راجع تصفية بيانات الجدول الحساسة باستخدام عوامل تصفية الصفوف وأقنعة الأعمدة.
بناء الجملة
MASK func_name [ USING COLUMNS ( other_column_name | constant_literal [, ...] ) ]
المعلمات
-
SQL UDF عددي مع معلمة واحدة على الأقل.
المعلمة الأولى من SQL UDF تعين 1:1 مع العمود المقنع. يجب أن يكون نوع العمود المقنع قابلا للصب إلى نوع معلمة SQL UDF. إذا كان
func_nameيتطلب المزيد من المعلمات، يجب توفير الوسيطات بواسطة العبارةUSING COLUMNS.يجب أن يكون نوع إرجاع الدالة قابلا للصب إلى نوع بيانات العمود المقنع.
-
يحدد اختياريا أعمدة إضافية لجدول العمود المقنع لتمريرها إلى
func_name. يجب أن يكون كلother_column_nameمنها قابلا للصب إلى المعلمة المقابلة لfunc_name.استخدم قناع عمود لحجب قيمة
column_identifierبشكل انتقائي استنادا إلى المستخدم الذي ينفذ استعلاما مقابلtable_name، وقيمةcolumn_identifierو الاختياريةother_column. constant_literal
تحديد معلمة ثابتة بنوع يطابق معلمة دالة. الأنواع التالية مدعومة:
STRING، رقمية (INTEGER، ،FLOAT,DECIMALDOUBLE...)،BOOLEAN، ،INTERVAL، .NULL
الأمثلة
يمكنك العثور على مزيد من الأمثلة في تصفية بيانات الجدول الحساسة باستخدام عوامل تصفية الصفوف وأقنعة الأعمدة.
-- 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