Klucze szyfrowania zarządzane przez klienta (CMEK)

Domyślnie wszystkie dane w spoczynku w Cloud Firestore są szyfrowane przy użyciu domyślnego szyfrowania Google. Cloud Firestore obsługuje i zarządza tym szyfrowaniem bez konieczności podejmowania przez Ciebie dodatkowych działań z Twojej strony.

Jeśli masz określone wymagania dotyczące zgodności lub regulacji związane z kluczami chroniącymi Twoje dane, możesz używać kluczy szyfrowania zarządzanych przez klienta (CMEK) dla Cloud Firestore. Zamiast Google zarządzającego kluczami szyfrowania, które chronią Twoje dane, Twoja baza danych Cloud Firestore jest chroniona za pomocą klucza, który kontrolujesz i którym zarządzasz w Cloud Key Management Service (Cloud KMS).

Na tej stronie opisujemy klucze CMEK w Cloud Firestore. Więcej informacji o kluczach CMEK, w tym o tym, kiedy i dlaczego je włączyć, znajdziesz w tej dokumentacji Cloud KMS:

Instrukcje wykonywania zadań związanych z kluczami CMEK w Cloud Firestore, znajdziesz w artykule Używanie kluczy CMEK.

Funkcje

  • Kontrola danych: klucze CMEK umożliwiają zarządzanie kluczem KMS. Możesz obracać, wyłączać, i niszczyć klucz używany do szyfrowania danych w spoczynku w swojej Cloud Firestore bazie danych.
  • Wydajność: klucze CMEK nie mają wpływu na Cloud Firestore SLA.
  • Możliwość audytu: Jeśli włączysz logowanie audytu w Cloud KMS, wszystkie operacje na kluczu będą rejestrowane i widoczne w Cloud Logging.
  • Ograniczenia zasad organizacji: możesz używać ograniczeń zasad organizacji dotyczących kluczy CMEK, aby określić wymagania dotyczące zgodności szyfrowania w przypadku Cloud Firestore baz danych w Twojej organizacji.

Ceny

Cloud KMS nalicza opłaty za koszt klucza i wszelkie operacje kryptograficzne wykonywane przy użyciu tego klucza. Więcej informacji znajdziesz w cenniku Cloud KMS.

Opłaty za operacje są naliczane, gdy Cloud Firestore prosi klucz Cloud KMS o wykonanie operacji szyfrowania lub odszyfrowywania. Operacja szyfrowania lub odszyfrowywania za pomocą klucza zarządzanego przez klienta jest wykonywana co 5 minut i nie jest zsynchronizowana z żądaniami bazy danych. Koszty są na ogół niskie ze względu na oczekiwaną liczbę operacji kryptograficznych generowanych przez Cloud Firestore. Koszty logów kontrolnych Cloud są dodatkowym wydatkiem, ale też powinny być na ogół niskie ze względu na oczekiwaną liczbę operacji kryptograficznych.

Korzystanie z bazy danych chronionej za pomocą klucza CMEK nie wiąże się z dodatkowymi Cloud Firestore kosztami, a cennik Cloud Firestore nadal obowiązuje.

Jeśli cofniesz klucz do bazy danych, koszt przechowywania będzie naliczany na podstawie rozmiaru z ostatniego dnia, w którym klucz był dostępny. Do momentu usunięcia bazy danych lub ponownego udostępnienia klucza nadal będziesz ponosić koszty przechowywania w tym rozmiarze bazy danych.

Co jest chronione za pomocą klucza CMEK

Gdy tworzysz bazę danych chronioną za pomocą klucza CMEK Cloud Firestore, klucz Cloud KMS służy do ochrony danych w spoczynku. Obejmuje to dane przechowywane na dysku lub dysku flash, w tym indeksy i kopie zapasowe. Obowiązują pewne wyjątki. Te typy danych są szyfrowane przy użyciu domyślnego szyfrowania Google, a nie klucza CMEK:

  • Dane w ruchu lub w pamięci
  • Metadane bazy danych

Jak obsługiwany jest stan niedostępnego klucza

Operacje szyfrowania i odszyfrowywania nie są wykonywane przy każdym żądaniu danych. Zamiast tego system Cloud Firestore co 5 minut wysyła zapytanie do Cloud KMS, aby sprawdzić, czy klucz jest nadal dostępny, a następnie wykonuje operacje szyfrowania i odszyfrowywania, jeśli klucz jest dostępny.

Jeśli system wykryje, że klucz jest niedostępny, w ciągu 10 minut wszystkie kolejne wywołania bazy danych Cloud Firestore, w tym odczyty, zapisy i zapytania, zwrócą błąd INVALID_ARGUMENT z tym komunikatem:

The customer-managed encryption key required by the requested
resource is not accessible.

Jeśli baza danych ma zasady dotyczące czasu życia danych (TTL) i jeśli w czasie, gdy klucz jest niedostępny, przekroczone zostaną jakiekolwiek czasy wygaśnięcia, usunięcie danych przez TTL zostanie opóźnione do momentu przywrócenia klucza. Jeśli w bazie danych są w toku długotrwałe operacje, będą one miały następujący wpływ:

Klucze są uznawane za niedostępne w każdej sytuacji, która celowo uniemożliwia Cloud Firestore dostęp do klucza. Obejmuje to:

Jeśli klucz zostanie przywrócony, operacja sondowania wykryje, że klucz jest ponownie dostępny. Dostęp zostanie ponownie włączony, zwykle w ciągu kilku minut, ale w rzadkich przypadkach może to potrwać kilka godzin. Pamiętaj, że propagacja niektórych operacji na kluczach Cloud KMS, takich jak wyłączenie lub zniszczenie klucza, może potrwać do 3 godzin Cloud Firestore nie wykrywa żadnych zmian, dopóki nie zostaną one wprowadzone w Cloud KMS.

Przywrócenie klucza obejmuje w zależności od sytuacji:

  • Ponowne włączenie wyłączonej wersji klucza.
  • Przywracanie zniszczonej wersji klucza. Zanim wersja klucza zostanie trwale zniszczona, jest zaplanowana do zniszczenia. Klucz możesz przywrócić tylko w okresie, gdy wersja klucza jest zaplanowana do zniszczenia. Nie możesz przywrócić klucza, który został już trwale zniszczony.
  • Ponowne przyznanie agentowi usługi Cloud Firestore uprawnienia do dostępu do klucza.

Kwestie związane z rotacją kluczy

Gdy obrócisz klucz CMEK, Cloud Firestore ponownie zaszyfruje bazę danych za pomocą najnowszej podstawowej wersji klucza CMEK. Podczas procesu ponownego szyfrowania zachowaj dostępność zarówno wcześniejszej, jak i nowej wersji klucza. Po zakończeniu ponownego szyfrowania wyłączenie lub usunięcie wcześniejszych wersji klucza CMEK nie spowoduje wyłączenia dostępu do bazy danych, ponieważ jest ona zaszyfrowana za pomocą nowej podstawowej wersji klucza.

Możesz też wyświetlić wersje klucza używane do ochrony bazy danych. Więcej informacji znajdziesz w artykule Wyświetlanie używanego klucza.

Kwestie związane z kluczami zewnętrznymi

Gdy używasz klucza Cloud EKM, Google nie ma kontroli nad dostępnością klucza zarządzanego zewnętrznie w systemie zewnętrznego partnera zarządzającego kluczami.

Jeśli klucz zarządzany zewnętrznie jest niedostępny, Cloud Firestore nadal obsługuje pełne operacje na bazie danych przy użyciu wersji klucza w pamięci podręcznej przez maksymalnie godzinę.

Jeśli po godzinie Cloud Firestore nadal nie będzie mógł połączyć się z Cloud KMS, Cloud Firestore zacznie wyłączać bazę danych jako środek ochronny. Wywołania bazy danych zakończą się niepowodzeniem z błędem INVALID_ARGUMENT, który zawiera dodatkowe szczegóły.

Więcej kwestii związanych z używaniem kluczy zewnętrznych znajdziesz w dokumentacji zewnętrznego menedżera kluczy Cloud.

Tworzenie i przywracanie kopii zapasowej

Kopia zapasowa używa tego samego mechanizmu szyfrowania co baza danych, z której została utworzona. Gdy baza danych chroniona za pomocą klucza CMEK tworzy kopię zapasową, szyfruje ją za pomocą podstawowej wersji klucza używanej w momencie tworzenia kopii zapasowej.Cloud Firestore

Cloud Firestore tworzy pierwszą kopię zapasową bazy danych CMEK po upływie 24 godzin od momentu włączenia harmonogramów tworzenia kopii zapasowych.

Więcej informacji o kopiach zapasowych Cloud Firestore znajdziesz w artykule Tworzenie i przywracanie kopii zapasowych danych.

Domyślnie baza danych przywrócona z kopii zapasowej używa tego samego mechanizmu szyfrowania co kopia zapasowa. Podczas przywracania bazy danych możesz określić inny typ szyfrowania na jeden z tych sposobów:

  • Przywróć do bazy danych CMEK z nowo określonym kluczem.
  • Przywróć do bazy danych innej niż CMEK, która używa domyślnego szyfrowania Google.
  • Przywróć do bazy danych, która używa tego samego szyfrowania co kopia zapasowa.

Więcej informacji o przywracaniu bazy danych Cloud Firestore z kopii zapasowej znajdziesz w artykule Przywracanie danych z kopii zapasowej bazy danych. Więcej informacji o przywracaniu bazy danychCloud Firestore Cloud Firestore chronionej za pomocą klucza CMEK z kopii zapasowej znajdziesz w artykule Przywracanie bazy danych chronionej za pomocą klucza CMEK.

Klonuj

Domyślnie baza danych sklonowana z innej bazy danych używa tego samego mechanizmu szyfrowania co źródłowa baza danych. Podczas klonowania bazy danych możesz określić inny typ szyfrowania na jeden z tych sposobów:

  • Sklonuj do bazy danych CMEK z nowo określonym kluczem.
  • Sklonuj do bazy danych innej niż CMEK, która używa domyślnego szyfrowania Google.
  • (Domyślnie) Sklonuj do bazy danych, która używa tego samego szyfrowania co źródłowa baza danych.

Więcej informacji o kl0nowaniu bazy danych Cloud Firestore znajdziesz w artykule Klonowanie bazy danych. Więcej informacji o klonowaniu bazy danych chronionej za pomocą klucza CMEK znajdziesz w artykule Klonowanie bazy danych chronionej za pomocą klucza CMEK.Cloud Firestore

Śledzenie kluczy

Za pomocą śledzenia kluczy możesz wyświetlać zasoby, np. Cloud Firestore bazy danych, które są chronione przez klucz. Więcej informacji o śledzeniu kluczy znajdziesz w artykule Wyświetlanie użycia klucza.

Klucze CMEK i ich dostępność

Gdy klucze są niedostępne lub wyłączone, pamiętaj o tych zachowaniach, które mogą wystąpić w bazach danych z włączonymi kluczami CMEK:

  • Możesz usunąć bazę danych CMEK, która ma niedostępne klucze.

  • Gdy tworzysz bazę danych z włączonymi kluczami CMEK, wyłączone klucze nie są widoczne na liście dostępnych kluczy w konsoli Google Cloud. Jeśli ręcznie wprowadzisz wyłączony klucz, proces tworzenia bazy danych zakończy się niepowodzeniem z błędem INVALID_ARGUMENT 400.

Ograniczenia

  • Nie możesz zmienić klucza bazy danych chronionej za pomocą klucza CMEK. Możesz obracać, włączać i wyłączać klucze.

  • Nie możesz włączyć kluczy CMEK w istniejących bazach danych. Klucze CMEK możesz włączyć tylko w nowych bazach danych i musisz to zrobić podczas tworzenia bazy danych. Aby przenieść dane z istniejącej bazy danych innej niż CMEK do bazy danych chronionej za pomocą klucza CMEK, wyeksportuj dane, a następnie zaimportuj je do nowej bazy danych chronionej za pomocą klucza CMEK. Możesz też przywrócić lub sklonować dane z bazy danych innej niż CMEK do bazy danych CMEK.

  • Cloud Firestore obsługuje ograniczoną liczbę baz danych chronionych za pomocą klucza CMEK.

Co dalej?