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