Udostępnij za pomocą


Szyfrowanie danych w usłudze Azure Cosmos DB

DOTYCZY: NoSQL MongoDB Kasandra Gremlin Stół

Szyfrowanie danych w spoczynku to termin, który często odnosi się do szyfrowania danych na urządzeniach pamięci masowej, takich jak dyski półprzewodnikowe (SSD) i dyski twarde (HDD). Usługa Azure Cosmos DB przechowuje podstawowe bazy danych na dyskach SSD. Jego załączniki i kopie zapasowe multimediów są przechowywane w usłudze Azure Blob Storage, której kopie zapasowe są zwykle tworzone przez dyski HDD. Wraz z wydaniem szyfrowania magazynowanego dla usługi Azure Cosmos DB wszystkie bazy danych, załączniki multimediów i kopie zapasowe są szyfrowane. Dane są teraz szyfrowane w trakcie przesyłania (za pośrednictwem sieci) i magazynowane (magazyn niezawolony), co zapewnia kompleksowe szyfrowanie.

Jako platforma jako usługa (PaaS) usługa Azure Cosmos DB jest łatwa w użyciu. Ponieważ wszystkie dane użytkownika przechowywane w usłudze Azure Cosmos DB są szyfrowane w spoczynku i w transporcie, nie trzeba podejmować żadnych działań. Innymi słowy szyfrowanie magazynowane jest domyślnie włączone. Nie ma żadnych kontrolek, które można wyłączyć lub włączyć. Usługa Azure Cosmos DB używa szyfrowania AES-256 we wszystkich regionach, w których konto jest uruchomione.

Udostępniamy tę funkcję, gdy nadal spełniamy nasze umowy dotyczące poziomu usług i dostępności i wydajności (SLA). Dane przechowywane na koncie usługi Azure Cosmos DB są automatycznie i bezproblemowo szyfrowane przy użyciu kluczy zarządzanych przez firmę Microsoft (klucze zarządzane przez usługę). Opcjonalnie możesz dodać drugą warstwę szyfrowania z własnymi kluczami zgodnie z opisem w artykule Dotyczącym kluczy zarządzanych przez klienta.

Implementacja szyfrowania danych w stanie spoczynku

W usłudze Azure Cosmos DB szyfrowanie danych w stanie spoczynku jest wdrażane przy użyciu kilku technologii zabezpieczeń, w tym bezpiecznych systemów przechowywania kluczy, zaszyfrowanych sieci i kryptograficznych interfejsów API. Systemy odszyfrowywania i przetwarzania danych muszą komunikować się z systemami, które zarządzają kluczami. Na diagramie przedstawiono sposób oddzielania magazynu zaszyfrowanych danych i zarządzania kluczami.

Diagram przedstawiający projekt magazynu danych i zarządzania kluczami.

Podstawowy przepływ żądania użytkownika to:

  • Konto bazy danych użytkownika jest gotowe, a klucze magazynu są pobierane za pośrednictwem żądania do dostawcy zasobów usługi zarządzania.
  • Użytkownik tworzy połączenie z usługą Azure Cosmos DB za pośrednictwem protokołu HTTPS/bezpiecznego transportu. Zestawy SDK tworzą abstrakcję szczegółów.
  • Użytkownik wysyła dokument JSON do przechowywania za pośrednictwem wcześniej utworzonego bezpiecznego połączenia.
  • Dokument JSON jest indeksowany, chyba że użytkownik wyłączy indeksowanie.
  • Zarówno dokument JSON, jak i dane indeksu są zapisywane w bezpiecznym magazynie.
  • Okresowo dane są odczytywane z bezpiecznego magazynu i kopii zapasowej w magazynie obiektów blob usługi Azure Encrypted.

Często zadawane pytania

Znajdź odpowiedzi na często zadawane pytania dotyczące szyfrowania.

Ile więcej kosztuje usługa Azure Storage w przypadku włączenia szyfrowania usługi Storage?

Nie ma dodatkowych kosztów.

Kto zarządza kluczami szyfrowania?

Dane przechowywane na koncie usługi Azure Cosmos DB są automatycznie i bezproblemowo szyfrowane przy użyciu kluczy zarządzanych przez firmę Microsoft przy użyciu kluczy zarządzanych przez usługę. Opcjonalnie możesz dodać drugą warstwę szyfrowania z kluczami zarządzanymi przy użyciu kluczy zarządzanych przez klienta.

Jak często są obracane klucze szyfrowania?

Firma Microsoft ma zestaw wewnętrznych wytycznych dotyczących rotacji kluczy szyfrowania, które jest zgodne z usługą Azure Cosmos DB. Konkretne wytyczne nie są publikowane. Firma Microsoft publikuje cykl projektowania zabezpieczeń, który jest postrzegany jako podzbiór wskazówek wewnętrznych i ma przydatne najlepsze rozwiązania dla deweloperów.

Czy mogę używać własnych kluczy szyfrowania?

Tak, ta funkcja jest dostępna dla nowych kont usługi Azure Cosmos DB. Należy go wdrożyć podczas tworzenia konta. Aby uzyskać więcej informacji, zobacz Konfigurowanie kluczy zarządzanych przez klienta dla konta usługi Azure Cosmos DB przy użyciu usługi Azure Key Vault.

Ostrzeżenie

Następujące nazwy pól są zarezerwowane w tabelach interfejsu API Cassandra na kontach przy użyciu kluczy zarządzanych przez klienta:

  • id
  • ttl
  • _ts
  • _etag
  • _rid
  • _self
  • _attachments
  • _epk

Jeśli klucze zarządzane przez klienta nie są włączone, zastrzeżone są tylko nazwy pól rozpoczynające się od __sys_ .

Jakie regiony mają włączone szyfrowanie?

Wszystkie regiony usługi Azure Cosmos DB mają włączone szyfrowanie dla wszystkich danych użytkownika.

Czy szyfrowanie ma wpływ na opóźnienie wydajności i umowy SLA dotyczące przepływności?

Nie ma żadnego efektu ani zmian w umowach SLA dotyczących wydajności, ponieważ szyfrowanie magazynowane jest teraz włączone dla wszystkich istniejących i nowych kont. Aby zapoznać się z najnowszymi gwarancjami, zobacz Umowa SLA dla usługi Azure Cosmos DB.

Czy emulator lokalny obsługuje szyfrowanie magazynowane?

Emulator jest autonomicznym narzędziem do tworzenia i testowania i nie korzysta z usług zarządzania kluczami używanych przez zarządzaną usługę Azure Cosmos DB. Zalecamy włączenie funkcji BitLocker na dyskach, na których są przechowywane poufne dane testowe emulatora. Emulator obsługuje zmianę domyślnego katalogu danych i używanie dobrze znanej lokalizacji.

Następny krok