مفاتيح التشفير المُدارة من العميل (CMEK)

يتم تلقائيًا تشفير جميع البيانات غير النشطة في Cloud Firestore باستخدام تشفير Google التلقائي. Cloud Firestore يتولّى معالجة هذا التشفير وإدارته نيابةً عنك بدون أي إجراء إضافي من جانبك.

إذا كانت لديك متطلبات تنظيمية أو متطلبات امتثال محددة متعلقة بالمفاتيح التي تحمي بياناتك، يمكنك استخدام مفاتيح التشفير التي يديرها العميل (CMEK) لـ Cloud Firestore. بدلاً من أن تدير Google مفاتيح التشفير التي تحمي بياناتك، تتم حماية قاعدة بيانات Cloud Firestoreباستخدام مفتاح تتحكّم فيه وتديره في Cloud Key Management Service (Cloud KMS).

تصف هذه الصفحة مفاتيح التشفير التي يديرها العميل (CMEK) لـ Cloud Firestore. لمزيد من المعلومات حول مفاتيح التشفير التي يديرها العميل (CMEK) بشكل عام، بما في ذلك متى ولماذا يجب تفعيلها، يُرجى الاطّلاع على مستندات Cloud KMS التالية:

للحصول على تعليمات حول تنفيذ المهام ذات الصلة بمفاتيح التشفير التي يديرها العميل (CMEK) باستخدام Cloud Firestore، يُرجى الاطّلاع على مقالة استخدام مفاتيح التشفير التي يديرها العميل (CMEK).

الميزات

الأسعار

تفرض Cloud KMS رسومًا على تكلفة المفتاح وأي عمليات تشفير يتم إجراؤها باستخدام هذا المفتاح. لمزيد من المعلومات، يُرجى الاطّلاع على أسعار Cloud KMS.

تتم فوترة تكاليف العملية عندما يطلب Cloud Firestore من مفتاح Cloud KMS إجراء عملية تشفير أو فك تشفير. تحدث عملية التشفير/فك التشفير باستخدام المفتاح الذي يديره العميل كل 5 دقائق ولا تتم مزامنتها مع طلبات قاعدة البيانات. تكون التكاليف منخفضة بشكل عام، نظرًا إلى العدد المتوقّع من عمليات التشفير التي ينشئها Cloud Firestore. تُعدّ تكاليف Cloud Audit Logs نفقات إضافية، ولكن من المتوقّع أيضًا أن تكون منخفضة بشكل عام، نظرًا إلى العدد المتوقّع من عمليات التشفير.

لا يتم فرض أي تكاليف إضافية على Cloud Firestore لاستخدام قاعدة بيانات محمية بمفاتيح التشفير التي يديرها العميل (CMEK) وتستمر أسعار Cloud Firestore في الانطباق.

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

البيانات المحمية باستخدام مفاتيح التشفير التي يديرها العميل (CMEK)

عند إنشاء قاعدة بيانات محمية بمفاتيح التشفير التي يديرها العميل (CMEK) Cloud Firestore، يتم استخدام مفتاح Cloud KMS لحماية البيانات غير النشطة. ويشمل ذلك البيانات التي تخزّنها على قرص أو محرك أقراص فلاش، بما في ذلك الفهارس والنسخ الاحتياطية. تنطبق بعض الاستثناءات. يتم تشفير أنواع البيانات التالية باستخدام تشفير Google التلقائي وليس باستخدام مفتاح التشفير الذي يديره العميل (CMEK):

  • البيانات أثناء نقلها أو في الذاكرة
  • البيانات الوصفية لقاعدة البيانات

كيفية التعامل مع حالة المفتاح غير المتاح

لا يتم إصدار عمليات التشفير وفك التشفير في كل طلب بيانات. بدلاً من ذلك، يطلب نظام Cloud Firestoreمن Cloud KMS كل 5 دقائق التحقّق مما إذا كان المفتاح لا يزال متاحًا، ثم يُجري عمليات التشفير وفك التشفير إذا كان المفتاح متاحًا.

إذا رصد النظام أنّ المفتاح غير متاح، ستعرض أي طلبات لاحقة لقاعدة بيانات Cloud Firestore، بما في ذلك عمليات القراءة والكتابة والاستعلامات، في غضون 10 دقائق، الخطأ FAILED_PRECONDITION مع الرسالة The customer-managed encryption key required by the requested resource is not accessible.

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

  • ستتوقف عمليات استيراد البيانات أو تصديرها عن إحراز تقدّم، وسيتم وضع علامة عليها Failed. لن تتم إعادة محاولة العمليات التي تعذّر تنفيذها إذا تمت إعادة المفتاح.
  • ستتوقف عمليات إنشاء الفهرس والعمليات التي تفعّل سياسات مدة البقاء الجديدة عن إحراز تقدّم. ستتم إعادة محاولة العمليات المتوقفة إذا تمت إعادة المفتاح.

تُعتبر المفاتيح غير متاحة في أي حالة تمنع Cloud Firestore عمدًا من الوصول إلى المفتاح. ويشمل ذلك ما يلي:

إذا تمت إعادة المفتاح، سترصد عملية الاقتراع أنّ المفتاح متاح مرة أخرى. تتم إعادة تفعيل إمكانية الوصول، عادةً في غضون دقائق، ولكن قد يستغرق ذلك بضع ساعات في حالات نادرة. يُرجى العِلم أنّ بعض العمليات على مفاتيح Cloud KMS ، مثل إيقاف مفتاح أو محوه، قد تستغرق ما يصل إلى 3 ساعات لنشرها. Cloud Firestore لا يرصد أي تغييرات إلا بعد أن تصبح سارية المفعول في Cloud KMS.

تتضمّن إعادة المفتاح ما يلي، استنادًا إلى الحالة:

  • إعادة تفعيل إصدار مفتاح تم إيقافه.
  • استعادة إصدار مفتاح تم محوه. قبل محو إصدار مفتاح نهائيًا، تتم جدولة محوه. لا يمكنك استعادة مفتاح إلا خلال الفترة التي يتم فيها جدولة محو إصدار مفتاح. لا يمكنك استعادة مفتاح تم محوه نهائيًا.
  • إعادة منح إذن الوصول إلى المفتاح لوكيل الخدمة Cloud Firestore.

اعتبارات تدوير المفاتيح

عند تدوير مفتاح التشفير الذي يديره العميل (CMEK)، Cloud Firestore يعيد تشفير قاعدة البيانات باستخدام أحدث إصدار أساسي من مفتاح التشفير الذي يديره العميل (CMEK). أثناء عملية إعادة التشفير، يجب إبقاء إصدار المفتاح القديم والجديد متاحَين. بعد انتهاء عملية إعادة التشفير، لن يؤدي إيقاف أو حذف الإصدارات القديمة من مفتاح التشفير الذي يديره العميل (CMEK) إلى إيقاف إمكانية الوصول إلى قاعدة البيانات لأنّها مشفّرة باستخدام إصدار المفتاح الأساسي الجديد.

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

اعتبارات المفاتيح الخارجية

عند استخدام مفتاح Cloud EKM، لا تتحكّم Google في مدى توفّر المفتاح الذي تديره خارجيًا في نظام شريك إدارة المفاتيح الخارجية.

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

بعد ساعة، إذا كان Cloud Firestore لا يزال غير قادر على الاتصال بـ Cloud KMS، يبدأ Cloud Firestore في إيقاف قاعدة البيانات كإجراء وقائي. ستتعذّر الطلبات إلى قاعدة البيانات وستظهر الخطأ FAILED_PRECONDITION الذي يتضمّن تفاصيل إضافية.

يُرجى الاطّلاع على مستندات Cloud External Key Manager لمزيد من المعلومات حول استخدام المفاتيح الخارجية.

الاحتفاظ بنسخة احتياطية والاستعادة

تستخدم النسخة الاحتياطية آلية التشفير نفسها التي تستخدمها قاعدة البيانات التي أنشأتها منها. عندما تنشئ قاعدة بيانات محمية بمفاتيح التشفير التي يديرها العميل (CMEK) Cloud Firestore نسخة احتياطية ، يتم تشفير النسخة الاحتياطية باستخدام إصدار المفتاح الأساسي المستخدَم في وقت إنشاء النسخة الاحتياطية.

Cloud Firestore ينشئ النسخة الاحتياطية الأولى لقاعدة بيانات محمية بمفاتيح التشفير التي يديرها العميل (CMEK) بعد مرور 24 ساعة من لحظة تفعيل جداول النسخ الاحتياطية.

لمزيد من المعلومات حول النسخ الاحتياطية في Cloud Firestore، يُرجى الاطّلاع على مقالة الاحتفاظ بنسخة احتياطية من البيانات واستعادتها.

تستخدم قاعدة البيانات التي يتم استعادتها من نسخة احتياطية آلية التشفير نفسها التي تستخدمها النسخة الاحتياطية تلقائيًا. عند استعادة قاعدة بيانات، يمكنك تحديد نوع تشفير مختلف بإحدى الطرق التالية:

  • الاستعادة إلى قاعدة بيانات محمية بمفاتيح التشفير التي يديرها العميل (CMEK) باستخدام مفتاح تم تحديده حديثًا.
  • الاستعادة إلى قاعدة بيانات غير محمية بمفاتيح التشفير التي يديرها العميل (CMEK) تستخدم تشفير Google التلقائي.
  • الاستعادة إلى قاعدة بيانات تستخدم التشفير نفسه الذي تستخدمه النسخة الاحتياطية.

لمزيد من المعلومات حول استعادة قاعدة بيانات Cloud Firestore من نسخة احتياطية ، يُرجى الاطّلاع على مقالة استعادة البيانات من نسخة احتياطية لقاعدة بيانات. لمزيد من المعلومات حول استعادة قاعدة بيانات محمية بمفاتيح التشفير التي يديرها العميل (CMEK) Cloud Firestoreمن نسخة احتياطية، يُرجى الاطّلاع على مقالة استعادة قاعدة بيانات محمية بمفاتيح التشفير التي يديرها العميل (CMEK).

استنساخ

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

  • الاستنساخ إلى قاعدة بيانات محمية بمفاتيح التشفير التي يديرها العميل (CMEK) باستخدام مفتاح تم تحديده حديثًا.
  • الاستنساخ إلى قاعدة بيانات غير محمية بمفاتيح التشفير التي يديرها العميل (CMEK) تستخدم تشفير Google التلقائي.
  • (تلقائي) الاستنساخ إلى قاعدة بيانات تستخدم التشفير نفسه الذي تستخدمه قاعدة البيانات المصدر.

لمزيد من المعلومات حول استنساخ قاعدة بيانات Cloud Firestore، يُرجى الاطّلاع على مقالة استنساخ قاعدة بيانات. لمزيد من المعلومات حول استنساخ قاعدة بيانات محمية بمفاتيح التشفير التي يديرها العميل (CMEK) Cloud Firestore، يُرجى الاطّلاع على مقالة استنساخ قاعدة بيانات محمية بمفاتيح التشفير التي يديرها العميل (CMEK).

تتبُّع المفاتيح

يمكنك استخدام ميزة تتبُّع المفاتيح لعرض الموارد، مثل Cloud Firestore قواعد البيانات، التي يحميها مفتاح. لمزيد من المعلومات حول ميزة تتبُّع المفاتيح، يُرجى الاطّلاع على مقالة عرض استخدام المفتاح.

مفاتيح التشفير التي يديرها العميل (CMEK) ومدى توفّر المفاتيح

عندما تكون المفاتيح غير متاحة أو غير مفعّلة، يُرجى العِلم بالسلوكيات التالية التي يمكن أن تحدث في قواعد البيانات المفعّلة باستخدام مفاتيح التشفير التي يديرها العميل (CMEK):

  • يمكنك تغيير إعدادات ميزة "الاستعادة إلى نقطة زمنية" Cloud Firestore على قاعدة بيانات مفعّلة باستخدام مفاتيح التشفير التي يديرها العميل (CMEK) حتى إذا كان المفتاح غير متاح، لأنّ إعدادات ميزة "الاستعادة إلى نقطة زمنية" هي بيانات وصفية لقاعدة البيانات، ولا يتم تشفيرها باستخدام مفاتيح التشفير التي يديرها العميل (CMEK).
  • يمكنك حذف قاعدة بيانات محمية بمفاتيح التشفير التي يديرها العميل (CMEK) تتضمّن مفاتيح غير متاحة.
  • عند إنشاء قاعدة بيانات مفعّلة باستخدام مفاتيح التشفير التي يديرها العميل (CMEK)، لا تظهر المفاتيح غير المفعّلة في قائمة المفاتيح المتاحة في Google Cloud Console. إذا أدخلت يدويًا مفتاحًا غير مفعّل، ستتعذّر عملية إنشاء قاعدة البيانات وستظهر لك رسالة الخطأ FAILED_PRECONDITION برمز الحالة 400.

القيود

  • لا يمكنك تغيير مفتاح لقاعدة بيانات محمية بمفاتيح التشفير التي يديرها العميل (CMEK). يمكنك تدوير المفاتيح وتفعيلها وإيقافها.
  • لا تتيح قواعد البيانات المحمية بمفاتيح التشفير التي يديرها العميل (CMEK) استخدام أداة Key Visualizer إلا لبيانات الكيانات و المستندات، وليس لبيانات الفهارس.
  • لا يمكنك تفعيل مفاتيح التشفير التي يديرها العميل (CMEK) في قواعد البيانات الحالية. لا يمكنك تفعيل مفاتيح التشفير التي يديرها العميل (CMEK) إلا في قواعد البيانات الجديدة، ويجب تفعيلها عند إنشاء قاعدة البيانات. لنقل البيانات في قاعدة بيانات حالية غير محمية بمفاتيح التشفير التي يديرها العميل (CMEK) إلى قاعدة بيانات محمية بمفاتيح التشفير التي يديرها العميل (CMEK)، عليك تصدير بياناتك ثم استيراد البيانات إلى قاعدة بيانات جديدة محمية بمفاتيح التشفير التي يديرها العميل (CMEK). يمكنك أيضًا استعادة البيانات أو استنساخها من قاعدة بيانات غير محمية بمفاتيح التشفير التي يديرها العميل (CMEK) إلى قاعدة بيانات محمية بمفاتيح التشفير التي يديرها العميل (CMEK).
  • Cloud Firestore يدعم عددًا محدودًا من قواعد البيانات المحمية بمفاتيح التشفير التي يديرها العميل (CMEK).
  • لا نتيح الحماية باستخدام مفاتيح التشفير التي يديرها العميل (CMEK) مع عملية الدمج في Cloud Functions (الجيل الأول). إذا أردت توفير الحماية باستخدام مفاتيح التشفير التي يديرها العميل (CMEK)، استخدِم Cloud Run functions Firestore Triggers (الجيل الثاني).

كيف يمكن أن تخرج البيانات من قواعد البيانات المحمية بمفاتيح التشفير التي يديرها العميل (CMEK)

  • يمكن للمستخدمين تخزين البيانات التي ينسخها تطبيقك بطرق عشوائية. يجب توفير عناصر تحكّم مناسبة في الأمان لأي تطبيق يصل إلى بيانات Cloud Firestore للتأكّد من أنّ المستخدمين الذين لديهم إذن الوصول المناسب فقط هم من يمكنهم الوصول إلى البيانات. يُرجى الاطّلاع على قواعد الأمان وIAM لمزيد من التفاصيل.

  • يمكن نقل البيانات من قاعدة بيانات محمية بمفاتيح التشفير التي يديرها العميل (CMEK) إلى قاعدة بيانات غير محمية بمفاتيح التشفير التي يديرها العميل (CMEK) باستخدام الاحتفاظ بنسخة احتياطية والاستعادة أو الاستنساخ أو الاستيراد والتصدير. استخدِم عناصر تحكّم IAM المناسبة لمنح الإذن لهذه الإجراءات للمستخدمين المصرّح لهم فقط. بالإضافة إلى ذلك، يمكن استخدام قيود سياسة المؤسسة لمفاتيح التشفير التي يديرها العميل (CMEK) لطلب حماية أي قواعد بيانات يتم إنشاؤها من خلال الاستعادة أو الاستنساخ وأي حِزم Cloud Storage مستخدَمة للاستيراد باستخدام مفاتيح التشفير التي يديرها العميل (CMEK).

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