Englishworlber.sa
علم المملكة العربية السعوديةشركة سعودية · الرياض

PostgreSQL

إخفاء بيانات الإنتاج عن بيئات الاختبار في PostgreSQL

كيف يعمل إخفاء البيانات على مستوى العمود في CYBERTEC PGEE لإبعاد بيانات العملاء الحقيقية عن بيئات الاختبار، وما حدوده قبل التصميم.

٥ أكتوبر ٢٠٢٦ · 5 دقيقة قراءة

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

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

إخفاء البيانات (Masking) أحد الحلول، وهو أضيق نطاقاً مما يوحي به المصطلح. فيما يلي ما يفعله فعلاً في CYBERTEC PGEE، والحدود التي يجب معرفتها قبل البناء عليه.

النسخة ليست خطأ أحد في الغالب

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

الحل التقني هو إبقاء النسخة مفيدة، وجعل الأعمدة الحساسة بلا قيمة لمن يقرأها.

ما الذي يغيّره الإخفاء على مستوى العمود

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

في المثال الموثّق، يُربط الإخفاء بالعمود نفسه:

```sql

CREATE TABLE t_product (

id serial,

product_number text,

price numeric,

units_available int

);

ALTER TABLE t_product ALTER COLUMN product_number

SET MASK md5(product_number);

ALTER TABLE t_product ALTER COLUMN units_available

SET MASK units_available * pi();

```

ثم يخرج التصدير مُقنّعاً:

```bash

pg_dump --masked pgee

```

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

القاعدة التي تحكم كل شيء

الدوال المقبولة كتعبير إخفاء هي الدوال الثابتة (IMMUTABLE) فقط. الدوال المتغيرة (VOLATILE) مرفوضة.

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

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

النسخة التي تشترك بدل أن تُستعاد

ليس كل بيئة غير إنتاجية مبنية من ملف تصدير. بعضها يشترك.

يمكن للنسخ المنطقي أن يحمل بيانات مُقنّعة إلى مشترك (subscriber) بينما يحتفظ الأساسي بالقيم الحقيقية:

```sql

CREATE PUBLICATION mypublication_masked

FOR TABLE t_product WITH (mask = on);

```

هذا يفتح مساراً لبيئة تملك بيانات واقعية دون أن تملك قيمة حقيقية واحدة.

حيث يتوقف الإخفاء

خمسة حدود تستحق التدوين قبل أن تَعِد بشيء.

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

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

**الإخفاء لا ينظّف النسخ الموجودة.** هو يحكم عمليات التصدير المستقبلية. خادم الاختبار الذي يعود إلى ثلاث سنوات يجب البحث عنه ومعالجته بشكل منفصل.

**النسخة المُقنّعة تحتاج مالكاً.** بيانات اعتماد مستقلة، وسجلات خاصة بها، وتاريخ تُحذف بعده.

**الإخفاء ليس شهادة امتثال.** التفصيل في المقطع التالي.

ما الذي تربطه الوثيقة التجارية بالإخفاء

تُقدِّم CYBERTEC الإخفاء لبيئات منظَّمة، وتُدرج القطاعات المستهدفة مقابل الأطر التنظيمية: القطاع المصرفي والمالي مقابل PCI-DSS و GDPR و SOX، والقطاع الحكومي والدفاعي مقابل الأنظمة الأمنية الوطنية، والبنية التحتية الحرجة مقابل NIS2، والرعاية الصحية مقابل HIPAA و GDPR. أما معمارية الأمن الأوسع فتربط التشفير عند السكون، والتشفير أثناء النقل، والنسخ غير الإنتاجية المُقنّعة بتوقعات ضبط مختلفة.

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

مشكلة الجرد التي تقف تحتها كلها

لا شيء من هذا يعمل بدون قائمة.

لا يمكنك تصنيف الأعمدة الحساسة في نسخة لا تعرف بوجودها، ومعظم المؤسسات تفقد متابعة قواعد البيانات غير الإنتاجية بين الثانية والخامسة. أداة PG-Inventory من Worlber مفتوحة المصدر تحت رخصة MIT لهذا الغرض تحديداً: سجلات للنسخ مع تصنيفات التطوير وضمان الجودة والإنتاج، وبيانات اعتماد مشفّرة، وتحكم وصول بالأدوار مع تحقق بخطوتين، وفحص كل دقيقتين يعرض الحالة والإصدار ونظام التشغيل والمعالج والذاكرة. وهي تقرأ طوبولوجيا العنقود من Patroni REST API. ابدأ بالقائمة، ثم قرر ما يُسمح لكل بند بحمله.

أين تقع Worlber

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

الخلاصة التي تستحق التذكر

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

أرسل لنا قائمة جداول بيئة غير إنتاجية واحدة تحمل بيانات حية، وسنحدد الأعمدة التي يمكن لـ PGEE إخفاؤها، والأعمدة التي تحتاج مقاربة مختلفة، وما إذا كانت قاعدة الدوال الثابتة تُخل باستعلاماتك المرتبطة. وإن كان الإخفاء أداة غير مناسبة لتلك النسخة فسنقول ذلك، وتبقى لك نتيجة التحليل. تحدث إلى Worlber.

*ذكر الأطر التنظيمية أعلاه يعكس ما ورد في وثائق منتجات CYBERTEC، وهي تربط الخصائص بالالتزامات. هذا الربط ليس بياناً بشهادة أو اعتماد، والالتزامات الفعلية تعتمد على كيفية تهيئة النظام وتشغيله.*

أرسل لنا بيئة غير إنتاجية واحدة

اختر بيئة واحدة تحمل بيانات حية وأرسل لنا قائمة جداولها. سنحدد الأعمدة التي يمكن لـ PGEE إخفاؤها، والأعمدة التي تحتاج مقاربة مختلفة، وأثر قاعدة الدوال الثابتة على استعلاماتك المرتبطة.

تحدث إلى Worlber

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

تحدث مع مهندسي Worlber

أرسل لنا بيئتك وهدفك. سنوضح لك ما يصلح، وما لا يصلح، والخطوة الآمنة التالية.

contactus@worlber.com

إخفاء بيانات الإنتاج عن بيئات الاختبار في PostgreSQL | Worlber Insights