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

Varsayılan olarak, Cloud Firestore uygulamasındaki tüm aktif olmayan veriler Google'ın varsayılan şifrelemesi kullanılarak şifrelenir. Cloud Firestore, sizin herhangi bir işlem yapmanıza gerek kalmadan bu şifrelemeyi yönetir.

Verilerinizi koruyan anahtarlarla ilgili belirli uyumluluk veya tüzük şartlarınız varsa Cloud Firestore için müşteri tarafından yönetilen şifreleme anahtarlarını (CMEK) kullanabilirsiniz. Verilerinizi koruyan şifreleme anahtarlarını Google'ın yönetmesi yerine, Cloud Firestore veritabanınız Cloud Key Management Service'te (Cloud KMS) kontrol ettiğiniz ve yönettiğiniz bir anahtar kullanılarak korunur.

Bu sayfada, Cloud Firestore için CMEK açıklanmaktadır. CMEK'in ne zaman ve neden etkinleştirileceği de dahil olmak üzere genel olarak 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 denetimi: CMEK, KMS anahtarını yönetmenize olanak tanır. Cloud Firestore veritabanınızda aktif olmayan verileri şifrelemek için kullanılan anahtarı rotasyona tabi tutabilir, devre dışı bırakabilir ve imha 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 üzerinden görüntülenebilir.
  • Kuruluş politikası kısıtlamaları: Kuruluşunuzdaki Cloud Firestore veritabanları için şifreleme uygunluk 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 kriptografik işlemler 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 her 5 dakikada bir gerçekleşir ve veritabanı istekleriyle senkronize edilmez. Cloud Firestore tarafından oluşturulan şifreleme işlemlerinin beklenen sayısı göz önüne alındığında maliyetler genellikle düşüktür. Cloud Denetleme Günlükleri'nin maliyetleri ek bir masraftır ancak beklenen şifreleme işlemleri sayısı göz önüne alındığında genellikle düşük olması beklenir.

CMEK korumalı veritabanı kullanımı için ek Cloud Firestore maliyeti yoktur ve Cloud Firestore fiyatlandırması geçerli olmaya devam eder.

Bir veritabanının anahtarını iptal ederseniz depolama alanı maliyeti, anahtarın kullanılabildiği son günkü boyuta 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 korumalı bir veritabanı oluşturduğunuzda Cloud KMS anahtarınız, aktif olmayan verileri korumak için kullanılır. Dizinler ve yedekler dahil olmak üzere diskte veya flash sürücüde depoladığınız veriler buna dahildir. Bazı istisnalar geçerlidir. Aşağıdaki veri türleri, CMEK anahtarıyla değil, Google'ın varsayılan şifreleme yöntemiyle şifrelenir:

  • Geçiş halindeki veya bellekteki veriler
  • Veritabanı meta verileri

Kullanılamayan anahtar durumunun işlenme şekli

Şifreleme ve şifre çözme işlemleri her veri isteğinde gerçekleştirilmez. Bunun yerine Cloud Firestore sistemi, anahtarın hâlâ kullanılabilir olup olmadığını kontrol etmek için Cloud KMS'yi her 5 dakikada bir sorgular ve anahtar kullanılabilir durumdaysa şifreleme ve şifre çözme işlemlerini gerçekleştirir.

Sistem, anahtarın kullanılamadığını tespit ederse 10 dakika içinde Cloud Firestore veritabanına yapılan tüm ç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ılamaz durumdayken geçerlilik süreleri aşılırsa TTL'ye göre veri silme işlemi, anahtar yeniden etkinleştirilene kadar ertelenir. Veritabanında devam eden uzun süreli işlemler varsa bunlar aşağıdaki şekilde etkilenir:

Cloud Firestore hizmetinin anahtara erişmesine kasıtlı olarak izin verilmeyen tüm durumlarda anahtarlar 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 işlem birkaç saati bulabilir. Cloud KMS anahtarlarında gerçekleştirilen bazı işlemlerin (ör. bir anahtarı devre dışı bırakma veya imha etme) uygulanması 3 saati bulabilir. Cloud Firestore, Cloud KMS'de geçerli olana kadar hiçbir değişikliği algılamaz.

Bir anahtarın yeniden etkinleştirilmesi, duruma bağlı olarak aşağıdakileri içerir:

  • Devre dışı bırakılmış bir anahtar sürümünü yeniden etkinleştirme.
  • Kaldırılan bir anahtar sürümünü geri yükleme. Kalıcı olarak imha edilmeden önce bir anahtar sürümünün imha edilmesi planlanır. Bir anahtarı yalnızca anahtar sürümünün imha edilmek üzere planlandığı dönemde geri yükleyebilirsiniz. Kalıcı olarak imha edilmiş bir anahtarı geri yükleyemezsiniz.
  • Cloud Firestore hizmet aracısına anahtara erişim iznini yeniden verme.

Anahtar rotasyonuyla ilgili dikkat edilmesi gereken noktalar

CMEK anahtarını rotasyona tabi tuttuğunuzda 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 tamamlandıktan sonra, CMEK anahtarının eski sürümlerini devre dışı bırakmak veya silmek, veritabanına erişimi devre dışı bırakmaz. Çünkü veritabanı yeni birincil anahtar sürümüyle şifrelenmiştir.

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 anahtarla ilgili önemli noktalar

Cloud EKM anahtarı kullandığınızda Google, harici olarak yönetilen anahtarınızın harici anahtar yönetimi iş ortağı sistemindeki kullanılabilirliği üzerinde kontrol sahibi olmaz.

Harici olarak yönetilen bir anahtar kullanılamıyorsa Cloud Firestore, bir saate kadar en iyi çaba temelinde tam veritabanı işlemlerini desteklemeye devam eder.

Bir saat sonra Cloud Firestore, Cloud KMS'ye hâlâ bağlanamıyorsa koruyucu önlem olarak Cloud Firestore veritabanını çevrimdışı duruma 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ın kullanımı hakkında daha fazla bilgi için Cloud External Key Manager belgelerine bakın.

Yedekleme ve geri yükleme

Yedekleme, oluşturulduğu veritabanıyla aynı şifreleme mekanizmasını kullanır. CMEK korumalı bir Cloud Firestore veritabanı yedek oluşturduğunda, yedeği oluşturma sırasında kullanılan birincil anahtar sürümüyle şifreler.

Cloud Firestore, yedekleme planlarını etkinleştirdikten 24 saat 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 aşağıdaki yöntemlerden birini kullanarak farklı bir şifreleme türü 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 yapabilirsiniz.
  • Yedeklemeyle aynı şifrelemeyi kullanan bir veritabanına geri yükleyin.

Yedeklemeden Cloud Firestore veritabanı geri yükleme hakkında daha fazla bilgi için Veritabanı yedeklemesinden veri geri yükleme başlıklı makaleyi inceleyin. CMEK korumalı bir Cloud Firestore veritabanını yedekten geri yükleme hakkında daha fazla bilgi için CMEK korumalı bir veritabanını geri yükleme başlıklı makaleyi inceleyin.

Klonla

Varsayılan olarak, başka bir veritabanından kopyalanan veritabanı, kaynak veritabanıyla aynı şifreleme mekanizmasını kullanır. Bir veritabanını klonlarken aşağıdaki yöntemlerden birini kullanarak farklı bir şifreleme türü belirtebilirsiniz:

  • Yeni belirtilen bir anahtarla CMEK veritabanına kopyalama
  • Google'ın varsayılan şifrelemesini kullanan, CMEK olmayan bir veritabanına kopyalayın.
  • (Varsayılan) Kaynak veritabanıyla aynı şifrelemeyi kullanan bir veritabanına kopyalayın.

Cloud Firestore veritabanını klonlama hakkında daha fazla bilgi için Veritabanı klonlama başlıklı makaleyi inceleyin. CMEK korumalı bir Cloud Firestore veritabanını klonlama hakkında daha fazla bilgi için CMEK korumalı bir veritabanını klonlama başlıklı makaleyi inceleyin.

Anahtar izleme

Bir anahtarın koruduğu kaynakları (ör. Cloud Firestore veritabanları) görüntülemek için anahtar izleme özelliğini 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 özellikli veritabanlarında aşağıdaki durumlar görülebilir:

  • Cloud Firestore belirli bir noktadan önceyi kurtarma (PITR) ayarları, CMEK tarafından şifrelenmeyen veritabanı meta verileri olduğundan anahtar kullanılamıyor olsa bile CMEK özellikli bir veritabanında bu ayarları değiştirebilirsiniz.
  • Kullanılamayan anahtarları olan bir CMEK veritabanını silebilirsiniz.
  • CMEK özellikli 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 hata 400 ile başarısız olur.

Sınırlamalar

  • CMEK korumalı bir veritabanının anahtarını değiştiremezsiniz. Anahtarları rotasyona tabi tutabilir, etkinleştirebilir ve devre dışı bırakabilirsiniz.
  • CMEK korumalı veritabanları, Key Visualizer'ı yalnızca varlık ve belge verileri için destekler, dizin verileri için desteklemez.
  • Mevcut veritabanlarında CMEK'i etkinleştiremezsiniz. CMEK'i yalnızca yeni veritabanlarında etkinleştirebilirsiniz. Bu özelliği veritabanını oluştururken etkinleştirmeniz gerekir. Mevcut bir CMEK olmayan veritabanındaki verileri CMEK korumalı bir veritabanına taşımak için verilerinizi dışa aktarın ve ardından yeni bir CMEK korumalı veritabanına aktarın. Ayrıca, CMEK olmayan bir veritabanındaki verileri CMEK veritabanına geri yükleyebilir veya kopyalayabilirsiniz.
  • Cloud Firestore, CMEK korumalı sınırlı sayıda veritabanını destekler.
  • Cloud Functions (1. nesil) entegrasyonuyla CMEK koruması desteklenmez. CMEK koruması istiyorsanız Cloud Run functions Firestore Triggers (2. nesil) kullanın.

Veriler, CMEK korumalı veritabanlarından nasıl çıkabilir?

  • Uygulamanız tarafından kopyalanan veriler, kullanıcıları tarafından diledikleri şekilde saklanabilir. Cloud Firestore verilerine erişen tüm uygulamalarda, verilere yalnızca uygun yetkilendirmeye sahip kişilerin erişebilmesi için uygun güvenlik kontrolleri gerekir. Daha fazla bilgi için güvenlik kuralları ve IAM'e bakın.

  • CMEK korumalı bir veritabanındaki veriler, Yedekleme ve Geri Yükleme, Klonlama veya İçe Aktarma ve Dışa Aktarma kullanılarak CMEK olmayan bir veritabanına taşınabilir. Bu işlemler için yalnızca yetkili kullanıcılara izin vermek üzere uygun IAM denetimlerini kullanın. Ayrıca, geri yükleme veya klonlama yoluyla oluşturulan tüm veritabanlarının ve içe aktarma için kullanılan tüm Cloud Storage paketlerinin CMEK korumalı olmasını zorunlu kılmak için CMEK kuruluş politikası kısıtlamaları kullanılabilir.

Sırada ne var?