دليل الرصد · حماية البيانات في بيانات الرصد
إبعاد البيانات الشخصية عن السجلات والتتبعات، قبل أن تغادر شبكتكم
تصل البيانات الشخصية إلى أدوات الرصد عبر رسائل السجلات، وخصائص الـ Spans، والروابط، وترويسات الطلبات، ونصوص الأخطاء. ولإزالتها قبل أن تغادر شبكتكم، استخدموا طبقة معالجة داخل بنيتكم التحتية تطبّق سياسة واحدة على كل لغات البرمجة، مع إبقاء أداة الفحص في منصة الرصد نفسها خط تحقق أخيرًا. يعرض هذا الدليل ذلك التصميم، مع أنماط لأرقام الجوال السعودية وصيغ الهوية الوطنية والإقامة، ويبيّن أين تطابق هذه الأنماط أكثر مما ينبغي وأين تفلت منها قيم.
نُشر في 7 دقائق قراءة
الخلاصة في أربع نقاط
- من أين تتسرّب: نصوص السجلات، وخصائص الـ Spans، ومعاملات الروابط (Query Strings)، وترويسات التفويض وملفات تعريف الارتباط (Cookies)، ورسائل الأخطاء، وجمل قواعد البيانات المسجّلة.
- ثلاث طبقات: لا تجمعوها في الشيفرة، وطبّقوا الإخفاء مركزيًا داخل شبكتكم، ثم افحصوا مرة أخرى في المنصة خطَّ دفاعٍ أخيرًا.
- لماذا تهم الطبقة الوسطى: أداة Sensitive Data Scanner من Datadog، حين تعمل في سحابة Datadog، تفحص البيانات بعد إرسالها، أي بعد أن تكون قد غادرت بيئتكم. أما الإخفاء داخل شبكتكم فيحدث قبل التصدير.
- اختبروا قبل التشغيل الفعلي: الأنماط البسيطة تطابق أكثر مما ينبغي (طوابع زمنية، أرقام طلبات)، وتفلت منها قيم (أرقام مكتوبة بمسافات أو بالأرقام الهندية المشرقية).
يتناول هذا الدليل بيانات الرصد الخارجة من تطبيقاتكم. أما نسخ قواعد بيانات الإنتاج المستخدمة في التطوير والاختبار فتحتاج إلى عملية مختلفة: إخفاء البيانات لبيئات الاختبار
روابط ذات صلةإخفاء البيانات لبيئات الاختبار
من أين تدخل البيانات الشخصية إلى بيانات الرصد
| المصدر | مثال شائع | الضابط |
|---|---|---|
| رسائل السجلات | مطوّر يسجّل جسم الطلب كاملًا، وفيه رقم جوال العميل | لا تسجّلوا أجسام الطلبات أو الردود افتراضيًا، وأخفوا الأنماط في نص السجل |
| خصائص الـ Spans | إضافة user.email أو رقم هوية وطنية إلى Span "لتسهيل التصحيح" | لا تضعوا البريد الإلكتروني أو الهاتف أو رقم الهوية أو رقم البطاقة أو العنوان أو نصوص المستخدم الحرة في خصائص الـ Spans، واحذفوا المفاتيح المعروفة مركزيًا |
| الروابط | رمز دخول أو معرّف في معاملات الرابط ضمن url.full | احذفوا معاملات الروابط مركزيًا |
| الترويسات | ترويستا Authorization وCookie تلتقطهما أدوات القياس | احذفوا هذه الخصائص مركزيًا |
| الأخطاء | رسالة خطأ تحقق تكرر رقم البطاقة غير الصحيح | اجعلوا قواعد الإخفاء تشمل رسائل الأخطاء، لا الخصائص وحدها |
| Spans قواعد البيانات | نص استعلام SQL يتضمن القيم الحرفية | استخدموا الاستعلامات ذات المعاملات (Parameterised Queries) حتى لا تُسجَّل القيم |
| معرّفات تحتاجونها | معرّف عميل يُستخدم لتجميع الأخطاء لكل مستخدم | استبدلوه بقيمة مُجزّأة مملّحة (Salted Hash)، أي معرّف مستعار |
ثلاث طبقات للضبط
| الطبقة | أين | الأسلوب | ما الذي تلتقطه |
|---|---|---|---|
| 1. لا تجمعوها | شيفرة التطبيق | قواعد للمطوّرين؛ معرّفات مستعارة | التسرّب من مصدره |
| 2. طبّقوا الإخفاء مركزيًا | طبقة معالجة داخل شبكتكم، مثل OpenTelemetry Collector | حذف الخصائص أو تجزئتها أو إخفاؤها؛ استبدال الأنماط في نص السجلات ورسائل الأخطاء؛ قوائم سماح للخدمات الخاضعة للتنظيم | ما يفوت المطوّرين، لكل لغات البرمجة بسياسة واحدة |
| 3. خط الدفاع الأخير | Datadog | قواعد Sensitive Data Scanner؛ فهارس سجلات مقيّدة وصلاحيات حسب الدور | ما أفلت، بعد الاستقبال |
الطبقة الثانية هي التي تُبقي البيانات داخل شبكتكم. يوثّق Datadog أن البيانات، حين يعمل Sensitive Data Scanner في سحابته، تُرسَل أولًا، و"تغادر بيئتكم قبل أن تُحجب". وتبقى الطبقة الثالثة مهمة: فهي تلتقط أنماطًا لم تتوقعها قواعدكم، ومكتبة قواعدها الجاهزة تغطي عناصر شائعة مثل عناوين البريد الإلكتروني وأرقام البطاقات ومفاتيح API والرموز.
طريقتان لتشغيل الطبقة الداخلية
| OpenTelemetry Collector | Datadog Observability Pipelines Worker | |
|---|---|---|
| ما هو | الـ Collector مفتوح المصدر الذي تشغّلونه كبوابة | أداة Datadog التي تعمل داخل بنيتكم التحتية لتجميع البيانات ومعالجتها وتوجيهها |
| الإشارات | التتبعات والمقاييس والسجلات | السجلات والمقاييس، بحسب الوثائق |
| طريقة الإخفاء | معالجات attributes وtransform وredaction بقواعدكم أنتم | قالب Sensitive Data Redaction بقواعد جاهزة أو مخصّصة؛ ويوثّق Datadog أيضًا تشغيل معالج Sensitive Data Scanner هنا، قبل أن تغادر البيانات مقرّكم |
| متى يناسب | حين ترسل التطبيقات بيانات OpenTelemetry أصلًا، خاصة التتبعات | حين تحتاج أحجام كبيرة من السجلات إلى معالجة وتوجيه قبل وصولها إلى Datadog أو إلى وجهات أخرى |
والطريقتان لا تُلغي إحداهما الأخرى: يمكن أن يعمل إخفاء التتبعات في الـ Collector ومعالجة السجلات في Observability Pipelines جنبًا إلى جنب، بشرط أن تحدد وثيقة سياسة واحدة ما يجب أن تزيله كلتاهما.
اختيار معالج الـ Collector
| المعالج | يناسب | السلوك |
|---|---|---|
| attributes | المفاتيح المعروفة | حذف خصائص محددة بالاسم أو تجزئتها أو تحديثها أو إضافتها، مثل تجزئة user.id وحذف user.email |
| transform | الإخفاء بالأنماط في أي مكان: الخصائص، وأسماء الـ Spans، وأجسام السجلات | الاستبدال بالتعابير النمطية ومنطق شرطي لكل نوع من الإشارات |
| redaction | الحوكمة الصارمة بقوائم السماح للخدمات الخاضعة للتنظيم، مثل المدفوعات والصحة | يحذف كل خاصية غير مسموح بها صراحةً، ويُخفي القيم المطابقة للأنماط المحظورة |
لخدمة المدفوعات، قائمة السماح هي الخيار الأسلم افتراضيًا: سمّوا الخصائص المسموح بخروجها (الخدمة، والإصدار، والبيئة، وطريقة HTTP، والمسار، ورمز الحالة، ورقم الطلب، والمبلغ، والعملة، ووسيلة الدفع، ونوع الخطأ)، ودعوا كل ما عداها يُحذف.
أنماط المعرّفات السعودية، وأين تفشل
تحقّقوا هل تغطي مكتبة قواعد الفحص لديكم الصيغ السعودية، وإن لم تغطها فأضيفوا قواعدكم. هذه هي الأنماط الواردة في التصميم المرجعي لدى إنتركي، مع نتائج اختبارها على قيم نموذجية.
| البيان | النمط (تعبير نمطي) | ما يطابقه |
|---|---|---|
| رقم الجوال السعودي | \b(?:\+?966|0)5\d{8}\b | 05XXXXXXXX و9665XXXXXXXX مكتوبة دون مسافات |
| الهوية الوطنية / الإقامة | \b[12]\d{9}\b | أي رقم من 10 خانات يبدأ بـ 1 أو 2 |
| رقم بطاقة الدفع | \b(?:\d[ -]?){12,18}\d\b | من 13 إلى 19 خانة، مع مسافات أو شرطات اختيارية |
| البريد الإلكتروني | [A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,} | صيغ البريد الإلكتروني المعتادة |
ما أظهره اختبارنا لهذه الأنماط:
| القيمة النموذجية | النتيجة | ما الذي تفعلونه |
|---|---|---|
| 0512345678 | أُخفيت | — |
| +966512345678 | أُخفيت الأرقام، وبقيت علامة "+" في البداية | لا ضرر في ذلك. ولإخفاء "+" أيضًا، احذفوا حدّ الكلمة الذي يسبقها: (?:\+966|\b966|\b0)5\d{8}\b |
| 055 123 4567 | لم تُخفَ: النمط لا يسمح بالمسافات | أضيفوا صيغة تقبل المسافات والشرطات إن كان المستخدمون يكتبون الأرقام بهذه الطريقة |
| ٠٥١٢٣٤٥٦٧٨ (رقم الجوال نفسه بالأرقام الهندية المشرقية) | لم تُخفَ: لا يطابقها أي نمط | إن كانت النماذج أو التطبيقات تقبل الأرقام الهندية المشرقية، فحوّلوها إلى أرقام غربية قبل التسجيل، أو أضيفوا أنماطًا مكتوبة لها |
| 1793609689 (طابع زمني يونكس بالثواني) | أُخفيت كأنها رقم هوية وطنية | طبّقوا قاعدة الهوية على الحقول التي يمكن أن تحمل هوية فقط، أو اشترطوا كلمة دالة قريبة؛ فكل طابع زمني يونكس بالثواني بين عامي 2001 و2065 مكوّن من 10 خانات ويبدأ بـ 1 أو 2 |
| 1793609689123 (الطابع الزمني نفسه بالملّي ثانية) | أُخفيت كأنها رقم بطاقة | استثنوا حقول الطوابع الزمنية المعروفة من قاعدة البطاقة |
| 12345678901234 (رقم طلب من 14 خانة) | أُخفيت كأنها رقم بطاقة | استثنوا حقول أرقام الطلبات المعروفة، أو تحققوا من المرشّحين بطريقة إضافية قبل الإخفاء |
أجرينا هذه الاختبارات بمحرّكين للتعابير النمطية، محرّك Python ومحرّك Go، وأعطيا النتائج نفسها. وأعيدوها داخل الـ Collector لديكم قبل التشغيل الفعلي: ففي إعدادات YAML الخاصة بالـ Collector، يحتاج النمط المكتوب بين علامتي تنصيص مزدوجتين إلى مضاعفة كل شرطة مائلة عكسية (\\b, \\d)، وأي خطأ في ذلك يغيّر ما تطابقه القاعدة أو يمنع تحميل الإعدادات.
قواعد للمطوّرين
انشروها في دليل الهندسة لديكم؛ فهي توقف التسرّب من مصدره، قبل أن يراه أي مسار معالجة.
- لا تسجّلوا أجسام الطلبات أو الردود افتراضيًا.
- لا تضعوا البريد الإلكتروني أو الهاتف أو رقم الهوية أو رقم البطاقة أو العنوان أو نصوص المستخدم الحرة في خصائص الـ Spans.
- استخدموا معرّفات مستعارة، مثل قيمة مُجزّأة مملّحة لمعرّف المستخدم، حين تحتاجون إلى تحليل على مستوى المستخدم.
- افترضوا أن رسائل الأخطاء قد تحتوي بيانات شخصية؛ ويجب أن تشملها قواعد الإخفاء.
- لا تسجّلوا جمل قواعد البيانات إلا من الاستعلامات ذات المعاملات، حتى لا تُسجَّل القيم أبدًا.
اختبار قواعد الإخفاء قبل التشغيل الفعلي
- ابنوا مجموعة بيانات اختبار: عيّنات تشبه الحقيقية لكل صيغة تخفونها، إضافة إلى قيم مشابهة يجب أن تبقى (طوابع زمنية، أرقام طلبات، رموز مرجعية).
- مرّروها عبر Collector غير إنتاجي مع debug exporter بمستوى التفصيل detailed، وقارنوا الناتج بما توقعتموه.
- سجّلوا حالات المطابقة الزائدة وما أفلت، وأصلحوا القواعد، واحتفظوا بمجموعة البيانات لاختبارات التراجع (Regression).
- أعيدوا تشغيل المجموعة كلما تغيّرت القواعد أو إصدارات الـ Collector، وقبل ضم أي خدمة جديدة.
- راقبوا الآثار الجانبية في بيئة الإنتاج: لوحات المتابعة التي تبدأ فجأة بتجميع قيم "[redacted]" قد تعني أن قاعدةً ما تُخفي حقلًا لا ينبغي إخفاؤه.
ما لا يحسمه الإخفاء
- مكان تخزين البيانات. الإخفاء يقلّل ما يغادر، لكنه لا يغيّر المكان الذي يصل إليه الباقي. وحتى نوفمبر 2026، تقع مواقع Datadog في الولايات المتحدة وألمانيا واليابان وأستراليا والمملكة المتحدة. راجعوا إقامة بيانات الرصد في المملكة.
- من يستطيع رؤية ما يُحتفظ به. استخدموا فهارس سجلات منفصلة للخدمات الحساسة، وقيّدوا الوصول حسب الدور.
- موقفكم القانوني. هل تُعدّ مجموعة بيانات ما بيانات شخصية، وما الذي يتطلبه منكم نظام حماية البيانات الشخصية في المملكة، سؤال يجيب عنه مسؤول حماية البيانات والفريق القانوني لديكم. والإخفاء ضابط تقني واحد ضمن تلك الإجابة.
روابط ذات صلةإقامة بيانات الرصد في المملكة
كيف تساعدكم إنتركي
إنتركي شريك رسمي لـ Datadog، وتنفّذ منصة Datadog وتشغّلها للمنشآت في السعودية. وفي التصميم المرجعي لدينا لنقل بيانات OpenTelemetry إلى Datadog، يكون الإخفاء جزءًا من المسار منذ اليوم الأول: قواعد المطوّرين أعلاه، وقواعد مركزية في الـ Collector تغطي التتبعات والسجلات، وقائمة سماح للخدمات الخاضعة للتنظيم، وSensitive Data Scanner من Datadog خطَّ دفاعٍ أخيرًا. ومراجعة القواعد مع فريق الأمن ومسؤول حماية البيانات لديكم خطوة محددة في قائمة التحقق التي نعمل بها في التنفيذ.
وللمسار الكامل، راجعوا إرسال بيانات OpenTelemetry إلى Datadog.
روابط ذات صلةإرسال بيانات OpenTelemetry إلى Datadog
أسئلة يطرحها العملاء
ألا يحجب Datadog البيانات الحساسة أصلًا؟
تستطيع أداة Sensitive Data Scanner من Datadog اكتشاف البيانات الحساسة وحجبها أو حجبها جزئيًا أو تجزئتها في السجلات وAPM Spans وأحداث RUM والأحداث. وفي سحابة Datadog تعمل بعد إرسال البيانات. ولحجب السجلات قبل أن تغادر مقرّكم، يوثّق Datadog تشغيلها في Observability Pipelines داخل بنيتكم التحتية؛ أما التتبعات فيتولى الـ OpenTelemetry Collector ذلك.
هل يبقى المعرّف المُجزّأ بيانات شخصية؟
القيمة المُجزّأة المملّحة تُخفي القيمة الأصلية، لكنها تظل تربط السجلات بالشخص نفسه، ولهذا تسمى "استعارة الهوية" (Pseudonymisation). اتفقوا مع مسؤول حماية البيانات على تصنيف المعرّفات المستعارة، ومن يحق له الاحتفاظ بقيمة الملح.
هل يصعّب الإخفاء معالجة الأعطال؟
ليس بالضرورة. تجزئة معرّفات المستخدمين تُبقي التجميع لكل مستخدم، وقوائم السماح تُبقي الخصائص التقنية التي يحتاجها المهندسون: المسار، ورمز الحالة، ونوع الخطأ، والخدمة، والإصدار.
هل يبطئ الإخفاء في الـ Collector مسار البيانات؟
كل قاعدة تضيف عبء معالجة، خصوصًا قواعد الأنماط المطبقة على أجسام سجلات كبيرة. قيسوا استهلاك المعالج والذاكرة في الـ Collector باستخدام مجموعة بيانات الاختبار، وزيدوا موارد البوابة أو عدد نسخها بحسب ذلك.
هل تراجعون قواعد موجودة لدينا؟
نعم. أرسلوا إلينا قواعدكم الحالية ووصفًا للبيانات التي تتعامل معها خدماتكم، ونختبرها مقابل الصيغ السعودية وحالات المطابقة الزائدة الواردة أعلاه.
التالي
أدلة ذات صلة
الخطوة التالية
راجعوا قواعد إخفاء بيانات الرصد لديكم
أخبرونا بالخدمات التي تتعامل مع بيانات شخصية، ولغات البرمجة المكتوبة بها، وإلى أين تذهب بيانات رصدها اليوم. يردّ عليكم أحد المختصين في فريق الرياض في أيام العمل السعودية، بالعربية أو الإنجليزية.
أو مباشرةً
+966-11-2180999 [email protected]أبراج التعاونية، البرج الشمالي، الطابق السابع، طريق الملك فهد، العليا، ص.ب. ٥٦٨٣٥، الرياض ١١٥٦٤، المملكة العربية السعودية