يتم تلقائيًا تشفير جميع البيانات غير النشطة في 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، اطّلِع على استخدام مفاتيح التشفير التي يديرها العميل.
الميزات
- التحكّم في البيانات: تتيح لك "مفاتيح التشفير التي يديرها العميل" إدارة مفتاح KMS. يمكنك تدوير المفتاح المستخدَم لتشفير البيانات الساكنة في قاعدة بيانات Cloud Firestore وإيقافه ومحوه.
- الأداء: لا تؤثر مفاتيح CMEK في اتفاقية مستوى الخدمةCloud Firestore.
- إمكانية التدقيق: في حال تفعيل تسجيل التدقيق في Cloud KMS، يتم تسجيل جميع العمليات التي يتم إجراؤها على المفتاح ويمكن الاطّلاع عليها في Cloud Logging.
- قيود سياسة المؤسسة: يمكنك استخدام قيود سياسة المؤسسة الخاصة بإدارة مفاتيح التشفير لتحديد متطلبات الامتثال للتشفير في قواعد بيانات Cloud Firestore في مؤسستك.
الأسعار
تفرض Cloud KMS رسومًا على تكلفة المفتاح وأي عمليات تشفير يتم إجراؤها باستخدام هذا المفتاح. لمزيد من المعلومات، يُرجى الاطّلاع على أسعار Cloud KMS.
يتم تحصيل رسوم منك مقابل تكاليف العملية عندما يطلب Cloud Firestore من مفتاح Cloud KMS تنفيذ عملية تشفير أو فك تشفير. تحدث عملية التشفير/فك التشفير باستخدام المفتاح الذي يديره العميل كل 5 دقائق، ولا تتم مزامنتها مع طلبات قاعدة البيانات. تكون التكاليف منخفضة بشكل عام، نظرًا إلى العدد المتوقّع لعمليات التشفير التي يتم إنشاؤها بواسطة Cloud Firestore. تُعدّ تكاليف "سجلات تدقيق السحابة" نفقات إضافية، ولكن من المتوقّع أيضًا أن تكون منخفضة بشكل عام، وذلك بالنظر إلى العدد المتوقّع من عمليات التشفير.
لا تتكبّد أي 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عليها. لن تتم إعادة محاولة العمليات التي تعذّر إجراؤها في حال تمت إعادة مفتاح الاستعادة. - ستتوقّف عمليات إنشاء الفهرس والعمليات التي تتيح سياسات جديدة بشأن مدة البقاء عن إحراز أي تقدّم. ستتم إعادة محاولة تنفيذ العمليات المتوقفة في حال إعادة مفتاح API.
تُعتبر المفاتيح غير متاحة في أي حالة تمنع Cloud Firestore عمدًا من الوصول إلى المفتاح. ويشمل ذلك ما يلي:
- إيقاف أو إتلاف إصدار المفتاح المستخدَم يجب توخّي الحذر عند إتلاف إصدار مفتاح، لأنّ هذا الإجراء قد يؤدي إلى فقدان البيانات بشكل غير قابل للاسترداد.
- إزالة الإذن بالوصول إلى المفتاح من حساب الخدمة 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 لمزيد من المعلومات حول استخدام المفاتيح الخارجية.
الاحتفاظ بنسخة احتياطية والاستعادة
تستخدم النسخة الاحتياطية آلية التشفير نفسها التي تستخدمها قاعدة البيانات التي أنشأتها منها. عندما تنشئ قاعدة بيانات محمية باستخدام مفتاح Cloud Firestore CMEK نسخة احتياطية، يتم تشفير النسخة الاحتياطية باستخدام إصدار المفتاح الأساسي المستخدَم في وقت إنشاء النسخة الاحتياطية.
تنشئ Cloud Firestore النسخة الاحتياطية الأولى من قاعدة بيانات CMEK بعد مرور 24 ساعة من وقت تفعيل جداول النسخ الاحتياطية.
لمزيد من المعلومات حول عمليات الاحتفاظ بنسخة احتياطية من Cloud Firestore، يمكنك الاطّلاع على الاحتفاظ بنسخة احتياطية من البيانات واستعادتها.
تستخدم قاعدة البيانات التي تم استعادتها من نسخة احتياطية آلية التشفير نفسها المستخدَمة في النسخة الاحتياطية تلقائيًا. عند استعادة قاعدة بيانات، يمكنك تحديد نوع تشفير مختلف بإحدى الطرق التالية:
- استعادة البيانات إلى قاعدة بيانات تستخدم مفاتيح التشفير المُدارة من العميل (CMEK) مع مفتاح تم تحديده حديثًا
- استعادة البيانات إلى قاعدة بيانات غير مفعَّلة فيها ميزة "إدارة مفاتيح التشفير من قِبل العميل" وتستخدِم تشفير Google التلقائي
- استعادة البيانات إلى قاعدة بيانات تستخدم التشفير نفسه المستخدَم في النسخة الاحتياطية
لمزيد من المعلومات حول استعادة قاعدة بيانات Cloud Firestore من نسخة احتياطية، راجِع استعادة البيانات من نسخة احتياطية لقاعدة بيانات. لمزيد من المعلومات حول استعادة قاعدة بيانات Cloud Firestore محمية باستخدام مفاتيح التشفير التي يديرها العميل (CMEK) من نسخة احتياطية، راجِع استعادة قاعدة بيانات محمية باستخدام مفاتيح التشفير التي يديرها العميل.
استنساخ
بشكلٍ تلقائي، تستخدم قاعدة البيانات المستنسخة من قاعدة بيانات أخرى آلية التشفير نفسها المستخدَمة في قاعدة البيانات المصدر. عند استنساخ قاعدة بيانات، يمكنك تحديد نوع تشفير مختلف بإحدى الطرق التالية:
- استنساخ إلى قاعدة بيانات تستخدم مفتاح تشفير مُدارًا للعميل (CMEK) مع مفتاح تم تحديده حديثًا
- استنساخ قاعدة بيانات غير مفعَّلة فيها ميزة "إدارة مفاتيح التشفير الخاصة بالعميل" وتستخدِم التشفير التلقائي من Google
- (تلقائي) استنساخ إلى قاعدة بيانات تستخدم التشفير نفسه الذي تستخدمه قاعدة البيانات المصدر
لمزيد من المعلومات حول استنساخ قاعدة بيانات Cloud Firestore، راجِع استنساخ قاعدة بيانات. لمزيد من المعلومات حول استنساخ قاعدة بيانات Cloud Firestore محمية باستخدام مفاتيح التشفير المُدارة للعميل (CMEK)، يُرجى الاطّلاع على استنساخ قاعدة بيانات محمية باستخدام مفاتيح التشفير المُدارة للعميل.
تتبُّع المفاتيح
يمكنك استخدام ميزة تتبُّع المفاتيح لعرض المراجع، مثل Cloud Firestore قواعد البيانات، التي يحميها المفتاح. لمزيد من المعلومات حول تتبُّع المفاتيح، اطّلِع على مقالة عرض استخدام المفاتيح.
مفاتيح CMEK ومدى توفّرها
عندما تكون المفاتيح غير متاحة أو تم إيقافها، يجب الانتباه إلى السلوكيات التالية التي يمكن أن تحدث في قواعد البيانات المفعَّلة باستخدام CMEK:
- يمكنك تغيير إعدادات Cloud Firestore الاسترداد في نقطة زمنية (PITR) على قاعدة بيانات مفعَّلة باستخدام "مفتاح تشفير يديره العميل" (CMEK) حتى إذا كان المفتاح غير متاح، لأنّ إعدادات الاسترداد في نقطة زمنية هي بيانات وصفية لقاعدة البيانات، وهي غير مشفّرة باستخدام "مفتاح تشفير يديره العميل".
- يمكنك حذف قاعدة بيانات CMEK تحتوي على مفاتيح غير متاحة.
- عند إنشاء قاعدة بيانات مفعَّلة باستخدام مفتاح CMEK، لن تظهر المفاتيح غير المفعَّلة في قائمة المفاتيح المتاحة في Google Cloud Console. في حال إدخال مفتاح تم إيقافه يدويًا، ستتعذّر عملية إنشاء قاعدة البيانات وسيظهر الخطأ 400
FAILED_PRECONDITION.
القيود
- لا يمكنك تغيير مفتاح لقاعدة بيانات محمية باستخدام مفتاح تشفير يديره العميل (CMEK). يمكنك تدوير المفاتيح وتفعيلها وإيقافها.
- تتيح قواعد البيانات المحمية باستخدام مفاتيح التشفير المُدارة من العميل (CMEK) استخدام Key Visualizer فقط لبيانات الكيانات والمستندات، وليس لبيانات الفهرس.
- لا يمكنك تفعيل CMEK على قواعد البيانات الحالية. يمكنك تفعيل ميزة "إدارة المفاتيح المقدَّمة من العميل" (CMEK) على قواعد البيانات الجديدة فقط، ويجب تفعيلها عند إنشاء قاعدة البيانات. لنقل البيانات في قاعدة بيانات حالية غير محمية باستخدام مفتاح التشفير المُدارة من العميل (CMEK) إلى قاعدة بيانات محمية باستخدام مفتاح التشفير المُدارة من العميل (CMEK)، عليك تصدير بياناتك ثم استيرادها إلى قاعدة بيانات جديدة محمية باستخدام مفتاح التشفير المُدارة من العميل (CMEK). يمكنك أيضًا استعادة البيانات أو استنساخها من قاعدة بيانات غير مستخدِمة لمفاتيح التشفير المُدارة للعميل إلى قاعدة بيانات مستخدِمة لها.
- Cloud Firestore تتيح استخدام عدد محدود من قواعد البيانات المحمية باستخدام مفاتيح التشفير المُدارة من العميل (CMEK).
- لا تتوافق حماية CMEK مع عملية الدمج في Cloud Functions (الجيل الأول). إذا كنت تريد توفير حماية باستخدام مفتاح تشفير مُدار من العميل (CMEK)، استخدِم Cloud Run وظائف مشغّلات Firestore (الجيل الثاني).
كيف يمكن أن تغادر البيانات قواعد البيانات المحمية باستخدام مفاتيح التشفير المُدارة من العميل (CMEK)؟
يمكن لمستخدمي تطبيقك تخزين البيانات التي ينسخها تطبيقك بطرق عشوائية. يجب توفير عناصر تحكّم مناسبة في الأمان لأي تطبيق يصل إلى بيانات Cloud Firestore للتأكّد من أنّ المستخدمين الذين لديهم إذن مناسب فقط هم من يمكنهم الوصول إلى البيانات. لمزيد من التفاصيل، يُرجى الاطّلاع على قواعد الأمان وإدارة الهوية وإمكانية الوصول.
يمكن نقل البيانات من قاعدة بيانات محمية بمفاتيح التشفير التي يديرها العميل إلى قاعدة بيانات غير محمية بمفاتيح التشفير التي يديرها العميل باستخدام الاحتفاظ بنسخة احتياطية والاستعادة أو الاستنساخ أو الاستيراد والتصدير. استخدِم عناصر تحكّم مناسبة في إدارة الهوية وإمكانية الوصول لمنح الإذن بتنفيذ هذه الإجراءات للمستخدمين المصرَّح لهم فقط. بالإضافة إلى ذلك، يمكن استخدام قيود سياسة المؤسسة الخاصة بمفاتيح التشفير التي يديرها العميل لفرض حماية أي قواعد بيانات يتم إنشاؤها من خلال الاستعادة أو الاستنساخ وأي حِزم Cloud Storage مستخدَمة في عملية الاستيراد باستخدام مفاتيح التشفير التي يديرها العميل.