مفاتيح التشفير المُدارة من العميل (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، اطّلِع على استخدام مفاتيح التشفير المُدارة للعميل.

الميزات

الأسعار

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

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

لا تتكبّد أي Cloud Firestore تكاليف إضافية مقابل استخدام قاعدة بيانات محمية باستخدام مفتاح التشفير المُدارة من العميل (CMEK)، ويظل Cloud Firestore السعر ساريًا.

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

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

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

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

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

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

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

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

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

تُعتبر المفاتيح غير متاحة في أي حالة تمنع 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) مع مفتاح تم تحديده حديثًا
  • استعادة البيانات إلى قاعدة بيانات غير مفعَّلة فيها ميزة "إدارة مفاتيح التشفير من قِبل العميل" وتستخدم التشفير التلقائي من Google
  • استعادة البيانات إلى قاعدة بيانات تستخدم التشفير نفسه المستخدَم في النسخة الاحتياطية

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

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

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

مفتاح CMEK ومدى توفّره

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

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

القيود

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

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