Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
W tym artykule zainstalujesz i skonfigurujesz łącznik SQL Server dla Azure Key Vault, a następnie skonfigurujesz Transparent Data Encryption (TDE) przy użyciu klucza w Azure Key Vault.
Prerequisites
Przed rozpoczęciem korzystania z Azure Key Vault z wystąpieniem SQL Server upewnij się, że spełnione są następujące wymagania wstępne:
Wymagana jest subskrypcja platformy Azure.
Zainstaluj program Azure PowerShell w wersji 5.2.0 lub nowszej.
Utwórz instancję Microsoft Entra.
Zapoznaj się z zasadami magazynowania Extensible Key Management (EKM) w usłudze Azure Key Vault. Zobacz Rozszerzalne zarządzanie kluczami przy użyciu Azure Key Vault (SQL Server).
Rejestr można zmodyfikować na komputerze SQL Server.
Zainstaluj wersję pakietu redystrybucyjnego Visual Studio C++, która jest oparta na uruchomionej wersji programu SQL Server:
wersja SQL Server Wersja redystrybucyjna programu Visual Studio C++ 2008, 2008 R2, 2012, 2014 Pakiety redystrybucyjne Visual C++ dla programu Visual Studio 2013 2016, 2017, 2019, 2022, 2025 Pakiet redystrybucyjny Visual C++ dla Visual Studio 2015 Przeczytaj Uzyskiwanie dostępu do usługi Azure Key Vault za zaporą, jeśli planujesz używać łącznika SQL Server dla usługi Azure Key Vault za zaporą lub z serwerem proxy.
Note
W wersji SQL Server 2022 (16.x) CU 12 i nowszych SQL Server on Linux obsługuje rozszerzone zarządzanie kluczami TDE za pomocą Azure Key Vault. Kroki 3 i 4 w tym przewodniku nie są wymagane dla programu SQL Server w systemie Linux.
Szybki przepływ
- Wybierz model uwierzytelniania w kroku 1: Konfigurowanie modelu uwierzytelniania.
- Utwórz magazyn kluczy i klucz w Kroku 2: Tworzenie magazynu kluczy.
- Zainstaluj łącznik w kroku 3: Zainstaluj łącznik SQL Server.
- Skonfiguruj wymagania wstępne rejestru w kroku 4: Dodawanie klucza rejestru w celu obsługi dostawcy EKM.
- Skonfiguruj SQL Server i zweryfikuj szyfrowanie w kroku 5: Konfigurowanie SQL Server.
Krok 1. Konfigurowanie modelu uwierzytelniania
Ważna
Przed kontynuowanie wybierz model uwierzytelniania:
- Użyj karty Service principal dla lokalnego programu SQL Server.
- Użyj karty Tożsamość zarządzana w przypadku programu SQL Server na maszynach wirtualnych platformy Azure lub programu SQL Server z obsługą usługi Azure Arc, w przypadku których obsługiwana jest tożsamość zarządzana.
Macierz obsługiwanych modeli uwierzytelniania:
| Model uwierzytelniania | wersja SQL Server | Gdzie działa SQL Server | Supported |
|---|---|---|---|
| Główna usługa | Obsługiwane wersje omówione w tym artykule | Lokalna maszyna wirtualna Azure SQL Server włączona przez Azure Arc | Yes |
| Tożsamość zarządzana | SQL Server 2022 CU17 i nowsze | maszyna wirtualna Azure | Yes |
| Tożsamość zarządzana | SQL Server 2025 i nowsze | SQL Server obsługiwany przez Azure Arc | Yes |
| Tożsamość zarządzana | Dowolny | On-premises | No |
Aby przyznać wystąpieniu programu SQL Server uprawnienia dostępu do magazynu kluczy Azure, musisz mieć konto jednostki usługi w Microsoft Entra ID.
Zaloguj się do portalu Azure i wykonaj jedną z następujących czynności:
Wybierz przycisk Microsoft Entra ID .
Wybierz pozycję Więcej usług , a następnie w okienku Wszystkie usługi wpisz Microsoft Entra ID.
Zarejestruj aplikację przy użyciu Microsoft Entra ID, wykonując następujące kroki. Aby uzyskać szczegółowe instrukcje krok po kroku, zobacz sekcję Pobieranie tożsamości dla aplikacji we wpisie w blogu usługi Azure Key Vault, Azure Key Vault — krok po kroku.
Na karcie Zarządzanie zasobu Microsoft Entra ID wybierz pozycję Rejestracje aplikacji.
Na stronie Rejestracje aplikacji wybierz pozycję Nowa rejestracja.
W okienku Rejestrowanie aplikacji wprowadź nazwę aplikacji, a następnie wybierz pozycję Zarejestruj.
W lewym okienku wybierz pozycje Certyfikaty i klucze tajne>Klucze tajne klienta>Nowy klucz tajny klienta.
W obszarze Dodawanie sekretu klienta wprowadź opis i odpowiednią datę wygaśnięcia, a następnie wybierz Dodaj. Nie można wybrać okresu wygaśnięcia dłuższego niż 24 miesiące. Więcej informacji znajdziesz w Dodaj tajny klucz klienta.
W okienku Certyfikaty i wpisy tajne w obszarze Wartość wybierz przycisk Kopiuj obok wartości wpisu tajnego klienta, aby użyć go do utworzenia klucza asymetrycznego w SQL Server.
W okienku po lewej stronie wybierz pozycję Przegląd, a następnie w polu Identyfikator aplikacji (klienta) skopiuj wartość, aby użyć jej do utworzenia klucza asymetrycznego w SQL Server.
Krok 2: Utwórz magazyn kluczy
Wybierz metodę, której chcesz użyć do utworzenia skarbca kluczy.
Note
Obsługiwane są tylko Azure Key Vault i Azure Key Vault Managed HSM. Moduł HSM w chmurze platformy Azure nie jest obsługiwany.
Utwórz magazyn kluczy za pomocą portalu Azure
Aby utworzyć magazyn kluczy przy użyciu portalu Azure, zobacz Szybki start: tworzenie magazynu kluczy przy użyciu portalu Azure.
Kontrola dostępu oparta na rolach na platformie Azure
Użyj Azure kontroli dostępu opartej na rolach (RBAC), aby zarządzać dostępem do Azure Key Vault. Nie używaj starszych zasad dostępu. Starsze zasady dostępu mają znane luki w zabezpieczeniach, brak obsługi Privileged Identity Management (PIM) i nie powinny być używane w przypadku krytycznych danych i obciążeń. Aby uzyskać więcej informacji na temat uprawnień RBAC usługi Azure Key Vault, zobacz Role wbudowane platformy Azure dla operacji płaszczyzny danych usługi Key Vault.
Przejdź do utworzonego zasobu magazynu kluczy i wybierz ustawienie Kontrola dostępu (IAM).
Wybierz Dodaj>Dodaj przypisanie roli.
Aplikacja EKM lub tożsamość zarządzana wymaga roli użytkownika szyfrowania usługi kryptograficznej Key Vault do wykonywania operacji opakowywanie i odpakowywanie. Wyszukaj Key Vault Crypto Service Encryption User i wybierz rolę. Wybierz Dalej.
Na karcie Członkowie wybierz opcję Wybierz członków, a następnie wyszukaj aplikację Microsoft Entra lub tożsamość zarządzaną utworzoną w kroku 1. Wybierz aplikację lub tożsamość zarządzaną, a następnie przycisk Wybierz .
Aby ukończyć przypisywanie roli, kliknij dwukrotnie opcję Przejrzyj i przypisz.
Utwórz klucz
Użytkownik tworzący klucz musi mieć rolę Administrator usługi Key Vault . Podobnie jak w poprzednich krokach, dodaj członka tworzącego klucz i przypisz rolę.
W okienku Key Vault wybierz pozycję Klucze , a następnie wybierz opcję Generuj/Importuj. Ta akcja spowoduje otwarcie okienka Tworzenie klucza . Wybierz opcję Generuj i wprowadź nazwę klucza. Łącznik SQL Server wymaga, aby nazwa klucza używała wyłącznie znaków "a-z", "A-Z", "0-9" i "-", przy limicie 26 znaków.
Użyj typu klucza RSA i rozmiaru klucza RSA jako 2048. Obecnie EKM obsługuje tylko klucz RSA. Ustaw odpowiednio daty aktywacji i wygaśnięcia i ustaw wartość Włączone jako Tak.
Konfigurowanie zarządzanego modułu HSM Azure Key Vault (opcjonalnie)
Azure Key Vault Managed HSM (sprzętowy moduł zabezpieczeń) obsługuje program SQL Server i program SQL Server na platformie Azure Virtual Machines (VM) przy użyciu najnowszej wersji SQL Server Connector, a także usługę Azure SQL. Zarządzany moduł HSM to w pełni zarządzana, wysoce dostępna usługa HSM z jedną dzierżawą. Zarządzany moduł HSM zapewnia bezpieczną podstawę dla operacji kryptograficznych i magazynu kluczy. Zarządzany moduł HSM został zaprojektowany tak, aby spełniał najbardziej rygorystyczne wymagania dotyczące zabezpieczeń i zgodności.
Krok 2 pokazuje, jak utworzyć magazyn kluczy i klucz w Azure Key Vault. Opcjonalnie możesz użyć zarządzanego modułu HSM Azure Key Vault do przechowywania lub tworzenia klucza dla łącznika SQL Server. Wykonaj te kroki:
Utwórz zarządzany moduł HSM Azure Key Vault przy użyciu portalu Azure, Azure CLI, programu PowerShell lub szablonu usługi ARM.
Aktywuj zarządzany moduł HSM. Tylko wyznaczeni administratorzy przypisani podczas tworzenia mogą go aktywować. W portalu Azure wybierz zasób Managed HSM, a następnie wybierz Pobierz domenę zabezpieczeń w menu Przegląd. Skorzystaj z jednego z przewodników szybkiego startu, aby aktywować zarządzany moduł HSM.
Przyznaj uprawnienia jednostce usługi Microsoft Entra lub tożsamości zarządzanej umożliwiające dostęp do zarządzanego modułu HSM. Rola Administrator zarządzanego modułu HSM nie daje uprawnień do tworzenia klucza. Podobnie jak w kroku 2, aplikacja EKM lub tożsamość zarządzana musi mieć przypisaną rolę Managed HSM Crypto User lub Managed HSM Crypto Service Encryption User, aby wykonywać operacje opakowywania i odpakowywania. Aby uzyskać więcej informacji, zobacz Lokalne role wbudowane RBAC dla modułu HSM Zarządzanego.
W menu usługi Azure Key Vault Managed HSM w obszarze Ustawienie wybierz pozycję Klucze. W oknie Klucze wybierz pozycję Generuj/Importuj/Przywróć kopię zapasową , aby utworzyć klucz lub zaimportować istniejący klucz.
Note
Algorytmy RSA-HSM_2048 i RSA-HSM_3072 są obsługiwane od SQL Server 2022 (16.x) Aktualizacja zbiorcza 13.
Azure Key Vault zarządzany moduł HSM obsługuje automatyczne obracanie kluczy. Aby uzyskać więcej informacji, zobacz Konfigurowanie automatycznego obracania kluczy w zarządzanym module HSM platformy Azure.
Zarządzany moduł HSM obsługuje połączenia prywatnych punktów końcowych. Aby uzyskać więcej informacji, zobacz Integrowanie zarządzanego modułu HSM z usługą Azure Private Link. W tej konfiguracji należy włączyć opcję obejścia zaufanej usługi Microsoft w ustawieniach Sieć zarządzanego modułu HSM usługi Azure Key Vault.
Krok 3. Instalowanie łącznika programu SQL Server
Poproś administratora programu SQL Server o pobranie najnowszej wersji łącznika programu SQL Server dla usługi Microsoft Azure Key Vault z Centrum pobierania Microsoft i uruchomienie instalatora.
Domyślnie łącznik jest instalowany w lokalizacji C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault. Tę lokalizację można zmienić podczas instalacji. Jeśli go zmienisz, dostosuj skrypty w następnej sekcji.
Pomyślna instalacja umieszcza Microsoft.AzureKeyVaultService.EKM.dll na komputerze. Ten zestaw jest kryptograficzną biblioteką DLL dostawcy EKM. Zarejestruj go w SQL Server przy użyciu instrukcji CREATE CRYPTOGRAPHIC PROVIDER .
Instalator oferuje również przykładowe skrypty szyfrowania SQL Server.
Aby uzyskać wyjaśnienia kodu błędu, ustawienia konfiguracji lub zadania konserwacji, zobacz:
Krok 4. Dodawanie klucza rejestru w celu obsługi dostawcy EKM
Warning
Tylko administrator SQL Server, który wie dokładnie, co robi, powinien zmodyfikować rejestr. Nieprawidłowe zmiany mogą powodować poważne problemy. Utwórz kopię zapasową rejestru przed wprowadzeniem jakichkolwiek zmian, aby można było przywrócić go w przypadku wystąpienia problemu.
Uruchom regedit, aby otworzyć Edytor Rejestru.
SQL Server Cryptographic ProviderUtwórz klucz rejestru pod adresemHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQL Server Cryptographic Provider.Kliknij prawym przyciskiem
SQL Server Cryptographic Providermyszy klucz rejestru, a następnie wybierz pozycję Uprawnienia.Udziel pełnej kontroli nad kluczem
SQL Server Cryptographic Providerdo konta użytkownika z uruchomioną usługą SQL Server.
Wybierz pozycję Zastosuj, następnie OK.
Zamknij Edytor rejestru i uruchom ponownie usługę SQL Server.
Note
Jeśli używasz funkcji TDE z funkcją EKM lub Azure Key Vault w wystąpieniu klastra trybu failover, dodaj również element
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQL Server Cryptographic Providerdo procedury punktu kontrolnego rejestru klastra, aby rejestr synchronizował się między węzłami, co ułatwia odzyskiwanie bazy danych po przełączeniu awaryjnym i rotacji kluczy.Uruchom następujące polecenie programu PowerShell, aby dodać klucz rejestru do procedury punktu kontrolnego:
Add-ClusterCheckpoint -RegistryCheckpoint "SOFTWARE\Microsoft\SQL Server Cryptographic Provider" -Resourcename "SQL Server"
Krok 5. Konfigurowanie programu SQL Server
Aby uzyskać uwagę na temat minimalnych poziomów uprawnień wymaganych dla każdej akcji w tej sekcji, zobacz B. Często zadawane pytania.
Faza 1. Konfigurowanie dostawcy kryptograficznego i poświadczeń w programie master
Wybierz model uwierzytelniania i wykonaj pasujące kroki.
Uruchom narzędzie sqlcmd lub otwórz program SQL Server Management Studio.
Skonfiguruj program SQL Server do używania EKM, uruchamiając następujący skrypt Transact-SQL:
-- Enable advanced options. USE master; GO EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE; GO -- Enable EKM provider EXEC sp_configure 'EKM provider enabled', 1; GO RECONFIGURE;Zarejestruj łącznik SQL Server jako dostawcę EKM za pomocą SQL Server.
Utwórz dostawcę kryptograficznego przy użyciu łącznika programu SQL Server, który jest dostawcą EKM dla usługi Azure Key Vault. W tym przykładzie nazwa dostawcy to
AzureKeyVault_EKM.CREATE CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM FROM FILE = 'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll'; GONote
Długość ścieżki pliku nie może przekraczać 256 znaków.
Skonfiguruj poświadczenia programu SQL Server na potrzeby logowania do programu SQL Server, aby używać magazynu kluczy.
Dodaj poświadczenie do każdego loginu, który wykonuje szyfrowanie przy użyciu klucza z magazynu kluczy. Istnieje mapowanie 1:1 między poświadczeniami a loginami — każdy login musi mieć unikalne poświadczenie.
Zmodyfikuj ten skrypt Transact-SQL w następujący sposób:
Edytuj argument
IDENTITY(DocsSampleEKMKeyVault), aby wskazać usługę Azure Key Vault.- Jeśli używasz globalnej platformy Azure, zastąp
IDENTITYargument nazwą usługi Azure Key Vault z kroku 2. Tworzenie magazynu kluczy. - Jeśli używasz prywatnej chmury Azure (na przykład Azure Government, Microsoft Azure obsługiwany przez firmę 21Vianet lub Azure Germany), zastąp argument
IDENTITYidentyfikatorem URI magazynu zwróconym w artykule Tworzenie magazynu kluczy i klucza przy użyciu programu PowerShell. Nie dołączajhttps://do identyfikatora URI sejfu kluczy.
- Jeśli używasz globalnej platformy Azure, zastąp
Zastąp pierwszą część argumentu
SECRETidentyfikatorem klienta Microsoft Entra z kroku 1: Konfigurowanie modelu uwierzytelniania. W tym przykładzie identyfikator klienta jestd956f6b9xxxxxxx.Ważna
Usuń łączniki z identyfikatora aplikacji (klienta).
Uzupełnij drugą część argumentu
SECRETo Wpis tajny klienta z kroku 1. Końcowy ciąg jest długą sekwencją liter i cyfr bez łączników (z wyjątkiem łączników w samym kluczu tajnym klienta).
USE master; CREATE CREDENTIAL sysadmin_ekm_cred -- Set IDENTITY to the vault name (public Azure) or full vault hostname without https:// (sovereign clouds / Managed HSM) -- See https://learn.microsoft.com/azure/key-vault/general/about-keys-secrets-certificates#dns-suffixes-for-base-url WITH IDENTITY = 'DocsSampleEKMKeyVault', --<----Application (Client) ID ---><--Microsoft Entra app (Client) ID secret--> SECRET = 'd956f6b9xxxxxxxyrA8X~PldtMCvUZPxxxxxxxx' FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM; -- Add the credential to the SQL Server administrator's domain login ALTER LOGIN [<domain>\<login>] ADD CREDENTIAL sysadmin_ekm_cred;Aby zapoznać się z przykładem używania zmiennych i programowego usuwania łączników z identyfikatora klienta, zobacz CREATE CREDENTIAL.
Otwórz klucz usługi Azure Key Vault w instancji programu SQL Server.
Niezależnie od tego, czy utworzono nowy klucz, czy zaimportowaliśmy klucz asymetryczny w kroku 2: Tworzenie magazynu kluczy, otwórz klucz w SQL Server przy użyciu polecenia
CREATE ASYMMETRIC KEY.Ważna
Przed wykonaniem tego kroku należy spełnić wymagania wstępne rejestru.
W następujących przykładach:
- Zastąp
EKMSampleASYKeynazwą, której chcesz użyć w programie SQL Server. - Zastąp element
ContosoRSAKey0nazwą klucza w usłudze Azure Key Vault lub Managed HSM.
Użyj nazwy klucza bez wersji (zalecane w przypadku większości scenariuszy):
CREATE ASYMMETRIC KEY EKMSampleASYKey FROM PROVIDER [AzureKeyVault_EKM] WITH PROVIDER_KEY_NAME = 'ContosoRSAKey0', CREATION_DISPOSITION = OPEN_EXISTING;Użyj określonej wersji klucza, jeśli musisz przypiąć operacje do jednej wersji:
CREATE ASYMMETRIC KEY EKMSampleASYKey FROM PROVIDER [AzureKeyVault_EKM] WITH PROVIDER_KEY_NAME = 'ContosoRSAKey0/1a4d3b9b393c4678831ccc60def75379', CREATION_DISPOSITION = OPEN_EXISTING;W tym przykładzie
1a4d3b9b393c4678831ccc60def75379to konkretna wersja klucza, której program SQL Server używa do operacji na bazie danych.- Zastąp
Utwórz nowe logowanie przy użyciu klucza asymetrycznego w programie SQL Server utworzonym w poprzednim kroku.
-- Create a login that associates the asymmetric key with this login CREATE LOGIN TDE_Login FROM ASYMMETRIC KEY EKMSampleASYKey;Przenieś mapowanie poświadczeń z oryginalnego loginu administratora do loginu utworzonego na podstawie klucza asymetrycznego.
SQL Server używa identyfikatora logowania utworzonego na podstawie klucza asymetrycznego (
TDE_Login) dla operacji EKM. Aby upewnić się, że SQL Server mógł uzyskiwać dostęp do Azure Key Vault podczas operacji szyfrowania i odzyskiwania, przypisz poświadczenie doTDE_Loginzamiast oryginalnego konta logowania użytego podczas konfiguracji.-- Remove the service principal credential from the original setup login ALTER LOGIN [<domain>\<login>] DROP CREDENTIAL sysadmin_ekm_cred; -- Map the service principal credential to the login created from the asymmetric key ALTER LOGIN TDE_Login ADD CREDENTIAL sysadmin_ekm_cred;
Faza 2. Szyfrowanie i weryfikowanie bazy danych użytkowników
Konfigurowanie bazy danych użytkownika do szyfrowania
Utwórz testową bazę danych do zaszyfrowania przy użyciu klucza Azure Key Vault.
-- Create a test database for the TDE example. CREATE DATABASE TestTDE;Utwórz klucz szyfrowania bazy danych przy użyciu klucza asymetrycznego serwera (
EKMSampleASYKey).USE TestTDE; -- Create a DEK protected by the EKM asymmetric key. CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER ASYMMETRIC KEY EKMSampleASYKey;Włącz funkcję TDE w bazie danych, ustawiając wartość
ENCRYPTION ON.-- Enable TDE for the database. ALTER DATABASE TestTDE SET ENCRYPTION ON;
Weryfikowanie użycia klucza i stanu szyfrowania
masterW bazie danych wykonaj następujące zapytanie Transact-SQL, aby sprawdzić, czy klucz asymetryczny EKM istnieje i przechwycić jego odcisk palca.SELECT name, algorithm_desc, thumbprint FROM sys.asymmetric_keys;Instrukcja zwraca dane wyjściowe podobne do następujących:
name algorithm_desc thumbprint EKMSampleASYKey RSA_2048 <key thumbprint>W bazie danych użytkownika (
TestTDE) wykonaj następujące zapytanie Transact-SQL, aby sprawdzić, czy funkcja TDE jest włączona i czy klucz szyfrowania bazy danych jest chroniony przez klucz asymetryczny.SELECT encryptor_type, encryption_state_desc, encryptor_thumbprint FROM sys.dm_database_encryption_keys WHERE database_id = DB_ID('TestTDE');Instrukcja zwraca dane wyjściowe podobne do następujących:
encryptor_type encryption_state_desc encryptor_thumbprint ASYMMETRIC KEY ENCRYPTED <key thumbprint>Upewnij się, że
encryptor_thumbprintjest zgodne z odciskiem certyfikatu zwróconym przezsys.asymmetric_keys. Niezgodność zwykle wskazuje, że klucz szyfrowania bazy danych jest chroniony przez inny klucz niż oczekiwano.
Czyszczenie
Wykonaj kroki oczyszczania zgodne ze skonfigurowanym modelem uwierzytelniania.
Wyczyść obiekty testowe utworzone w tej procedurze.
-- CLEAN UP: shared objects + service principal credential USE master; GO ALTER DATABASE [TestTDE] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; DROP DATABASE [TestTDE]; GO DROP LOGIN [TDE_Login]; GO DROP ASYMMETRIC KEY [EKMSampleASYKey]; DROP CRYPTOGRAPHIC PROVIDER [AzureKeyVault_EKM]; GO DROP CREDENTIAL [sysadmin_ekm_cred]; GOSprawdź, czy należy usunąć
SQL Server Cryptographic Providerklucz rejestru.Ważna
SQL Server Cryptographic ProviderKlucz rejestru nie jest usuwany automatycznie po usunięciu kluczy EKM.Usuń ten klucz rejestru tylko wtedy, gdy nie potrzebujesz już klucza EKM w wystąpieniu. Usunięcie go zbyt wcześnie może zakłócić działanie funkcji EKM i operacje odzyskiwania.
Ścieżka rejestru:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SQL Server Cryptographic Provider
Odnów wygasający lub wygasły klucz tajny klienta
Jeśli używasz uwierzytelniania na podstawie usługi głównej, odnow sekret klienta aplikacji Microsoft Entra zanim ten wygaśnie. Jeśli sekret już wygasł, stwórz zastępczy sekret i zaktualizuj istniejące dane poświadczenia SQL Server, jak opisano w tej sekcji. Ta procedura nie dotyczy uwierzytelniania tożsamości zarządzanego, które nie korzysta z sekretu klienta.
Odnowienie sekretu klienta aktualizuje dane uwierzytelniające używane przez SQL Server do uwierzytelniania do Azure Key Vault. Nie obraca klucza asymetrycznego ani nie zmienia klucza szyfrującego bazy danych.
Aby zaktualizować poświadczenie programu SQL Server, wymagane jest uprawnienie ALTER ANY CREDENTIAL. Aby uzyskać więcej informacji, zobacz ALTER CREDENTIAL (Transact-SQL).
W portalu Azure otwórz Microsoft Entra ID>Rejestracje aplikacji i wybierz istniejącą aplikację, której program SQL Server używa do uzyskiwania dostępu do usługi Azure Key Vault. Wybierz Certyfikaty i tajemnice>Tajemnice klienta>Nowa tajemnica klienta. Wprowadź opis i datę wygaśnięcia, wybierz Dodaj i skopiuj wartość nowego sekretu, a nie jego Sekretnego ID.
Zaktualizuj istniejące dane SQL Server o tę samą tożsamość i nową wartość uwierzytelniania. W poniższym przykładzie:
- Zastąp
sysadmin_ekm_crednazwę istniejącego certyfikatu. - Zastąp element
DocsSampleEKMKeyVaultistniejącą tożsamością poświadczenia. Zachowaj tę samą nazwę sejfu lub nazwę hosta, której użyto podczas tworzenia poświadczenia. - Zastąp
<client_id_without_hyphens><new_client_secret>identyfikatorem klienta aplikacji po usunięciu z niego myślników, bezpośrednio po którym należy umieścić nową wartość client secret. Nie wstawiaj spacji ani separatora i zachowuj wszelkie łączniki w wartości sekretu klienta. Nie używaj wyłącznie wartości sekretu klienta.
USE master; GO ALTER CREDENTIAL sysadmin_ekm_cred WITH IDENTITY = 'DocsSampleEKMKeyVault', SECRET = '<client_id_without_hyphens><new_client_secret>'; GO- Zastąp
Powtórz aktualizację danych uwierzytelniających dla każdego poświadczenia SQL Server, które korzysta z zastąpionego sekretu klienta, w tym poświadczenia przypisanego do logowania utworzonego z asymetrycznego klucza TDE. Jeśli używasz EKM w grupie dostępności, zaktualizuj dotknięte dane poświadczenia na każdej repliki.
Po aktualizacji danych uwierzytelniających zrestartuj usługę SQL Server. W przypadku grupy dostępności wykonaj restart każdej repliki jako część planowanej konserwacji. Restart usługi przerywa połączenia, więc skoordynuj je z wymaganiami dostępności.
Połącz się ponownie z SQL Server i sprawdź, czy zaszyfrowane bazy danych są dostępne. Jeśli używasz SQL Server Management Studio, uruchom go ponownie, aby wyczyścić poświadczenie zapisane w pamięci podręcznej tej sesji. Usuń stary sekret klienta z rejestracji aplikacji dopiero po aktualizacji i weryfikacji wszystkich instancji SQL Server i innych aplikacji, które go używają.
Rotacja kluczy asymetrycznych na potrzeby TDE przy użyciu Azure Key Vault
Skorzystaj z dedykowanego przewodnika operacyjnego dla kroków rotacji kluczy, w tym skryptów specyficznych dla uwierzytelniania, weryfikacji i kontroli bezpieczeństwa:
Ważna
Nie usuwaj poprzednich wersji klucza po rotacji. Wcześniejsze wersje mogą być nadal wymagane do przywrócenia starszych kopii zapasowych, plików dziennika i artefaktów odzyskiwania.