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

Varsayılan olarak, Cloud Firestore içinde aktif olmayan tüm veriler Google'ın varsayılan şifrelemesi kullanılarak şifrelenir. Cloud Firestore, bu şifreleme işlemini sizin adınıza yönetir ve sizin ek bir işlem yapmanıza gerek kalmaz.

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 ş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 her 5 dakikada bir gerçekleşir ve veritabanı istekleriyle senkronize edilmez. Cloud Firestore tarafından oluşturulan kriptografik işlemlerin 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ı kullanmak 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 maliyeti, anahtarın kullanılabildiği son günkü boyuta göre ücretlendirilir. Veritabanı silinene veya anahtar tekrar kullanılabilir hale gelene kadar, veritabanı boyutuna göre depolama alanı maliyetleri tahakkuk etmeye devam eder.

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 şifrelemesiyle ş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ç saat sürebilir. Cloud KMS anahtarlarında gerçekleştirilen bazı işlemlerin (ör. anahtarı devre dışı bırakma veya imha etme) yayılması 3 saat kadar sürebilir. 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. Anahtar sürümleri, kalıcı olarak imha edilmeden önce imha edilmek üzere 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 izni yeniden veriliyor.

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ümlerinin devre dışı bırakılması veya silinmesi, 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 bölümüne bakın.

Harici anahtarla ilgili önemli 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 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 Cloud Firestore koruyucu önlem olarak 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ı kullanma 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 programları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.

Bir Cloud Firestore veritabanını yedekten geri yükleme hakkında daha fazla bilgi için Veritabanı yedeğinden 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 takibi 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 yaşanabilir:

  • 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'nin etkin olduğu 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 işlemi veritabanını oluştururken yapmanız gerekir. CMEK olmayan mevcut bir veritabanındaki verileri CMEK korumalı bir veritabanına taşımak için verilerinizi dışa aktarın ve ardından CMEK korumalı yeni bir 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) entegrasyonu ile CMEK koruması desteklenmez. CMEK koruması istiyorsanız Cloud Run functions Firestore Triggers (2nd gen) 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 denetimleri 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?