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 yerinize gerçekleştirir ve 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 (Cloud KMS) üzerinden 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 CMEK hakkında genel bilgi için aşağıdaki Cloud KMS belgelerine bakın:
- Müşteri tarafından yönetilen şifreleme anahtarları (CMEK)
- CMEK'leri kullanmayla ilgili önerilen uygulamalar
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'sini 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 ü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 veya ş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 her 5 dakikada bir Cloud KMS'yi sorgulayarak anahtarın hâlâ kullanılabilir olup olmadığını kontrol eder 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 okuma, yazma ve sorgu gibi tüm çağrılar aşağıdaki mesajla birlikte 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ı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:
- Dizin oluşturma işlemleri ve yeni TTL politikalarını etkinleştiren işlemler durdurulur. Anahtar yeniden etkinleştirilirse durdurulan işlemler yeniden denenir.
Cloud Firestore hizmetinin anahtara erişmesine kasıtlı olarak izin verilmeyen tüm durumlarda anahtarlar kullanılamaz olarak kabul edilir. Bunlardan bazıları:
- Kullanımdaki anahtar sürümünü devre dışı bırakma veya imha etme. Bir anahtar sürümünü imha ederken dikkatli olun. Bu işlem, kurtarılamayan veri kaybına neden olabilir.
- Cloud Firestore hizmet hesabından anahtara erişim 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 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) uygulanması 3 saati bulabilir. Cloud Firestore, Cloud KMS'de geçerlilik kazanana 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.
- İmha edilen bir anahtar sürümünü geri yükleme Kalıcı olarak kaldırılmadan önce bir anahtar sürümünün kaldırılması planlanır. Anahtarları yalnızca imha edilmek üzere planlandıkları dönemde geri yükleyebilirsiniz. Kalıcı olarak imha edilmiş bir anahtarı geri yükleyemezsiniz.
- Anahtara erişmek için Cloud Firestore hizmet aracısı 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 önceki 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 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, 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 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 INVALID_ARGUMENT hatasıyla başarısız olur.
Harici anahtarları kullanırken dikkat edilmesi gereken diğer noktalar 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ükleyin.
- 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 görülebilir:
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
INVALID_ARGUMENT400 hatasıyla başarısız olur.
Sınırlamalar
CMEK korumalı bir veritabanının anahtarını değiştiremezsiniz. Anahtarları döndürebilir, etkinleştirebilir ve devre dışı bırakabilirsiniz.
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.