Szyfrowanie Transparent Data Encryption w usługach SQL Database, SQL Managed Instance oraz Azure Synapse Analytics

Dotyczy: Azure SQL DatabaseAzure SQL Managed InstanceAzure 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 przypadku usługi Azure SQL Managed Instance funkcja TDE jest włączona na poziomie wystąpienia i nowo utworzonych baz danych. Funkcja TDE musi być ręcznie włączona dla usługi Azure Synapse Analytics.

Uwaga

Ten artykuł dotyczy usług Azure SQL Database, Azure SQL Managed Instance i Azure Synapse Analytics (dedykowanych pul SQL (dawniej 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 w celu uzyskania 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 odszyfrowywane, a następnie używany do odszyfrowywania i ponownego szyfrowania plików bazy danych w procesie aparatu bazy danych programu SQL Server. Funkcja deK jest chroniona przez funkcję ochrony TDE. Funkcja ochrony TDE to certyfikat zarządzany przez usługę (transparent data encryption zarządzany przez usługę) lub klucz asymetryczny przechowywany w usłudze Azure Key Vault (transparent data encryption zarządzany 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 funkcja ochrony TDE jest ustawiana na poziomie wystąpienia i dziedziczona przez wszystkie zaszyfrowane bazy danych w tym wystąpieniu. 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. Firma Microsoft automatycznie zmienia te certyfikaty zgodnie z wewnętrznymi zasadami zabezpieczeń, a klucz główny jest chroniony przez wewnętrzny magazyn wpisów tajnych 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 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ą funkcji ByOK (Bring Your Own Key) dla funkcji TDE. W tym scenariuszu funkcja ochrony TDE, która szyfruje klucz szyfrowania kluczy jest kluczem asymetrycznym zarządzanym przez klienta, który jest przechowywany w magazynie kluczy zarządzanych przez klienta i zarządzanym przez klienta usłudze Azure Key Vault (opartym na chmurze systemie zarządzania kluczami zewnętrznymi platformy Azure) i nigdy nie opuszcza magazynu kluczy. Funkcję ochrony TDE można wygenerować przez magazyn 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żącego do klienta w celu odszyfrowywania i szyfrowania klucza szyfrowania kluczy. 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 usług Azure SQL Database i Azure Synapse, zobacz Transparent Data Encryption with Azure Key Vault integration (Transparent Data Encryption with Azure Key Vault integration ( Integracja 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 źródłowej bazie danych lub podstawowej bazie danych są niewidocznie dziedziczone na obiekcie docelowym. Operacje, które są uwzględnione, obejmują:

  • Przywracanie geograficzne
  • Samoobsługowe przywracanie do punktu 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

Zarządzanie szyfrowaniem TDE w witrynie Azure Portal.

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 usługi Azure Administracja istrator 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.

Service-managed transparent data encryption

Należy ustawić klucz główny TDE, znany jako funkcja ochrony 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.

Transparent data encryption with Bring Your Own Key support

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.

Następne kroki

Dowiedz się więcej o powiązanych pojęciach w następujących artykułach: