Szyfrowanie danych w usłudze Azure Cosmos DB
DOTYCZY: NoSQL MongoDB Kasandra Gremlin Stół
"Szyfrowanie magazynowane" to fraza, która często odnosi się do szyfrowania danych na urządzeniach magazynujących niezawolonych, 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 magazynowanych dla usługi Azure Cosmos DB
Szyfrowanie magazynowane jest implementowane przy użyciu kilku technologii zabezpieczeń, w tym bezpiecznych systemów magazynu kluczy, zaszyfrowanych sieci i interfejsów API kryptograficznych. 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.
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 dokument Klucze zarządzane przez klienta.
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ępne kroki
- Aby dowiedzieć się więcej na temat dodawania drugiej warstwy szyfrowania przy użyciu własnych kluczy, zobacz artykuł Klucze zarządzane przez klienta.
- Aby uzyskać więcej informacji na temat certyfikatów firmy Microsoft, zobacz Centrum zaufania platformy Azure.