Szyfrowanie danych za pomocą kluczy zarządzanych przez klienta
DOTYCZY: Usługa Azure Cosmos DB for PostgreSQL (obsługiwana przez rozszerzenie bazy danych Citus do bazy danych PostgreSQL)
Dane przechowywane w klastrze usługi Azure Cosmos DB for PostgreSQL są automatycznie i bezproblemowo szyfrowane przy użyciu kluczy zarządzanych przez firmę Microsoft. Te klucze są nazywane kluczami zarządzanymi przez usługę. Usługa Azure Cosmos DB for PostgreSQL domyślnie szyfruje dane magazynowane przy użyciu kluczy zarządzanych przez usługę. Opcjonalnie możesz dodać dodatkową warstwę zabezpieczeń, włączając szyfrowanie przy użyciu kluczy zarządzanych przez klienta.
Klucze zarządzane przez usługę
Usługa Azure Cosmos DB for PostgreSQL używa zweryfikowanego modułu kryptograficznego FIPS 140-2 do szyfrowania danych magazynowanych. Wszystkie dane, w tym kopie zapasowe i pliki tymczasowe utworzone podczas uruchamiania zapytań, są szyfrowane na dysku. Usługa używa 256-bitowego szyfru AES zawartego w szyfrowaniu usługi Azure Storage, a klucze są zarządzane przez system. Szyfrowanie magazynu jest zawsze włączone i nie można go wyłączyć.
Klucze zarządzane przez klienta
Wiele organizacji wymaga pełnej kontroli dostępu do danych przy użyciu klucza zarządzanego przez klienta (CMK). Szyfrowanie danych przy użyciu kluczy zarządzanych przez klienta w usłudze Azure Cosmos DB for PostgreSQL umożliwia korzystanie z własnego klucza w celu ochrony danych magazynowanych. Umożliwia to również organizacjom rozdzielanie obowiązków związanych z zarządzaniem kluczami i danymi. W przypadku szyfrowania zarządzanego przez klienta odpowiadasz za cykl życia klucza, uprawnienia użycia i inspekcję operacji.
Szyfrowanie danych przy użyciu kluczy zarządzanych przez klienta dla usługi Azure Cosmos DB for PostgreSQL jest ustawione na poziomie serwera. Dane, w tym kopie zapasowe, są szyfrowane na dysku. To szyfrowanie obejmuje pliki tymczasowe utworzone podczas uruchamiania zapytań. W przypadku danego klastra klucz zarządzany przez klienta nazywany kluczem szyfrowania klucza (KEK) jest używany do szyfrowania klucza szyfrowania danych usługi (DEK). Klucz KEK jest kluczem asymetrycznym przechowywanym w wystąpieniu usługi Azure Key Vault należącym do klienta i zarządzanym przez klienta.
opis | |
---|---|
Klucz szyfrowania danych (DEK) | Klucz szyfrowania danych jest symetrycznym kluczem AES256 używanym do szyfrowania partycji lub bloku danych. Szyfrowanie każdego bloku danych przy użyciu innego klucza sprawia, że ataki analizy kryptograficznej są trudniejsze. Dostawca zasobów lub wystąpienie aplikacji, które szyfruje i odszyfrowuje określony blok, wymaga dostępu do usługi DEKs. Po zastąpieniu klucza szyfrowania danych nowym kluczem tylko dane w skojarzonym bloku muszą zostać ponownie zaszyfrowane przy użyciu nowego klucza. |
Klucz szyfrowania klucza (KEK) | Klucz szyfrowania klucza to klucz szyfrowania używany do szyfrowania kluczy szyfrowania. Klucz KEK, który nigdy nie opuszcza magazynu kluczy, pozwala na szyfrowanie i kontrolowanie szyfrowania tokenów szyfrowania. Jednostka, która ma dostęp do klucza KEK, może być inna niż jednostka, która wymaga klucza szyfrowania danych. Ponieważ klucz KEK jest wymagany do odszyfrowywania zestawów SZYFROWANIA, klucz KEK jest skutecznie pojedynczym punktem i usunięcie klucza KEK skutecznie usuwa elementy DEKs. |
Uwaga
Usługa Azure Key Vault to oparty na chmurze system zarządzania kluczami. Jest ona wysoce dostępna i zapewnia skalowalny, bezpieczny magazyn dla kluczy kryptograficznych RSA, opcjonalnie wspierany przez zweryfikowane sprzętowe moduły zabezpieczeń (HSM) ze zweryfikowaną standardem FIPS 140. Magazyn kluczy nie zezwala na bezpośredni dostęp do przechowywanego klucza, ale zapewnia usługi szyfrowania i odszyfrowywania autoryzowanych jednostek. Magazyn kluczy może wygenerować klucz, zaimportować go lub przenieść go z lokalnego urządzenia HSM.
Zestawy SZYFROWANIA szyfrowane przy użyciu zestawów KEK są przechowywane oddzielnie. Tylko jednostka z dostępem do klucza KEK może odszyfrować te klucze SZYFROWANIA. Aby uzyskać więcej informacji, zobacz Zabezpieczenia w szyfrowaniu w spoczynku.
Jak działa szyfrowanie danych przy użyciu klucza zarządzanego przez klienta
Aby klaster korzystał z kluczy zarządzanych przez klienta przechowywanych w usłudze Key Vault na potrzeby szyfrowania klucza szyfrowania kluczy, administrator usługi Key Vault zapewnia następujące prawa dostępu do serwera:
opis | |
---|---|
get | Włącza pobieranie publicznej części i właściwości klucza w magazynie kluczy. |
wrapKey | Umożliwia szyfrowanie klucza szyfrowania klucza szyfrowania. Zaszyfrowany klucz szyfrowania danych jest przechowywany w usłudze Azure Cosmos DB for PostgreSQL. |
unwrapKey | Włącza odszyfrowywanie klucza szyfrowania danych. Usługa Azure Cosmos DB for PostgreSQL wymaga odszyfrowanego klucza szyfrowania danych do szyfrowania/odszyfrowania danych. |
Administrator magazynu kluczy może również włączyć rejestrowanie zdarzeń inspekcji usługi Key Vault, aby można je było przeprowadzić później. Gdy klaster usługi Azure Cosmos DB for PostgreSQL jest skonfigurowany do używania klucza zarządzanego przez klienta przechowywanego w magazynie kluczy, klaster wysyła klucz szyfrowania do magazynu kluczy. Usługa Key Vault zwraca zaszyfrowany klucz szyfrowania danych, który jest przechowywany w bazie danych użytkownika. Podobnie, w razie potrzeby serwer wysyła chroniony klucz szyfrowania danych do magazynu kluczy na potrzeby odszyfrowywania. Audytorzy mogą używać usługi Azure Monitor do przeglądania dzienników zdarzeń inspekcji usługi Key Vault, jeśli rejestrowanie jest włączone.
Świadczenia
Szyfrowanie danych przy użyciu kluczy zarządzanych przez klienta dla usługi Azure Cosmos DB for PostgreSQL zapewnia następujące korzyści:
- Możesz w pełni kontrolować dostęp do danych z możliwością usunięcia klucza i uniemożliwić dostęp do bazy danych.
- Pełna kontrola nad cyklem życia klucza, w tym rotacją klucza w celu dostosowania do określonych zasad firmy.
- Centralne zarządzanie i organizacja kluczy w usłudze Azure Key Vault.
- Możliwość wdrożenia rozdzielenia obowiązków między funkcjonariuszami zabezpieczeń, administratorami bazy danych i administratorami systemu.
- Włączenie szyfrowania nie ma żadnego dodatkowego wpływu na wydajność z kluczami zarządzanymi przez klienta lub bez tych kluczy. Usługa Azure Cosmos DB for PostgreSQL korzysta z usługi Azure Storage na potrzeby szyfrowania danych zarówno w scenariuszach kluczy zarządzanych przez klienta, jak i zarządzanych przez usługę.