MongoDB uyumluluğu ile Cloud Firestore'da aktif olmayan tüm veriler varsayılan olarak Google'ın varsayılan şifrelemesi kullanılarak şifrelenir. MongoDB uyumluluğu olan Cloud Firestore, bu şifrelemeyi sizin adınıza herhangi bir ek işlem yapmanıza gerek kalmadan işler ve yönetir.
Verilerinizi koruyan anahtarlarla ilgili belirli uyumluluk veya yasal düzenleme gereksinimleriniz varsa MongoDB uyumluluğu ile Cloud Firestore için müşteri tarafından yönetilen şifreleme anahtarlarını (CMEK) kullanabilirsiniz. Verilerinizi koruyan şifreleme anahtarları Google tarafından yönetilmek yerine, MongoDB uyumluluğu olan Cloud Firestore veritabanınız Cloud Key Management Service (Cloud KMS)'de kontrol edip yönettiğiniz bir anahtar kullanılarak korunur.
Bu sayfada, MongoDB uyumluluğu ile Cloud Firestore için CMEK açıklanmaktadır. CMEK hakkında daha fazla bilgi edinmek için (ne zaman ve neden etkinleştirmeniz gerektiği dahil) aşağıdaki Cloud KMS belgelerine bakın:
- Müşteri tarafından yönetilen şifreleme anahtarları (CMEK)
- CMEK'leri kullanmayla ilgili en iyi uygulamalar
MongoDB uyumluluğu ile Cloud Firestore'da CMEK ile ilgili görevleri gerçekleştirme talimatları için CMEK kullanma başlıklı makaleye bakın.
Özellikler
- Veri kontrolü: CMEK, KMS anahtarını yönetmenize olanak tanır. Cloud Firestore with MongoDB compatibility veritabanınızda aktif olmayan verileri şifrelemek için kullanılan anahtarı döndürebilir, devre dışı bırakabilir ve yok edebilirsiniz.
- Performans: CMEK, Cloud Firestore HDS'yi etkilemez.
- Denetlenebilirlik: Cloud KMS için denetleme günlüğünü etkinleştirirseniz anahtar üzerindeki tüm işlemler günlüğe kaydedilir ve Cloud Logging'de görüntülenebilir.
- Kuruluş politikası kısıtlamaları: Kuruluşunuzdaki MongoDB uyumlu Cloud Firestore veritabanları için şifreleme uygunluğu koşullarını belirtmek üzere CMEK kuruluş politikası kısıtlamalarını kullanabilirsiniz.
Fiyatlandırma
Cloud KMS, anahtarın maliyeti ve bu anahtar kullanılarak gerçekleştirilen tüm şifreleme işlemleri için ücret alır. Daha fazla bilgi için Cloud KMS fiyatlandırması bölümünü inceleyin.
MongoDB uyumluluğu ile Cloud Firestore, Cloud KMS anahtarından şifreleme veya şifre çözme işlemi gerçekleştirmesini istediğinde işlem maliyetleri için faturalandırılırsınız. Müşteri tarafından yönetilen anahtarla şifreleme veya şifre çözme işlemi 5 dakikada bir gerçekleşir ve veritabanı istekleriyle senkronize edilmez. MongoDB uyumluluğu ile Cloud Firestore tarafından oluşturulan beklenen şifreleme işlemi sayısı göz önüne alındığında maliyetler genellikle düşüktür. Cloud Denetleme Günlükleri'nin maliyetleri ek bir giderdir ancak beklenen şifreleme işlemi sayısı göz önüne alındığında genellikle düşük olması beklenir.
CMEK ile korunan veritabanı kullanımı için Cloud Firestore with MongoDB compatibility'de ek maliyet yoktur ve Cloud Firestore with MongoDB compatibility fiyatlandırması geçerli olmaya devam eder.
Bir veritabanı için anahtarınızı iptal ederseniz depolama maliyeti, anahtarın kullanılabildiği son günün boyutuna göre ücretlendirilir. Veritabanı silinene veya anahtar tekrar kullanılabilir hale gelene kadar bu veritabanı boyutunda depolama maliyetleri oluşmaya devam eder.
CMEK ile korunanlar
MongoDB uyumluluğu ile CMEK korumalı bir Cloud Firestore veritabanı oluşturduğunuzda, aktif olmayan verileri korumak için Cloud KMS anahtarınız kullanılır. Dizinler ve yedekler dahil olmak üzere diskte veya flash sürücüde depoladığınız veriler bu kapsama girer. Bazı istisnalar geçerlidir. Aşağıdaki veri türleri, Google'ın varsayılan şifreleme yöntemiyle şifrelenir ve CMEK anahtarıyla şifrelenmez:
- Aktarım halindeki veya bellekteki veriler
- Veritabanı meta verileri
Kullanılamayan anahtar durumu nasıl ele alınır?
Şifreleme ve şifre çözme işlemleri her veri isteğinde yapılmaz. Bunun yerine, MongoDB uyumluluğu olan Cloud Firestore sistemi, anahtarın hâlâ kullanılabilir olup olmadığını kontrol etmek için Cloud KMS'yi 5 dakikada bir yoklar ve anahtar kullanılabilirse şifreleme ve şifre çözme işlemlerini gerçekleştirir.
Sistem, anahtarın kullanılamadığını algılarsa okuma, yazma ve sorgu gibi MongoDB uyumluluğu veritabanı ile Cloud Firestore'a yapılan sonraki tüm çağrılar 10 dakika içinde aşağıdaki mesajı içeren bir INVALID_ARGUMENT
hatası döndürür:
The customer-managed encryption key required by the requested
resource is not accessible.
Veritabanında geçerlilik süresi (TTL) politikaları varsa ve anahtar kullanılamazken herhangi bir geçerlilik süresi aşılırsa anahtar yeniden etkinleştirilene kadar TTL'ye göre veri silme işlemi ertelenir. Veritabanında devam eden uzun süreli işlemler varsa bunlar aşağıdaki şekilde etkilenir:
- Dizin oluşturma işlemleri ve yeni TTL politikalarını etkinleştiren işlemler ilerlemeyi durdurur. Anahtar yeniden etkinleştirilirse durdurulan işlemler yeniden denenir.
Anahtarlar, Cloud Firestore'un MongoDB uyumluluğu ile anahtara erişiminin kasıtlı olarak engellendiği her durumda kullanılamaz olarak kabul edilir. Bunlardan bazıları:
- Kullanımdaki anahtar sürümünü devre dışı bırakma veya kaldırma. Anahtar sürümünü yok ederken dikkatli olun. Bu işlem kurtarılamayan veri kaybına neden olabilir.
- MongoDB uyumluluğu hizmet hesabıyla Cloud Firestore'dan anahtara erişme iznini kaldırma.
Anahtar yeniden etkinleştirilirse yoklama işlemi, anahtarın tekrar kullanılabilir olduğunu algılar. Erişim genellikle birkaç dakika içinde yeniden etkinleştirilir ancak nadir durumlarda birkaç saati bulabilir. Cloud KMS anahtarlarında bazı işlemlerin (ör. anahtarın devre dışı bırakılması veya yok edilmesi) yayılması 3 saat sürebilir. MongoDB uyumluluğu olan Cloud Firestore, Cloud KMS'de geçerli olana kadar değişiklikleri algılamaz.
Bir anahtarın yeniden etkinleştirilmesi, duruma bağlı olarak aşağıdakileri içerir:
- Devre dışı bırakılan bir anahtar sürümünü yeniden etkinleştirme.
- Kaldırılan bir anahtar sürümünü geri yükleme. Bir anahtar sürümü kalıcı olarak kaldırılmadan önce kaldırılması planlanır. Bir anahtar sürümünün kaldırılması planlandığı dönemde anahtarı geri yükleyebilirsiniz. Kalıcı olarak silinmiş bir anahtarı geri yükleyemezsiniz.
- Cloud Firestore hizmet aracısına anahtara erişim izninin yeniden verilmesi.
Anahtar rotasyonuyla ilgili dikkat edilmesi gereken noktalar
CMEK anahtarını döndürdüğünüzde, MongoDB uyumlu Cloud Firestore veritabanını CMEK anahtarının en son birincil sürümüyle yeniden şifreler. Yeniden şifreleme işlemi sırasında hem önceki hem de yeni anahtar sürümünü kullanılabilir durumda tutun. Yeniden şifreleme işlemi tamamlandıktan sonra, CMEK anahtarının önceki sürümlerini devre dışı bırakmak veya silmek, yeni birincil anahtar sürümüyle şifrelendiği için veritabanına erişimi devre dışı bırakmaz.
Ayrıca, bir veritabanını korumak için kullanılan anahtar sürümlerini de görüntüleyebilirsiniz. Daha fazla bilgi için Kullanımdaki anahtarı görüntüleme başlıklı makaleyi inceleyin.
Harici anahtarlarla ilgili dikkat edilmesi gereken noktalar
Cloud EKM anahtarı kullandığınızda Google, harici anahtar yönetimi iş ortağı sisteminde harici olarak yönetilen anahtarınızın kullanılabilirliği üzerinde herhangi bir kontrole sahip olmaz.
Harici olarak yönetilen bir anahtar kullanılamıyorsa MongoDB uyumlu Cloud Firestore, anahtarın önbelleğe alınmış bir sürümünü kullanarak bir saate kadar tam veritabanı işlemlerini desteklemeye devam eder.
Bir saat sonra, MongoDB uyumluluğu ile Cloud Firestore hâlâ Cloud KMS'ye bağlanamıyorsa MongoDB uyumluluğu ile Cloud Firestore, koruyucu bir önlem olarak veritabanını çevrimdışı hale getirmeye başlar. Veritabanına yapılan çağrılar, ek ayrıntılar içeren bir INVALID_ARGUMENT
hatasıyla başarısız olur.
Harici anahtarları kullanırken dikkat etmeniz gereken diğer noktalar için Cloud External Key Manager belgelerine bakın.
Yedekleme ve geri yükleme
Yedekler, oluşturduğunuz veritabanasıyla aynı şifreleme mekanizmasını kullanır. MongoDB uyumluluğu olan bir CMEK ile korunan Cloud Firestore veritabanı yedek oluşturduğunda, yedeği oluşturma sırasında kullanılan birincil anahtar sürümüyle şifreler.
MongoDB uyumlu Cloud Firestore, yedekleme planlarını etkinleştirdiğiniz andan itibaren 24 saat geçtikten sonra CMEK veritabanının ilk yedeğini oluşturur.
MongoDB uyumluluğu yedekleriyle Cloud Firestore hakkında daha fazla bilgi için Verileri yedekleme ve geri yükleme başlıklı makaleyi inceleyin.
Yedekten geri yüklenen bir veritabanı, varsayılan olarak yedekle aynı şifreleme mekanizmasını kullanır. Bir veritabanını geri yüklerken farklı bir şifreleme türünü aşağıdaki yöntemlerden biriyle belirtebilirsiniz:
- Yeni belirtilen bir anahtarla CMEK veritabanına geri yükleme.
- Google'ın varsayılan şifrelemesini kullanan, CMEK olmayan bir veritabanına geri yükleme yapın.
- Yedekle aynı şifrelemeyi kullanan bir veritabanına geri yükleyin.
MongoDB uyumluluğu olan bir Cloud Firestore veritabanını yedekten geri yükleme hakkında daha fazla bilgi için Verileri veritabanı yedeğinden geri yükleme başlıklı makaleyi inceleyin. Yedekten CMEK ile korunan ve MongoDB uyumlu bir Cloud Firestore veritabanını geri yükleme hakkında daha fazla bilgi için CMEK ile korunan bir veritabanını geri yükleme başlıklı makaleyi inceleyin.
Klonla
Varsayılan olarak, başka bir veritabanından klonlanan bir veritabanı, kaynak veritabanıyla aynı şifreleme mekanizmasını kullanır. Veritabanını klonlarken aşağıdaki yöntemlerden birini kullanarak farklı bir şifreleme türü belirtebilirsiniz:
- Yeni belirtilen bir anahtarla CMEK veritabanına klonlama.
- Google'ın varsayılan şifrelemesini kullanan, CMEK olmayan bir veritabanına klonlama.
- (Varsayılan) Kaynak veritabanasıyla aynı şifrelemeyi kullanan bir veritabanına klonlayın.
MongoDB uyumluluğu olan bir Cloud Firestore veri tabanını klonlama hakkında daha fazla bilgi için Veritabanını klonlama başlıklı makaleyi inceleyin. CMEK ile korunan ve MongoDB uyumluluğu olan bir Cloud Firestore veritabanını klonlama hakkında daha fazla bilgi için CMEK ile korunan bir veritabanını klonlama başlıklı makaleyi inceleyin.
Anahtar izleme
Anahtarın koruduğu kaynakları (ör. MongoDB uyumluluğu olan Cloud Firestore veritabanları) görüntülemek için anahtar izlemeyi kullanabilirsiniz. Anahtar izleme hakkında daha fazla bilgi için Anahtar kullanımını görüntüleme başlıklı makaleyi inceleyin.
CMEK ve anahtar kullanılabilirliği
Anahtarlar kullanılamadığında veya devre dışı bırakıldığında, CMEK'nin etkin olduğu veritabanlarında aşağıdaki davranışların ortaya çıkabileceğini unutmayın:
Kullanılamayan anahtarlara sahip bir CMEK veritabanını silebilirsiniz.
CMEK'nin etkinleştirildiği bir veritabanı oluşturduğunuzda devre dışı bırakılan anahtarlar, Google Cloud Console'daki kullanılabilir anahtarlar listesinde gösterilmez. Devre dışı bırakılmış bir anahtarı manuel olarak girerseniz veritabanı oluşturma işlemi
INVALID_ARGUMENT
hata kodu 400 ile başarısız olur.
Sınırlamalar
CMEK ile korunan bir veritabanının anahtarını değiştiremezsiniz. Anahtarları döndürebilir, etkinleştirebilir ve devre dışı bırakabilirsiniz.
Mevcut veritabanlarında CMEK'yi etkinleştiremezsiniz. CMEK'yi yalnızca yeni veritabanlarında etkinleştirebilirsiniz ve veritabanını oluştururken etkinleştirmeniz gerekir. Mevcut bir CMEK dışı veritabanındaki verileri CMEK ile korunan bir veritabanına taşımak için verilerinizi dışa aktarın ve ardından verileri yeni bir CMEK ile korunan veritabanına aktarın. Ayrıca, CMEK olmayan bir veritabanındaki verileri CMEK veritabanına geri yükleyebilir veya kopyalayabilirsiniz.
Cloud Firestore, sınırlı sayıda CMEK ile korunan veritabanını destekler.