DevOps لقواعد البيانات · الإخفاء

الإخفاء الديناميكي للبيانات: متى يكفي إخفاء القيم لحظة الاستعلام، ومتى يجب تغيير النسخة

الإخفاء الديناميكي للبيانات، ويُسمّى أيضًا التقنيع الديناميكي (Dynamic Data Masking)، يُخفي القيم الحساسة في نتائج الاستعلام بحسب من يطلبها، وتبقى البيانات المخزَّنة في قاعدة البيانات كما هي. وهو مفيد في النظام الحي، لكنه كثيرًا ما يُستخدم في غير موضعه مع نسخ الاختبار، حيث الأداة الصحيحة هي التقنيع الثابت. يشرح هذا الدليل الفرق بينهما، وكيف تتعامل معه SQL Server وPostgreSQL، وما يعنيه للبيانات الشخصية في السعودية.

الملخص

نظرة سريعة

خلاصة الصفحة في جدول واحد، قبل التفاصيل.

ما هو
إخفاء يُطبَّق لحظة قراءة البيانات بحسب المستخدم أو الدور، ولا تتغير القيم المخزَّنة
أين يناسب
قواعد البيانات الحية وقواعد التقارير، حين يحتاج بعض المستخدمين إلى السجل لا إلى كل أعمدته
أين لا يناسب
نسخ التطوير والاختبار التي تُسلَّم لفرق أوسع؛ فهذه تحتاج إلى التقنيع الثابت
الخيارات المدمجة
في SQL Server وAzure SQL ميزة مدمجة؛ وفي PostgreSQL يُبنى من العروض والصلاحيات أو بإضافة
الجانب السعودي
البيانات الشخصية بموجب نظام حماية البيانات الشخصية، في الإنتاج وفي كل نسخة منه
موقع Redgate
Test Data Manager: التقنيع الثابت والاقتطاع الجزئي لنسخ غير الإنتاج

المشكلة بكلمات بسيطة

  • الوضع المعتاد: موظفو الدعم أو المحللون أو المتعاقدون يقرؤون أرقام الهوية والجوال والرواتب، وعملهم لا يحتاج إليها أصلًا.
  • ما يغيّره الإخفاء الديناميكي: يرى هؤلاء XXXX أو جزءًا من القيمة، وتبقى القيمة الحقيقية في قاعدة البيانات.
  • ما لا يغيّره: القيم الحقيقية باقية على الخادم، وفي نسخه الاحتياطية، وفي كل نسخة تُستعاد منها.
  • القرار: أخفوا لحظة القراءة في الإنتاج، وغيّروا البيانات في النسخ. وأكثر البيئات تحتاج إلى الاثنين.

ما الإخفاء الديناميكي للبيانات، وما الذي يتركه كما هو

الإخفاء الديناميكي للبيانات قاعدة تُربط بعمود. فإذا شغّل استعلامًا مستخدمٌ لا يملك صلاحية رؤية القيمة الحقيقية، أعادت قاعدة البيانات صيغة مُخفاة: نصًّا ثابتًا، أو آخر أربعة أرقام من البطاقة، أو أول حرف من البريد الإلكتروني. أما من يملك الصلاحية فيرى القيمة الحقيقية من الجدول نفسه. ولا يُعاد كتابة أي شيء على القرص. وهذه قوة الطريقة وحدّها في آن: إنها تمويه للبيانات (Data obfuscation) في نتيجة الاستعلام، لا تغيير للبيانات نفسها.

فهي تجيب جيدًا عن سؤال واحد: من يرى أي الأعمدة من مستخدمي النظام الحي. ولا تجيب عما يحدث للبيانات حين تُنسخ أو تُصدَّر أو تُستعاد في مكان آخر. ولهذا راجعوا دليلنا عن تقنيع البيانات لبيئات الاختبار.

التقنيع الثابت مقابل الإخفاء الديناميكي: الفرق الذي يحسم الاختيار

الطريقتان تشتركان في الاسم، وتحلّان مشكلتين مختلفتين.

مقارنة بين الإخفاء الديناميكي والتقنيع الثابت بحسب ما يتغير وأين يناسب كل منهما وحدوده
الإخفاء الديناميكيالتقنيع الثابت
متى يعمللحظة الاستعلام، في كل مرة تُقرأ فيها البياناتمرة واحدة، أثناء إنشاء النسخة
البيانات المخزَّنةلا تتغير؛ وتبقى القيم الحقيقية في القاعدةتُستبدل في النسخة استبدالًا دائمًا
ممن يحميمن مستخدمي النظام الحي الذين لا يملكون صلاحية الكشفمن كل من يستخدم النسخة، ومنهم مديرو النظام
مكانه المعتادقواعد الإنتاج والتقارير والدعمنسخ التطوير والاختبار واختبار القبول والتدريب والموردين
النسخ الاحتياطية والتصديرتحمل القيم الحقيقيةلا تحمل إلا قيمًا مقنَّعة
الخطر الأساسيالمستخدم ذو الصلاحيات العالية أو صاحب الاستعلامات المتقنة قد يصل إلى القيم أو يستنتجهاانكسار العلاقات إذا قُنِّع الشخص نفسه بطريقتين في مكانين

والخطأ الشائع أن تُستعاد نسخة احتياطية من الإنتاج إلى بيئة الاختبار، ويُعتمد على قواعد الإخفاء التي جاءت معها. فكل من يملك صلاحيات إدارية على خادم الاختبار يرى البيانات الحقيقية، وكذلك كل من يستعيد النسخة الاحتياطية في مكان آخر. التقنيع الثابت هو طريقة التعامل مع النسخ.

الإخفاء الديناميكي للبيانات في SQL Server وPostgreSQL: قواعد الإخفاء على مستوى العمود

السلوك كما تصفه وثائق كل مورّد. وتختلف الميزات بحسب الإصدار والفئة، فتأكدوا مما لديكم.

كيف توفر SQL Server وAzure SQL وPostgreSQL الإخفاء الديناميكي على مستوى العمود
المنصةما المدمج فيهاكيف تظهر القيم الحقيقيةانتبهوا إلى
SQL Server وAzure SQLميزة Dynamic Data Masking: دالة إخفاء على العمود، مثل الإخفاء الكامل، أو إخفاء البريد الإلكتروني، أو رقم عشوائي، أو نص جزئييرى القيم الحقيقية من مُنح صلاحية UNMASK، والمستخدمون ذوو الصلاحيات العاليةتصفها Microsoft بأنها مكمّلة للضوابط الأخرى، لا بديل عنها
PostgreSQLلا توجد ميزة إخفاء ديناميكي في قاعدة البيانات الأساسيةعروض (Views) تعيد تعبيرات مُخفاة، وصلاحيات على مستوى العمود، وأمان على مستوى الصف؛ أو إضافة (Extension) خاصة بالإخفاءيجب إغلاق كل طريق إلى الجدول الأصلي، وإلا قرأ المستخدمون من حول العرض

وفي المنصتين، اكتبوا القاعدة لكل عمود: أي دور يرى القيمة الحقيقية، وكيف تبدو الصيغة المُخفاة، وهل تقبلها التطبيقات التي تتحقق من صيغة رقم الهوية الوطنية أو الإقامة أو الجوال. وإخفاء حقلي الاسم العربي والإنجليزي معًا مهم هنا بقدر أهميته في نسخة الاختبار.

ما الذي لا يحمي منه الإخفاء الديناميكي

الإخفاء لحظة القراءة يضيّق ما يراه الناس. لكنه ليس سورًا حول البيانات.

أربعة حدود تخططون لها

  1. الاستنتاج. المستخدم الذي يكتب استعلاماته بنفسه قد يُصفّي على عمود مُخفى، كأن يطلب من راتبه فوق رقم معيّن، فيعرف القيمة الحقيقية دون أن يراها. وتحذّر وثائق Microsoft من ذلك.
  2. الحسابات ذات الصلاحيات العالية. مديرو النظام والمالكون يرون القيم الحقيقية عادةً، ومعرفة من يملك هذه الصلاحيات جزء من الضابط نفسه.
  3. النسخ. النسخ الاحتياطية، والتصدير، والنسخ المتماثلة، وقواعد الاختبار المستعادة، كلها تحمل البيانات الحقيقية.
  4. المسارات الأخرى. السجلات وبيانات التتبّع وذاكرة التطبيقات المؤقتة قد تحمل القيم نفسها دون إخفاء؛ راجعوا إبقاء البيانات الشخصية خارج السجلات والتتبّع.

إخفاء البيانات الحساسة وفق نظام حماية البيانات الشخصية في السعودية

تخضع البيانات الشخصية في المملكة لنظام حماية البيانات الشخصية، الذي تشرف عليه الهيئة السعودية للبيانات والذكاء الاصطناعي (سدايا). وتصدر الهيئة الوطنية للأمن السيبراني الضوابط التي يلزم كثيرًا من الجهات الوفاء بها. وتعرض صفحتنا عن نظام حماية البيانات الشخصية الصورة العامة. أما أي القواعد ينطبق عليكم وماذا تتطلب، فيؤكده مسؤول الامتثال لديكم من نصوص الجهات نفسها.

وفي العمل اليومي، الأسئلة الهندسية التي تطرحها الجهات في السعودية هي: أي الأعمدة تحمل بيانات شخصية وفق تصنيفكم؟ ومن يحتاج إلى رؤية كل عمود منها في الإنتاج، ومن يكفيه السجل دونه؟ وكم نسخة من الإنتاج لديكم، وأين تقيم، ومن يستطيع قراءتها؟ والجوابان الأولان يحددان شكل الإخفاء الديناميكي. أما الثالث فيكشف في الغالب الخطر الأكبر: بيئات تطوير واختبار وموردين تحمل نسخًا كاملة غير مقنَّعة من بيانات العملاء.

اقرأ المزيد

ولا يحل الإخفاء محل التصنيف أو ضبط الصلاحيات أو التدقيق، ولا يقلل الإخفاء الديناميكي وحده عدد الأماكن التي تقيم فيها بيانات شخصية حقيقية؛ بل يقللها التقنيع الثابت لنسخ غير الإنتاج. أما تسجيل من يقرأ الجداول الحساسة فضابط مستقل، تتناوله صفحة مراقبة نشاط قواعد البيانات.

أي ضابط يناسب: جدول قرار بحسب الحالة

ابدؤوا ممن يقرأ البيانات وأين، لا من الأداة.

الاختيار بين الإخفاء الديناميكي والتقنيع الثابت والضوابط الأخرى بحسب الحالة
الحالةالضابط المناسبالسبب
موظفو مركز الاتصال يحتاجون إلى سجل العميل، وآخر أرقام الهوية فقطالإخفاء الديناميكيالنظام الحي نفسه، وأرقام ظاهرة أقل، ولا نسخة في الأمر
محللون يستعلمون من قاعدة تقارير فيها الرواتبالإخفاء الديناميكي مع تقييد الاستعلامات الحرةالإخفاء وحده يترك باب الاستنتاج مفتوحًا لمن يكتب شروط التصفية بنفسه
المطورون يحتاجون إلى نسخة حديثة من الإنتاج في كل دورة عملالتقنيع الثابت مع الاقتطاع الجزئيالنسخة تخرج من ضوابط الإنتاج، فيجب أن تتغير قيمها
مورّد يختبر تكاملًا على بياناتكمالتقنيع الثابت أو بيانات مولَّدةلا ينبغي أن تكون القيم الحقيقية لدى طرف خارجي
أشخاص قليلون يجب ألا يقرؤوا عمودًا أبدًاصلاحيات على مستوى العمود أو التشفيرالإخفاء يسمح مع ذلك بالاستعلام على العمود
بيانات شخصية تظهر في السجلات وبيانات التتبّعالحجب داخل مسار بيانات المراقبةإخفاء قاعدة البيانات لا يرى هذه القيم أصلًا

موقع Redgate Test Data Manager، وأين لا يناسب

Redgate شريك تقني تنفّذ إنتركي أدواته لتسليم قواعد البيانات. وتعمل أداة Test Data Manager في جانب النسخ من هذا الدليل: فبحسب وثائق Redgate، تصنّف البيانات لتحديد معلومات التعريف الشخصية، وتقنّعها بأسلوب حتمي فيبقى الشخص نفسه متسقًا عبر الجداول، وتبني شرائح أصغر تحافظ على سلامة العلاقات، وتجهّز نسخًا باستخدام Redgate Clone، وتعمل من سطر أوامر مصمم لمسارات CI/CD. وبهذا يصبح التقنيع الثابت خطوة معتادة في مسار التسليم، لا سكربتًا يشغّله مدير قاعدة البيانات يدويًّا.

اقرأ المزيد

وأين لا تناسب؟ لا تُخفي Test Data Manager نتائج الاستعلام في قاعدة إنتاج حية؛ فلذلك تستخدمون الإخفاء الديناميكي في قاعدة البيانات نفسها أو العروض، كما سبق. ووثائقها تغطي المحركات العلائقية، وتختلف المحركات والميزات المدعومة بحسب الإصدار والفئة، فنتأكد مما لديكم أثناء تحديد النطاق. وإن كنتم تحتاجون فقط إلى إخفاء بضعة أعمدة عن بعض مستخدمي قاعدة تقارير واحدة، فالميزة المدمجة تكفي عادةً، وسنقول لكم ذلك.

كيف تساعدكم إنتركي

تحدد ممارسة DevOps لقواعد البيانات في إنتركي نطاق الإخفاء انطلاقًا ممن يقرأ ماذا: قائمة الأعمدة مع ملّاك البيانات لديكم، وقواعد الإخفاء الديناميكي والأدوار التي تكشف القيم في الإنتاج، ونسخ اختبار مقنَّعة ومقتطعة مبنية داخل مسار التسليم باستخدام Redgate حيث يناسب. ويأتيكم الدعم من الرياض، بمهندسين يعملون بالعربية والإنجليزية. ويُقدَّم ترخيص Redgate بشروط Redgate إلى جانب عمل إنتركي.

أسئلة يطرحها المشترون عن الإخفاء الديناميكي للبيانات

ما الفرق بين التقنيع الثابت والإخفاء الديناميكي للبيانات؟

الإخفاء الديناميكي يُخفي القيم لحظة قراءتها بحسب المستخدم أو الدور، ويترك البيانات المخزَّنة كما هي. أما التقنيع الثابت فيستبدل القيم في نسخة استبدالًا دائمًا قبل أن يستخدمها أحد. الأول للأنظمة الحية، والثاني لنسخ التطوير والاختبار.

هل تكفي ميزة Dynamic Data Masking في SQL Server لحماية البيانات الشخصية؟

ليس وحدها. فهي تحدّ مما يراه من لا يملك صلاحية الكشف، لكن ذوي الصلاحيات العالية يرون القيم الحقيقية، ومن يكتب استعلاماته بنفسه قد يستنتجها، والنسخ الاحتياطية تحمل البيانات الحقيقية. وتصفها Microsoft بأنها مكمّلة لضبط الصلاحيات والتشفير والتدقيق.

هل نستطيع الاكتفاء بالإخفاء الديناميكي في قواعد الاختبار بدل التقنيع الثابت؟

لا ننصح بذلك. فخوادم الاختبار فيها عادةً مديرون أكثر ونسخ أكثر، وكل من يملك صلاحيات على الخادم أو على النسخة الاحتياطية يرى القيم الحقيقية. غيّروا البيانات في النسخة بالتقنيع الثابت قبل منح أي صلاحية.

هل يساعد إخفاء البيانات الشخصية في الالتزام بنظام حمايتها في السعودية؟

يقلل من يرى البيانات الشخصية وعدد الأماكن التي تقيم فيها، وهذا يدعم التزاماتكم. أما أي الالتزامات ينطبق عليكم وماذا تتطلب، فيؤكده مسؤول الامتثال من نصوص سدايا. ولا يحل الإخفاء محل التصنيف وضبط الصلاحيات والتدقيق.

هل توفّر Redgate Test Data Manager إخفاءً ديناميكيًّا؟

لا. فهي تقنّع نسخ قواعد البيانات المخصصة للتطوير والاختبار، مع التصنيف والتقنيع الحتمي والاقتطاع الجزئي. أما الإخفاء لحظة القراءة في قاعدة حية فيأتي من قاعدة البيانات نفسها، كالميزة المدمجة في SQL Server أو العروض في PostgreSQL.

كم يستغرق مشروع الإخفاء، وكيف يُسعَّر؟

يُقدَّر كلاهما لكل مشروع، بحسب عدد قواعد البيانات والأعمدة التي تحمل بيانات شخصية، وعدد النسخ الموجودة، وعدد مرات تحديثها. ويُسعَّر عمل إنتركي بحسب النطاق، ويُقدَّم ترخيص Redgate بشروط Redgate.

الخطوة التالية

خطّطوا أين يناسب كل نوع من الإخفاء

أخبرونا بقواعد البيانات التي تحمل بيانات شخصية، ومن يقرؤها، وكيف تُجهَّز نسخ الاختبار لديكم اليوم. ونرد عليكم بالأماكن التي يكفي فيها الإخفاء لحظة القراءة، والنسخ التي تحتاج إلى تقنيع ثابت، ونطاق أولي.

خانة إلزامية

بإرسالك هذا النموذج، فأنت توافق على سياسة الخصوصية.

أو مباشرةً

+966-11-2180999 [email protected]

أبراج التعاونية، البرج الشمالي، الطابق السابع، طريق الملك فهد، العليا، ص.ب. ٥٦٨٣٥، الرياض ١١٥٦٤، المملكة العربية السعودية

أو الثابت مقابل الديناميكي

نشرته إنتركي. آخر تحديث . إنتركي مسجلة في الرياض بالسجل التجاري رقم 1010156897.