logologo
البدء
الدليل
التطوير
الإضافات
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
البدء
الدليل
التطوير
الإضافات
API
logologo
نظرة عامة

مصدر البيانات

إدارة مصادر البيانات
مصدر البيانات الرئيسي

مصدر بيانات خارجي (قاعدة بيانات)

مقدمة
MySQL خارجي
MariaDB خارجي
PostgreSQL خارجي
MSSQL خارجي
Oracle خارجي
مقارنة قواعد البيانات الرئيسية والخارجية
مصدر بيانات REST API
مصدر بيانات KingbaseES

جداول البيانات

نظرة عامة
جدول عادي
جدول موروث
جدول الملفات
جدول شجري
جدول التقويم
جدول التعليقات
جدول التعبيرات
جدول SQL
عرض قاعدة البيانات

حقول جداول البيانات

نظرة عامة
التحقق من الحقول

الأنواع الأساسية

نص سطر واحد
نص متعدد الأسطر
رقم الهاتف المحمول
البريد الإلكتروني
URL
عدد صحيح
رقم
نسبة مئوية
كلمة المرور
لون
أيقونة

أنواع الاختيار

خانة اختيار
قائمة منسدلة (اختيار واحد)
قائمة منسدلة (اختيار متعدد)
زر اختيار
خانة اختيار

الوسائط المتعددة

Markdown
Markdown (Vditor)
نص منسق
مرفق (علا
مرفق (URL)

التاريخ والوقت

نظرة عامة
التاريخ والوقت (مع المنطقة الزمنية)
التاريخ والوقت (بدون منطقة زمنية)
طابع زمني Unix
التاريخ (بدون وقت)
الوقت

أشكال هندسية

نقطة
خط
دائرة
مضلع

أنواع متقدمة

UUID
Nano ID
ترتيب
صيغة حسابية
ترميز تلقائي
JSON
محدد جدول البيانات
تشفير

معلومات النظام

تاريخ الإنشاء
تاريخ آخر تعديل
المنشئ
آخر معدّل
المساحة
Table OID

نوع العلاقة

نظرة عامة
واحد لواحد
واحد لمتعدد
متعدد لواحد
متعدد لمتعدد
متعدد لمتعدد (مصفوفة)

تطوير

نظرة عامة
Previous Pageمحدد جدول البيانات
Next Pageتاريخ الإنشاء
إشعار الترجمة بالذكاء الاصطناعي

تمت ترجمة هذه الوثائق تلقائيًا بواسطة الذكاء الاصطناعي.

#التشفير

#مقدمة

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

20251104192513

#طريقة التشفير

WARNING

تنشئ الإضافة تلقائيًا مفتاح التطبيق، ويُحفظ هذا المفتاح في الدليل /storage/apps/main/encryption-field-keys.

يُسمى ملف مفتاح التطبيق بمعرّف المفتاح، وامتداده .key. يُرجى عدم تغيير اسم الملف عشوائيًا.

يُرجى الاحتفاظ بملف مفتاح التطبيق بأمان. إذا فُقد ملف مفتاح التطبيق، فلن تتمكن البيانات المشفرة من فك تشفيرها.

إذا تم تمكين الإضافة بواسطة تطبيق فرعي، فإن دليل حفظ المفتاح الافتراضي هو /storage/apps/${sub-application name}/encryption-field-keys.

#آلية العمل

تعتمد طريقة تشفير الأظرف (Envelope Encryption).

20251118151339

#عملية إنشاء المفتاح

  1. عند إنشاء حقل مشفر لأول مرة، ينشئ النظام تلقائيًا مفتاح تطبيق بحجم 32 بت، ويُحفظ بترميز Base64 في دليل التخزين الافتراضي.
  2. في كل مرة يتم فيها إنشاء حقل مشفر جديد، يتم إنشاء مفتاح حقل عشوائي بحجم 32 بت لهذا الحقل، ثم يُشفر باستخدام مفتاح التطبيق ومتجه تشفير الحقل عشوائي بحجم 16 بت (باستخدام خوارزمية تشفير AES)، ثم يُحفظ في حقل options بجدول fields.

#عملية تشفير الحقول

  1. في كل مرة تُكتب فيها بيانات إلى حقل مشفر، يتم أولاً استرداد مفتاح الحقل المشفر ومتجه تشفير الحقل من حقل options بجدول fields.
  2. يُفك تشفير مفتاح الحقل المشفر باستخدام مفتاح التطبيق ومتجه تشفير الحقل. ثم تُشفر البيانات باستخدام مفتاح الحقل ومتجه تشفير البيانات عشوائي بحجم 16 بت (باستخدام خوارزمية تشفير AES).
  3. تُوقّع البيانات باستخدام مفتاح الحقل المفكوك تشفيره (باستخدام خوارزمية التجزئة HMAC-SHA256) وتُحوّل إلى سلسلة نصية بترميز Base64 (توقيع البيانات الناتج يُستخدم لاحقًا لاسترجاع البيانات).
  4. يتم دمج متجه تشفير البيانات بحجم 16 بت ونص البيانات المشفر بشكل ثنائي، وتُحوّل النتيجة إلى سلسلة نصية بترميز Base64.
  5. يتم دمج سلسلة توقيع البيانات المشفرة بـ Base64 وسلسلة نص البيانات المشفر المدمجة المشفرة بـ Base64، بفصلها بنقطة ..
  6. تُحفظ السلسلة النصية المدمجة النهائية في قاعدة البيانات.

#متغيرات البيئة

لتحديد مفتاح تطبيق مخصص، يمكنك استخدام متغير البيئة ENCRYPTION_FIELD_KEY_PATH. ستقوم الإضافة بتحميل الملف الموجود في هذا المسار كـ مفتاح تطبيق.

متطلبات تنسيق ملف مفتاح التطبيق:

  1. يجب أن يكون امتداد الملف .key.
  2. سيُستخدم اسم الملف كمعرّف للمفتاح؛ يُوصى باستخدام UUID لضمان التفرد.
  3. يجب أن يكون محتوى الملف بيانات ثنائية بحجم 32 بت مشفرة بـ Base64.
ENCRYPTION_FIELD_KEY_PATH=/path/to/my/app-keys/270263524860909922913.key

#إعدادات الحقل

20240802173721

#تأثير التشفير على التصفية

الحقول المشفرة تدعم فقط: يساوي، لا يساوي، موجود، غير موجود.

20240802174042

آلية تصفية البيانات:

  1. استرداد مفتاح الحقل المشفر، وفك تشفيره باستخدام مفتاح التطبيق.
  2. استخدام مفتاح الحقل لتوقيع نص البحث الذي أدخله المستخدم (باستخدام خوارزمية التجزئة HMAC-SHA256).
  3. دمج التوقيع مع فاصل .، وإجراء استعلام مطابقة البادئة في قاعدة البيانات للحقول المشفرة.

#تدوير المفتاح

WARNING

قبل استخدام أمر تدوير المفتاح nocobase key-rotation، تأكد من أن التطبيق قد قام بتحميل هذه الإضافة.

عند ترحيل تطبيق إلى بيئة جديدة، إذا كنت لا ترغب في الاستمرار في استخدام نفس المفتاح الخاص بالبيئة القديمة، يمكنك استخدام أمر nocobase key-rotation لاستبدال مفتاح التطبيق.

يتطلب تشغيل أمر تدوير المفتاح تحديد مفتاح التطبيق الخاص بالبيئة القديمة. بعد التنفيذ، سيتم إنشاء مفتاح تطبيق جديد واستبدال المفتاح القديم. يُحفظ مفتاح التطبيق الجديد بترميز Base64 في دليل التخزين الافتراضي.

# --key-path يحدد ملف مفتاح التطبيق للبيئة القديمة الذي يتوافق مع البيانات المشفرة في قاعدة البيانات
 yarn nocobase key-rotation --key-path /path/to/old-app-keys/270263524860909922913.key

لتدوير مفتاح التطبيق الخاص بتطبيق فرعي، يجب إضافة المعامل --app-name، وتحديد اسم التطبيق الفرعي.

 yarn nocobase key-rotation --app-name a_w0r211vv0az --key-path /path/to/old-app-keys/270263524860909922913.key