Müşteri tarafından yönetilen şifreleme anahtarları (CMEK)

Varsayılan olarak, Cloud Firestore'daki tüm aktif olmayan veriler Google'ın varsayılan şifrelemesi kullanılarak şifrelenir. Cloud Firestore, sizin tarafınızdan herhangi bir ek işlem yapılmasına gerek kalmadan bu şifrelemeyi sizin için işler ve yönetir.

Verilerinizi koruyan anahtarlarla ilgili belirli uyumluluk veya yasal düzenleme gereksinimleriniz varsa Cloud Firestore için müşteri tarafından yönetilen şifreleme anahtarlarını (CMEK) kullanabilirsiniz. Google'ın verilerinizi koruyan şifreleme anahtarlarını yönetmesi yerine, Cloud Firestore veritabanınız Cloud Key Management Service (Cloud KMS)'de kontrol edip yönettiğiniz bir anahtar kullanılarak korunur.

Bu sayfada Cloud Firestore için CMEK açıklanmaktadır. Ne zaman ve neden etkinleştirileceği de dahil olmak üzere CMEK hakkında daha fazla bilgi için aşağıdaki Cloud KMS belgelerine bakın:

Cloud Firestore ile CMEK ile ilgili görevleri gerçekleştirme talimatları için CMEK'yi kullanma başlıklı makaleyi inceleyin.

Özellikler

  • Veri kontrolü: CMEK, KMS anahtarını yönetmenize olanak tanır. Cloud Firestore 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 anahtarla ilgili tüm işlemler günlüğe kaydedilir ve Cloud Logging'de görüntülenebilir.
  • Kuruluş politikası kısıtlamaları: Kuruluşunuzdaki Cloud Firestore veritabanları için şifreleme uyumluluğ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ı başlıklı makaleyi inceleyin.

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/şifre çözme işlemi 5 dakikada bir gerçekleşir ve veritabanı istekleriyle senkronize edilmez. 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şlemleri sayısı göz önüne alındığında genellikle düşük olması beklenir.

CMEK ile korunan veritabanı kullanımı için ek Cloud Firestore ücret alınmaz ve Cloud Firestore 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 ödemeye devam edersiniz.

CMEK ile korunanlar

Cloud Firestore CMEK ile korunan bir 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, Cloud Firestore sistemi anahtarın hâlâ kullanılabilir olup olmadığını kontrol etmek için 5 dakikada bir Cloud KMS'ye yoklama isteği gönderir ve anahtar kullanılabilirse şifreleme ve şifre çözme işlemlerini gerçekleştirir.

Sistem, anahtarın kullanılamadığını algılarsa 10 dakika içinde Cloud Firestore veritabanına yapılan tüm sonraki çağrılar (okuma, yazma ve sorgular dahil) The customer-managed encryption key required by the requested resource is not accessible mesajıyla birlikte FAILED_PRECONDITION hatası döndürür.

Veritabanında geçerlilik süresi (TTL) politikaları varsa ve anahtar kullanılamazken herhangi bir geçerlilik süresi aşılırsa TTL'ye göre veri silme işlemi, anahtar yeniden etkinleştirilene kadar ertelenir. Veritabanında uzun süren işlemler devam ediyorsa bu işlemler aşağıdaki şekilde etkilenir:

Anahtarlar, Cloud Firestore'nın anahtara erişiminin kasıtlı olarak engellendiği her durumda kullanılamaz olarak kabul edilir. Bunlardan bazıları:

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 bu süre 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. Cloud Firestore, değişiklikler Cloud KMS'de geçerli olana kadar bunları 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ının planlandığı süre zarfında anahtarı geri yükleyebilirsiniz. Kalıcı olarak silinmiş bir anahtarı geri yükleyemezsiniz.
  • Anahtara erişmek için Cloud Firestore hizmet aracısına yeniden izin verme.

Anahtar rotasyonuyla ilgili dikkat edilmesi gereken noktalar

CMEK anahtarını döndürdüğünüzde 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 eski hem de yeni anahtar sürümünü kullanılabilir durumda tutun. Yeniden şifreleme işlemi tamamlandıktan sonra, CMEK anahtarının eski 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 Cloud Firestore, bir saate kadar en iyi çaba prensibiyle tam veritabanı işlemlerini desteklemeye devam eder.

Bir saat sonra Cloud Firestore hâlâ Cloud KMS'ye bağlanamıyorsa 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 FAILED_PRECONDITION hatasıyla başarısız olur.

Harici anahtarları kullanma hakkında daha fazla bilgi 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. CMEK ile korunan bir Cloud Firestore veritabanı yedek oluşturduğunda yedeği, yedek oluşturma sırasında kullanılan birincil anahtar sürümüyle şifreler.

Cloud Firestore, yedekleme planlarını etkinleştirdiğiniz andan itibaren 24 saat geçtikten sonra CMEK veritabanının ilk yedeğini oluşturur.

Cloud Firestore yedeklemeleri 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.

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. CMEK ile korunan Cloud Firestore veritabanını yedeklemeden geri yükleme hakkında daha fazla bilgi için CMEK ile korunan veritabanını geri yükleme başlıklı makaleyi inceleyin.

Anahtar izleme

Bir anahtarın koruduğu kaynakları (ör. 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 etkinleştirildiği veritabanlarında aşağıdaki davranışların oluşabileceğini unutmayın:

  • PITR ayarları, CMEK tarafından şifrelenmeyen veritabanı meta verileri olduğundan, anahtar kullanılamıyor olsa bile CMEK'nin etkin olduğu bir veritabanında Cloud Firestore belirli bir noktadan önceyi kurtarma (PITR) ayarlarını değiştirebilirsiniz.
  • 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 FAILED_PRECONDITION 400 hatasıyla 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.
  • CMEK ile korunan veritabanları, Key Visualizer'ı yalnızca dizin verileri için değil, varlık ve doküman verileri için destekler.
  • 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 dışı bir veritabanındaki verileri CMEK veritabanına da geri yükleyebilirsiniz.
  • Cloud Firestore, sınırlı sayıda CMEK ile korunan veritabanını destekler.
  • Cloud Functions (1. nesil) entegrasyonuyla CMEK koruması desteklenmez. CMEK koruması istiyorsanız Cloud Run işlevleri Firestore tetikleyicilerini (2. nesil) kullanın.

Sırada ne var?