بهطور پیشفرض، تمام دادههای در حالت استراحت در Cloud Firestore با سازگاری MongoDB با استفاده از رمزگذاری پیشفرض Google رمزگذاری میشوند. Cloud Firestore با سازگاری MongoDB این رمزگذاری را برای شما بدون هیچ اقدام اضافی انجام می دهد و مدیریت می کند.
اگر انطباق یا الزامات قانونی مربوط به کلیدهایی که از داده های شما محافظت می کنند دارید، می توانید از کلیدهای رمزگذاری مدیریت شده توسط مشتری (CMEK) برای Cloud Firestore با سازگاری MongoDB استفاده کنید. به جای اینکه Google کلیدهای رمزگذاری را که از دادههای شما محافظت میکنند مدیریت کند، پایگاه داده سازگاری Cloud Firestore با MongoDB با استفاده از کلیدی که شما در سرویس مدیریت کلید ابری (Cloud KMS) کنترل و مدیریت میکنید محافظت میشود.
این صفحه CMEK را برای Cloud Firestore با سازگاری MongoDB توصیف می کند. برای اطلاعات بیشتر در مورد CMEK به طور کلی، از جمله زمان و چرایی فعال کردن آن، به مستندات Cloud KMS زیر مراجعه کنید:
برای دستورالعملهای مربوط به انجام وظایف مربوط به CMEK با Cloud Firestore با سازگاری MongoDB، به استفاده از CMEK مراجعه کنید.
ویژگی ها
- کنترل داده ها : CMEK به شما امکان می دهد کلید KMS را مدیریت کنید. میتوانید کلیدی را که برای رمزگذاری دادهها در حالت استراحت در Cloud Firestore با پایگاهداده سازگاری MongoDB استفاده میشود، بچرخانید، غیرفعال کنید و از بین ببرید.
- عملکرد : CMEK بر Cloud Firestore SLA تأثیر نمی گذارد.
- قابلیت ممیزی : اگر ثبت حسابرسی را برای Cloud KMS فعال کنید ، تمام عملیات روی کلید ثبت شده و در Cloud Logging قابل مشاهده است.
- محدودیتهای خطمشی سازمانی : میتوانید از محدودیتهای خطمشی سازمان CMEK برای تعیین الزامات انطباق با رمزگذاری برای Cloud Firestore با پایگاههای داده سازگاری MongoDB در سازمان خود استفاده کنید.
قیمت گذاری
Cloud KMS هزینه کلید و هرگونه عملیات رمزنگاری انجام شده با استفاده از آن کلید را دریافت می کند. برای اطلاعات بیشتر، قیمت گذاری Cloud KMS را ببینید.
زمانی که Cloud Firestore با سازگاری MongoDB از کلید Cloud KMS میخواهد عملیات رمزگذاری یا رمزگشایی را انجام دهد، هزینههای عملیاتی از شما دریافت میشود. عملیات رمزگذاری یا رمزگشایی توسط کلید مدیریت شده توسط مشتری هر 5 دقیقه انجام می شود و با درخواست های پایگاه داده همگام نیست. با توجه به تعداد مورد انتظار عملیات رمزنگاری تولید شده توسط Cloud Firestore با سازگاری MongoDB، هزینه ها به طور کلی پایین هستند. هزینههای گزارش حسابرسی ابری یک هزینه اضافی است، اما همچنین انتظار میرود که با توجه به تعداد مورد انتظار عملیات رمزنگاری، به طور کلی کم باشد.
هیچ هزینه اضافی Cloud Firestore با سازگاری MongoDB برای استفاده از پایگاه داده محافظت شده با CMEK وجود ندارد و قیمت گذاری Cloud Firestore با سازگاری MongoDB همچنان اعمال می شود.
اگر کلید خود را برای یک پایگاه داده لغو کنید، هزینه ذخیره سازی بر اساس اندازه آخرین روزی که کلید در دسترس بوده است، محاسبه می شود. تا زمانی که پایگاه داده حذف شود یا کلید دوباره در دسترس قرار گیرد، هزینه های ذخیره سازی در آن اندازه پایگاه داده را متحمل خواهید شد.
آنچه با CMEK محافظت می شود
هنگامی که یک Cloud Firestore با سازگاری MongoDB با پایگاه داده محافظت شده CMEK ایجاد می کنید، کلید Cloud KMS شما برای محافظت از داده ها در حالت استراحت استفاده می شود. این شامل دادههایی است که روی دیسک یا فلش درایو ذخیره میکنید، از جمله فهرستها و نسخههای پشتیبان. برخی استثناها اعمال می شود. انواع دادههای زیر با رمزگذاری پیشفرض Google و نه با کلید CMEK رمزگذاری میشوند:
- داده ها در حال انتقال یا در حافظه هستند
- فراداده پایگاه داده
نحوه رسیدگی به وضعیت کلید غیرقابل دسترس
عملیات رمزگذاری و رمزگشایی در هر درخواست داده صادر نمی شود. در عوض، Cloud Firestore با سیستم سازگاری MongoDB هر 5 دقیقه یک بار از Cloud KMS نظرسنجی می کند تا بررسی کند که آیا کلید هنوز در دسترس است یا خیر و سپس در صورت در دسترس بودن کلید، عملیات رمزگذاری و رمزگشایی را انجام می دهد.
اگر سیستم تشخیص دهد که کلید در دسترس نیست، در عرض 10 دقیقه هر تماس بعدی با پایگاه داده سازگاری Cloud Firestore با MongoDB، از جمله خواندن، نوشتن، و پرس و جو، یک خطای INVALID_ARGUMENT
با پیام زیر برگردانید:
The customer-managed encryption key required by the requested
resource is not accessible.
اگر پایگاه داده دارای خطمشیهای TTL باشد، و اگر زمانی که کلید در دسترس نیست از زمانهای انقضا فراتر رود، حذف دادهها توسط TTL تا زمانی که کلید بازگردانده شود به تأخیر میافتد. اگر پایگاه داده دارای عملیات طولانی مدت در حال انجام باشد، به صورت زیر تحت تأثیر قرار خواهند گرفت:
- عملیات ساخت ایندکس و عملیاتی که سیاستهای جدید TTL را قادر میسازد، پیشرفت را متوقف خواهند کرد. در صورت بازگرداندن کلید، عملیات متوقف شده دوباره امتحان می شود.
کلیدها در هر شرایطی که عمداً از دسترسی به کلید Cloud Firestore با سازگاری MongoDB جلوگیری میکنند، در دسترس نیستند. این شامل:
- غیرفعال کردن یا از بین بردن نسخه کلید در حال استفاده. هنگام از بین بردن یک نسخه کلیدی مراقب باشید، زیرا این امر می تواند باعث از دست رفتن اطلاعات غیرقابل جبران شود .
- حذف مجوز دسترسی به کلید از Cloud Firestore با حساب سرویس سازگاری MongoDB.
اگر کلید بازیابی شود، عملیات نظرسنجی تشخیص می دهد که کلید دوباره در دسترس است. دسترسی مجدداً فعال می شود، معمولاً در عرض چند دقیقه، اما در موارد نادر ممکن است تا چند ساعت طول بکشد. توجه داشته باشید که انتشار برخی از عملیات روی کلیدهای Cloud KMS، مانند غیرفعال کردن یا از بین بردن یک کلید، ممکن است تا 3 ساعت طول بکشد. Cloud Firestore با سازگاری MongoDB هیچ تغییری را تا زمانی که در Cloud KMS اعمال شود شناسایی نمی کند.
بازگرداندن یک کلید بسته به موقعیت شامل موارد زیر است:
- فعال کردن مجدد نسخه کلید غیرفعال
- بازیابی نسخه کلید نابود شده قبل از نابودی دائمی، یک نسخه کلیدی برای تخریب برنامه ریزی شده است. شما فقط می توانید یک کلید را در دوره ای بازیابی کنید که نسخه کلیدی برای نابودی برنامه ریزی شده است. شما نمی توانید کلیدی را که قبلاً برای همیشه از بین رفته است بازیابی کنید.
- اعطای مجدد مجوز به عامل سرویس Cloud Firestore برای دسترسی به کلید.
ملاحظات چرخش کلیدی
وقتی کلید CMEK را می چرخانید، Cloud Firestore با سازگاری MongoDB پایگاه داده را با آخرین نسخه اولیه کلید CMEK دوباره رمزگذاری می کند. در طول فرآیند رمزگذاری مجدد، نسخه قبلی و جدید کلید را در دسترس نگه دارید. پس از پایان رمزگذاری مجدد، غیرفعال کردن یا حذف نسخه های قبلی کلید CMEK دسترسی به پایگاه داده را غیرفعال نمی کند زیرا با نسخه کلید اصلی جدید رمزگذاری شده است.
همچنین می توانید نسخه های کلیدی که برای محافظت از پایگاه داده استفاده می شوند را مشاهده کنید. برای اطلاعات بیشتر، مشاهده کلید در حال استفاده را ببینید.
ملاحظات کلیدی خارجی
وقتی از کلید Cloud EKM استفاده میکنید، Google هیچ کنترلی بر در دسترس بودن کلید مدیریتشده خارجی شما در سیستم شریک مدیریت کلید خارجی ندارد.
اگر یک کلید مدیریت شده خارجی در دسترس نباشد، Cloud Firestore با سازگاری MongoDB به پشتیبانی از عملیات کامل پایگاه داده با استفاده از نسخه حافظه پنهان کلید تا یک ساعت ادامه می دهد.
پس از یک ساعت، اگر Cloud Firestore با سازگاری MongoDB همچنان قادر به اتصال با Cloud KMS نباشد، سازگاری Cloud Firestore با MongoDB به عنوان یک اقدام محافظتی شروع به آفلاین کردن پایگاه داده میکند. تماسها با پایگاه داده با خطای INVALID_ARGUMENT
که شامل جزئیات بیشتر است، با شکست مواجه میشوند.
برای ملاحظات بیشتر هنگام استفاده از کلیدهای خارجی، به مستندات Cloud External Key Manager مراجعه کنید.
پشتیبان گیری و بازیابی
یک نسخه پشتیبان از همان مکانیزم رمزگذاری استفاده می کند که پایگاه داده ای که از آن ایجاد کرده اید. هنگامی که یک Cloud Firestore محافظت شده با CMEK با پایگاه داده سازگاری MongoDB یک نسخه پشتیبان ایجاد می کند، پشتیبان را با نسخه کلید اصلی مورد استفاده در زمان ایجاد پشتیبان رمزگذاری می کند.
Cloud Firestore با سازگاری MongoDB اولین نسخه پشتیبان از یک پایگاه داده CMEK را پس از گذشت 24 ساعت از لحظه فعال کردن برنامه های پشتیبان گیری ایجاد می کند.
برای اطلاعات بیشتر درباره Cloud Firestore با پشتیبانگیریهای سازگار با MongoDB، به پشتیبانگیری و بازیابی دادهها مراجعه کنید.
پایگاه داده ای که از یک نسخه پشتیبان بازیابی می شود، به طور پیش فرض از مکانیزم رمزگذاری مشابه با نسخه پشتیبان استفاده می کند. هنگامی که یک پایگاه داده را بازیابی می کنید، می توانید نوع رمزگذاری متفاوتی را به یکی از روش های زیر مشخص کنید:
- با یک کلید جدید مشخص شده به پایگاه داده CMEK بازیابی کنید.
- بازیابی به پایگاه داده غیر CMEK که از رمزگذاری پیش فرض Google استفاده می کند.
- بازیابی به پایگاه داده ای که از رمزگذاری مشابه نسخه پشتیبان استفاده می کند.
برای اطلاعات بیشتر در مورد بازیابی پایگاه داده Cloud Firestore با سازگاری MongoDB از یک نسخه پشتیبان، به بازیابی داده ها از یک نسخه پشتیبان پایگاه داده مراجعه کنید. برای اطلاعات بیشتر در مورد بازیابی Cloud Firestore محافظت شده با CMEK با پایگاه داده سازگاری MongoDB از یک نسخه پشتیبان، به بازیابی پایگاه داده محافظت شده با CMEK مراجعه کنید.
کلون
به طور پیش فرض، یک پایگاه داده شبیه سازی شده از پایگاه داده دیگری از مکانیزم رمزگذاری مشابه با پایگاه داده منبع استفاده می کند. هنگامی که یک پایگاه داده را شبیه سازی می کنید، می توانید نوع رمزگذاری متفاوتی را به یکی از روش های زیر مشخص کنید:
- با یک کلید تازه مشخص شده به پایگاه داده CMEK کلون کنید.
- کلون کردن به یک پایگاه داده غیر CMEK که از رمزگذاری پیش فرض Google استفاده می کند.
- (پیشفرض) شبیهسازی به پایگاه دادهای که از رمزگذاری مشابه پایگاه داده منبع استفاده میکند.
برای اطلاعات بیشتر در مورد شبیه سازی یک Cloud Firestore با پایگاه داده سازگاری MongoDB، به شبیه سازی پایگاه داده مراجعه کنید. برای اطلاعات بیشتر در مورد شبیه سازی یک Cloud Firestore محافظت شده با CMEK با پایگاه داده سازگاری MongoDB، به شبیه سازی پایگاه داده محافظت شده با CMEK مراجعه کنید.
ردیابی کلید
می توانید از ردیابی کلید برای مشاهده منابع استفاده کنید، به عنوان مثال، Cloud Firestore با پایگاه داده سازگاری MongoDB، که یک کلید از آن محافظت می کند. برای اطلاعات بیشتر درباره ردیابی کلید، مشاهده استفاده از کلید را ببینید.
CMEK و در دسترس بودن کلید
هنگامی که کلیدها در دسترس یا غیرفعال هستند، از رفتارهای زیر که ممکن است در پایگاههای داده فعال CMEK رخ دهد، آگاه باشید:
می توانید یک پایگاه داده CMEK را که دارای کلیدهای در دسترس نیست حذف کنید.
وقتی یک پایگاه داده با CMEK فعال میسازید، کلیدهای غیرفعال در فهرست کلیدهای موجود در کنسول Google Cloud نشان داده نمیشوند. اگر به صورت دستی یک کلید غیرفعال را وارد کنید، فرآیند ایجاد پایگاه داده با خطای 400
INVALID_ARGUMENT
ناموفق خواهد بود.
محدودیت ها
شما نمی توانید کلید یک پایگاه داده محافظت شده با CMEK را تغییر دهید. می توانید کلیدها را بچرخانید، فعال و غیرفعال کنید.
شما نمی توانید CMEK را در پایگاه داده های موجود فعال کنید. شما می توانید CMEK را فقط در پایگاه داده های جدید فعال کنید و هنگام ایجاد پایگاه داده باید آن را فعال کنید. برای انتقال داده ها در یک پایگاه داده غیر CMEK موجود به یک پایگاه داده محافظت شده با CMEK، داده های خود را صادر کرده و سپس داده ها را به یک پایگاه داده جدید محافظت شده با CMEK وارد کنید. همچنین می توانید داده ها را از یک پایگاه داده غیر CMEK به یک پایگاه داده CMEK بازیابی یا شبیه سازی کنید.
Cloud Firestore از تعداد محدودی پایگاه داده محافظت شده توسط CMEK پشتیبانی می کند.