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