Szyfrowanie Transparent Data Encryption w usługach SQL Database, SQL Managed Instance oraz Azure Synapse Analytics
Dotyczy:Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Funkcja Transparent Data Encryption (TDE) pomaga chronić usługi Azure SQL Database, Azure SQL Managed Instance i Azure Synapse Analytics przed zagrożeniem złośliwym działaniem offline przez szyfrowanie danych magazynowanych. Ta technologia w czasie rzeczywistym szyfruje i odszyfrowuje magazynowaną bazę danych, skojarzone kopie zapasowe i pliki dzienników transakcji bez konieczności dokonywania jakichkolwiek zmian w aplikacji. Domyślnie funkcja TDE jest włączona dla wszystkich nowo wdrożonych baz danych Azure SQL Database i musi być ręcznie włączona dla starszych baz danych usługi Azure SQL Database. W usłudze Azure SQL Managed Instance, funkcja TDE jest włączona na poziomie wystąpienia oraz dla nowo tworzonych baz danych. Funkcja TDE musi być ręcznie włączona dla usługi Azure Synapse Analytics.
Uwaga
Ten artykuł dotyczy Azure SQL Database, Azure SQL Managed Instance i Azure Synapse Analytics (dedykowane pule SQL, wcześniej SQL DW). Aby uzyskać dokumentację dotyczącą funkcji Transparent Data Encryption dla dedykowanych pul SQL w obszarach roboczych usługi Synapse, zobacz Szyfrowanie usługi Azure Synapse Analytics.
Niektóre elementy uważane za zawartość klienta, takie jak nazwy tabel, nazwy obiektów i nazwy indeksów, mogą być przesyłane w plikach dziennika na potrzeby pomocy technicznej i rozwiązywania problemów przez firmę Microsoft.
Funkcja TDE wykonuje szyfrowanie we/wy w czasie rzeczywistym i odszyfrowywanie danych na poziomie strony. Każda strona jest odszyfrowywana podczas wczytywania do pamięci, a następnie szyfrowana przed zapisaniem na dysku. Funkcja TDE szyfruje magazyn całej bazy danych przy użyciu klucza symetrycznego o nazwie Klucz szyfrowania bazy danych (DEK). Podczas uruchamiania bazy danych zaszyfrowany klucz szyfrowania danych jest odszyfrowywany, a następnie używany do odszyfrowywania i ponownego szyfrowania plików bazy danych w procesie silnika bazy danych programu SQL Server. DEK jest chroniony przez ochronę TDE. Ochrona TDE to certyfikat zarządzana przez usługę (Transparent Data Encryption zarządzana przez usługę) lub klucz asymetryczny przechowywany w usłudze Azure Key Vault (Transparent Data Encryption zarządzana przez klienta).
W przypadku usług Azure SQL Database i Azure Synapse funkcja ochrony TDE jest ustawiana na poziomie serwera i dziedziczona przez wszystkie bazy danych skojarzone z tym serwerem. W przypadku usługi Azure SQL Managed Instance, ochrona TDE jest ustawiana na poziomie instancji i dziedziczona przez wszystkie zaszyfrowane bazy danych na tej instancji. Termin serwer odnosi się zarówno do serwera, jak i wystąpienia w tym dokumencie, chyba że określono inaczej.
Ważne
Wszystkie nowo utworzone bazy danych SQL są domyślnie szyfrowane przy użyciu transparentnego szyfrowania danych zarządzanego przez usługę. Gdy źródło bazy danych jest szyfrowane, docelowe bazy danych utworzone za pomocą przywracania, replikacji geograficznej i kopiowania bazy danych są domyślnie szyfrowane. Jednak jeśli źródło bazy danych nie jest zaszyfrowane, docelowe bazy danych utworzone za pomocą przywracania, replikacji geograficznej i kopiowania bazy danych nie są domyślnie szyfrowane. Istniejące bazy danych SQL utworzone przed majem 2017 r. i istniejące bazy danych usługi SQL Managed Instance utworzone przed lutym 2019 r. nie są domyślnie szyfrowane. Bazy danych usługi SQL Managed Instance utworzone za pomocą przywracania dziedziczą stan szyfrowania ze źródła. Aby przywrócić istniejącą bazę danych zaszyfrowaną za pomocą funkcji TDE, należy najpierw zaimportować wymagany certyfikat TDE do usługi SQL Managed Instance. Aby sprawdzić stan szyfrowania bazy danych, wykonaj zapytanie select z sys.dm_database_encryption_keys widoku DMV i sprawdź stan encryption_state_desc
kolumny.
Uwaga
Funkcja TDE nie może służyć do szyfrowania systemowych baz danych, takich jak master
baza danych, w usługach SQL Database i SQL Managed Instance. Baza master
danych zawiera obiekty potrzebne do wykonywania operacji TDE na bazach danych użytkowników. Zaleca się, aby nie przechowywać żadnych poufnych danych w systemowych bazach danych. Wyjątek to tempdb
, który jest zawsze szyfrowany za pomocą funkcji TDE w celu ochrony przechowywanych tam danych.
Szyfrowanie Transparent Data Encryption zarządzane przez usługę
W domyślnej konfiguracji szyfrowania TDE na platformie Azure klucz szyfrowania jest chroniony przez wbudowany certyfikat serwera. Wbudowany certyfikat serwera jest unikatowy dla każdego serwera, a używany algorytm szyfrowania to AES 256. Jeśli baza danych jest w relacji replikacji geograficznej, zarówno podstawowa, jak i pomocnicza baza danych z replikacją geograficzną są chronione przez klucz serwera nadrzędnego podstawowej bazy danych. Jeśli dwie bazy danych są połączone z tym samym serwerem, używają tego samego wbudowanego certyfikatu. Microsoft automatycznie obraca te certyfikaty raz w roku, zgodnie z wewnętrzną polityką bezpieczeństwa, a klucz główny jest chroniony przez wewnętrzne magazyn tajnych danych firmy Microsoft. Klienci mogą weryfikować zgodność usług SQL Database i SQL Managed Instance z wewnętrznymi zasadami zabezpieczeń w niezależnych raportach inspekcji innych firm dostępnych w Centrum zaufania firmy Microsoft.
Ponadto firma Microsoft w sposób płynny przenosi klucze i zarządza nimi na potrzeby replikacji geograficznej i przywracania.
Przezroczyste szyfrowanie danych zarządzane przez klienta — Bring Your Own Key
Funkcja TDE zarządzana przez klienta jest również nazywana obsługą BYOK (Bring Your Own Key) dla TDE. W tym scenariuszu, TDE Protector, który szyfruje DEK, jest asymetrycznym kluczem zarządzanym przez klienta, przechowywanym w Azure Key Vault, czyli magazynie kluczy należącym do klienta i zarządzanym przez niego (system zarządzania kluczami zewnętrznymi działający na chmurze platformy Azure) i nigdy nie opuszcza tego magazynu. Protektor TDE można wygenerować w magazynie kluczy lub przenieść do magazynu kluczy z lokalnego urządzenia sprzętowego modułu zabezpieczeń (HSM). Usługi SQL Database, SQL Managed Instance i Azure Synapse muszą mieć przyznane uprawnienia do magazynu kluczy należących do klienta w celu odszyfrowywania i szyfrowania DEK. Jeśli uprawnienia serwera do magazynu kluczy zostaną odwołane, baza danych będzie niedostępna i wszystkie dane są szyfrowane.
Dzięki integracji funkcji TDE z usługą Azure Key Vault użytkownicy mogą kontrolować zadania zarządzania kluczami, w tym rotacje kluczy, uprawnienia magazynu kluczy, kopie zapasowe kluczy i włączać inspekcję/raportowanie dla wszystkich funkcji ochrony TDE przy użyciu funkcji usługi Azure Key Vault. Usługa Key Vault zapewnia centralne zarządzanie kluczami, wykorzystuje ściśle monitorowane moduły HSM i umożliwia rozdzielenie obowiązków między zarządzaniem kluczami i danymi w celu zapewnienia zgodności z zasadami zabezpieczeń. Aby dowiedzieć się więcej o usłudze BYOK dla Azure SQL Database i Azure Synapse, zapoznaj się z Integracją Transparentnego Szyfrowania Danych z usługą Azure Key Vault.
Aby rozpocząć korzystanie z funkcji TDE z integracją z usługą Azure Key Vault, zobacz przewodnik Jak włączyć przezroczyste szyfrowanie danych przy użyciu własnego klucza z usługi Key Vault.
Przenoszenie przezroczystej bazy danych chronionej szyfrowaniem danych
Nie musisz odszyfrowywać baz danych na potrzeby operacji na platformie Azure. Ustawienia funkcji TDE w głównej bazie danych są automatycznie dziedziczone na obiekcie docelowym. Operacje, które są uwzględnione, obejmują:
- Przywracanie geograficzne
- Samoobsługowe przywracanie danych do wybranego momentu w czasie
- Przywracanie usuniętej bazy danych
- Aktywna replikacja geograficzna
- Tworzenie kopii bazy danych
- Przywracanie pliku kopii zapasowej do usługi Azure SQL Managed Instance
Ważne
Ręczne tworzenie kopii zapasowej bazy danych zaszyfrowanej przez funkcję TDE zarządzanej przez usługę nie jest obsługiwane w usłudze Azure SQL Managed Instance, ponieważ certyfikat używany do szyfrowania jest niedostępny. Użyj funkcji przywracania do punktu w czasie, aby przenieść tę bazę danych do innego wystąpienia zarządzanego SQL lub przełączyć się na klucz zarządzany przez klienta.
Podczas eksportowania bazy danych chronionej za pomocą funkcji TDE wyeksportowana zawartość bazy danych nie jest szyfrowana. Wyeksportowana zawartość jest przechowywana w niezaszyfrowanych plikach BACPAC. Pamiętaj, aby odpowiednio chronić pliki BACPAC i włączyć funkcję TDE po zakończeniu importowania nowej bazy danych.
Jeśli na przykład plik BACPAC jest eksportowany z wystąpienia programu SQL Server, zaimportowana zawartość nowej bazy danych nie jest automatycznie szyfrowana. Podobnie, jeśli plik BACPAC jest importowany do wystąpienia programu SQL Server, nowa baza danych również nie jest automatycznie szyfrowana.
Jednym wyjątkiem jest eksportowanie bazy danych do i z usługi SQL Database. Funkcja TDE jest włączona w nowej bazie danych, ale sam plik BACPAC nadal nie jest szyfrowany.
Zarządzanie przezroczystym szyfrowaniem danych
- Portal Azure
- PowerShell
- Język Transact-SQL
- Interfejs API REST
Zarządzaj szyfrowaniem TDE w portalu Azure.
Aby skonfigurować funkcję TDE za pośrednictwem witryny Azure Portal, musisz mieć połączenie jako właściciel, współautor platformy Azure lub menedżer zabezpieczeń SQL.
Włączanie i wyłączanie funkcji TDE na poziomie bazy danych. W przypadku usługi Azure SQL Managed Instance użyj języka Transact-SQL (T-SQL), aby włączyć i wyłączyć funkcję TDE w bazie danych. W przypadku usług Azure SQL Database i Azure Synapse możesz zarządzać funkcją TDE dla bazy danych w witrynie Azure Portal po zalogowaniu się przy użyciu konta administratora platformy Azure lub współautora. Znajdź ustawienia TDE w bazie danych użytkownika. Domyślnie używany jest klucz szyfrowania na poziomie serwera. Certyfikat TDE jest generowany automatycznie dla serwera zawierającego bazę danych.
Ustaw klucz główny TDE, znany jako protektor TDE, na poziomie serwera lub wystąpienia. Aby używać funkcji TDE z obsługą funkcji BYOK i chronić bazy danych przy użyciu klucza z usługi Azure Key Vault, otwórz ustawienia TDE w obszarze serwera lub wystąpienia zarządzanego.
Możesz również użyć klucza zarządzanego przez klienta dla funkcji TDE na poziomie bazy danych dla usługi Azure SQL Database. Aby uzyskać więcej informacji, zobacz Transparent Data Encryption (TDE) z kluczami zarządzanymi przez klienta na poziomie bazy danych.
Powiązana zawartość
- Rozszerzone zarządzanie kluczami przy użyciu usługi Azure Key Vault (SQL Server)
- Niewidoczne szyfrowanie danych
- Przezroczyste szyfrowanie danych z obsługą funkcji Bring Your Own Key
- Włączanie przezroczystego szyfrowania danych przy użyciu własnego klucza z usługi Key Vault
- Bezpieczny dostęp do magazynu kluczy