Udostępnij przez


Szyfrowanie danych w bazie danych SQL w usłudze Microsoft Fabric

Dotyczy:Baza danych SQL w usłudze Microsoft Fabric

Ważne

Ta funkcja jest dostępna w wersji zapoznawczej.

Usługa Microsoft Fabric szyfruje wszystkie dane magazynowane przy użyciu kluczy zarządzanych przez firmę Microsoft. Wszystkie dane bazy danych SQL są przechowywane na zdalnych kontach usługi Azure Storage. Aby spełnić wymagania dotyczące szyfrowania w spoczynku przy użyciu kluczy zarządzanych przez firmę Microsoft, każde konto usługi Azure Storage używane przez bazę danych SQL jest skonfigurowane z włączonym szyfrowaniem po stronie usługi .

Za pomocą kluczy zarządzanych przez klienta dla obszarów roboczych usługi Fabric możesz użyć kluczy usługi Azure Key Vault, aby dodać kolejną warstwę ochrony do danych w obszarach roboczych usługi Microsoft Fabric, w tym wszystkie dane w bazie danych SQL w usłudze Microsoft Fabric. Klucz zarządzany przez klienta zapewnia większą elastyczność, umożliwiając zarządzanie jego rotacją, kontrolowanie dostępu i inspekcji użycia. Klucze zarządzane przez klienta pomagają również organizacjom zaspokajać potrzeby w zakresie ładu danych oraz przestrzegać standardów ochrony i szyfrowania danych.

  • Gdy klucz zarządzany przez klienta jest skonfigurowany dla obszaru roboczego w usłudze Microsoft Fabric, funkcja Transparent Data Encryption jest automatycznie włączona dla wszystkich baz danych SQL (i tempdb) w tym obszarze roboczym przy użyciu określonego klucza zarządzanego przez klienta. Ten proces jest całkowicie bezproblemowy i nie wymaga ręcznej interwencji.
    • Proces szyfrowania rozpoczyna się automatycznie dla wszystkich istniejących baz danych SQL, ale nie jest natychmiastowe; czas trwania zależy od rozmiaru każdej bazy danych SQL, a większe bazy danych SQL wymagają więcej czasu na ukończenie szyfrowania.
    • Po skonfigurowaniu klucza zarządzanego przez klienta wszystkie bazy danych SQL utworzone w obszarze roboczym również będą szyfrowane przy użyciu klucza zarządzanego przez klienta.
  • Jeśli klucz zarządzany przez klienta zostanie usunięty, proces odszyfrowywania zostanie wyzwolony dla wszystkich baz danych SQL w obszarze roboczym. Podobnie jak szyfrowanie, odszyfrowywanie zależy również od rozmiaru bazy danych SQL i może zająć trochę czasu. Po odszyfrowaniu bazy danych SQL zostaną przywrócone do używania kluczy zarządzanych przez firmę Microsoft na potrzeby szyfrowania.

Jak działa przezroczyste szyfrowanie danych w bazie danych SQL w usłudze Microsoft Fabric

Transparent Data Encryption wykonuje szyfrowanie i odszyfrowywanie bazy danych w czasie rzeczywistym, skojarzonych kopii zapasowych i plików dziennika transakcji w spoczynku.

  • Ten proces występuje na poziomie strony, co oznacza, że każda strona jest odszyfrowywana podczas odczytywania do pamięci i ponownego szyfrowania przed zapisaniem z powrotem na dysku.
  • Funkcja Transparent Data Encryption zabezpiecza całą bazę danych przy użyciu klucza symetrycznego znanego jako klucz szyfrowania bazy danych (DEK).
  • Po uruchomieniu bazy danych zaszyfrowany klucz szyfrowania jest odszyfrowywany i używany przez aparat bazy danych programu SQL Server do zarządzania operacjami szyfrowania i odszyfrowywania.
  • Klucz szyfrowania danych (DEK) jest chroniony przez protektor przezroczystego szyfrowania danych, który jest asymetrycznym kluczem zarządzanym przez klienta — w szczególności jest to klucz zarządzany przez klienta skonfigurowany na poziomie obszaru roboczego.

Diagram szyfrowania bazy danych SQL w usłudze Microsoft Fabric.

Tworzenie kopii zapasowej i przywracanie

Po zaszyfrowaniu bazy danych SQL przy użyciu klucza zarządzanego przez klienta wszystkie nowo wygenerowane kopie zapasowe są również szyfrowane przy użyciu tego samego klucza.

Po zmianie klucza stare kopie zapasowe bazy danych SQL nie są aktualizowane w celu użycia najnowszego klucza. Aby przywrócić kopię zapasową zaszyfrowaną przy użyciu klucza zarządzanego przez klienta, upewnij się, że materiał klucza jest dostępny w usłudze Azure Key Vault. W związku z tym zalecamy, aby klienci zachowali wszystkie stare wersje kluczy zarządzanych przez klienta w usłudze Azure Key Vault, aby można było przywrócić kopie zapasowe bazy danych SQL.

Proces przywracania bazy danych SQL zawsze będzie honorować ustawienie obszaru roboczego klucza zarządzanego przez klienta. W poniższej tabeli przedstawiono różne scenariusze przywracania na podstawie ustawień klucza zarządzanego przez klienta i tego, czy kopia zapasowa jest szyfrowana.

Trwa tworzenie kopii zapasowej... Ustawienie obszaru roboczego klucza zarządzanego przez klienta Stan szyfrowania po przywróceniu
Niezaszyfrowane Disabled Baza danych SQL nie jest zaszyfrowana
Niezaszyfrowane Włączona Baza danych SQL jest szyfrowana przy użyciu klucza zarządzanego przez klienta
Szyfrowanie przy użyciu klucza zarządzanego przez klienta Disabled Baza danych SQL nie jest zaszyfrowana
Szyfrowanie przy użyciu klucza zarządzanego przez klienta Włączona Baza danych SQL jest szyfrowana przy użyciu klucza zarządzanego przez klienta
Szyfrowanie przy użyciu klucza zarządzanego przez klienta Włączony, ale używany jest inny klucz zarządzany przez klienta Baza danych SQL jest szyfrowana przy użyciu nowego klucza zarządzanego przez klienta

Weryfikowanie pomyślnego klucza zarządzanego przez klienta

Po włączeniu szyfrowania kluczy zarządzanych przez klienta w obszarze roboczym istniejąca baza danych zostanie zaszyfrowana. Nowa baza danych w obszarze roboczym będzie również szyfrowana po włączeniu klucza zarządzanego przez klienta. Aby sprawdzić, czy baza danych została pomyślnie zaszyfrowana, uruchom następujące zapytanie T-SQL:

SELECT DB_NAME(database_id) as DatabaseName, * 
FROM sys.dm_database_encryption_keys 
WHERE database_id <> 2;
  • Baza danych jest szyfrowana, encryption_state_desc jeśli pole jest wyświetlane ENCRYPTEDASYMMETRIC_KEY jako encryptor_type.
  • Jeśli stan to ENCRYPTION_IN_PROGRESS, kolumna percent_complete będzie wskazywać postęp zmiany stanu szyfrowania. Będzie to oznaczać 0 , że w toku nie będzie żadnych zmian stanu.
  • Jeśli nie zostanie zaszyfrowana, baza danych nie będzie wyświetlana w wynikach sys.dm_database_encryption_keyszapytania .

Rozwiązywanie problemów z niedostępnym kluczem zarządzanym przez klienta

Gdy klucz zarządzany przez klienta jest skonfigurowany dla obszaru roboczego w usłudze Microsoft Fabric, ciągły dostęp do klucza jest wymagany, aby baza danych SQL pozostawała w trybie online. Jeśli baza danych SQL utraci dostęp do klucza w usłudze Azure Key Vault, w ciągu do 10 minut baza danych SQL zacznie odrzucać wszystkie połączenia i zmienia stan na Niedostępny. Użytkownicy otrzymają odpowiedni komunikat o błędzie, taki jak "Baza danych <database ID>.database.fabric.microsoft.com jest niedostępna z powodu błędu krytycznego usługi Azure Key Vault".

  • Jeśli dostęp do klucza zostanie przywrócony w ciągu 30 minut, baza danych SQL zostanie automatycznie przywrócona w ciągu następnej godziny.
  • Jeśli dostęp do klucza zostanie przywrócony po upływie ponad 30 minut, automatyczne uzdrowienie bazy danych SQL nie jest możliwe. Przywrócenie bazy danych SQL wymaga wykonania dodatkowych kroków i może zająć dużo czasu w zależności od rozmiaru bazy danych SQL.

Wykonaj następujące kroki, aby ponownie zweryfikować klucz zarządzany przez klienta:

  1. W obszarze roboczym kliknij prawym przyciskiem myszy bazę danych SQL lub menu kontekstowe ... . Wybierz Ustawienia.
  2. Wybierz pozycję Szyfrowanie (wersja zapoznawcza).
  3. Aby spróbować ponownie uruchomić klucz zarządzany przez klienta, wybierz przycisk Odwołuj klucz zarządzany przez klienta . Jeśli ponowne wznowienie zakończy się pomyślnie, przywrócenie dostępu do bazy danych SQL może zająć trochę czasu.

Uwaga / Notatka

Po ponownej aktualizacji klucza dla jednej bazy danych SQL klucz jest automatycznie ponownie aktualizowany dla wszystkich baz danych SQL w obszarze roboczym.

Ograniczenia

Bieżące ograniczenia dotyczące używania klucza zarządzanego przez klienta dla bazy danych SQL w usłudze Microsoft Fabric:

  • Klucze 4096-bitowe nie są obsługiwane w przypadku usługi SQL Database w usłudze Microsoft Fabric. Obsługiwane długości kluczy to 2048 bitów i 3072 bity.
  • Klucz zarządzany przez klienta musi być kluczem asymetrycznym RSA lub RSA-HSM.
  • Obecnie szyfrowanie kluczy zarządzanych przez klienta jest dostępne w następujących regionach:
    • STANY USA: Wschodnie stany USA 2, Północno-środkowe stany USA, Południowo-środkowe stany USA
    • Azja: Australia Wschodnia, Azja Południowo-Wschodnia, Północne Zjednoczone Emiraty Arabskie
    • Europa: Europa Północna, Europa Zachodnia