Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Den här artikeln visar hur du manuellt roterar den asymmetriska nyckel som används av Transparent Data Encryption (TDE) med Extensible Key Management (EKM) och Azure Key Vault.
Använd den här proceduren när du har konfigurerat TDE med Azure Key Vault. Inledande installationsinstruktioner finns i Konfigurera Transparent Data Encryption med Azure Key Vault för SQL Server.
Important
SQL Server roterar inte automatiskt den asymmetriska nyckel som används för TDE. Rotation är en manuell åtgärd.
Att rotera det logiska TDE-skyddet är en onlineåtgärd som vanligtvis slutförs snabbt, eftersom SQL Server endast krypterar om databaskrypteringsnyckeln (DEK), inte hela databasen.
Ta inte bort tidigare nyckelversioner efter rotation. Tidigare versioner kan fortfarande krävas för att återställa äldre säkerhetskopior, transaktionsloggar eller andra återställningsartefakter.
Förutsättningar
- Slutför den inledande EKM- och TDE-installationen.
- Kontrollera att SQL Server för närvarande kan komma åt nyckelvalvet.
- Se till att du har behörighet att skapa autentiseringsuppgifter, inloggningar och asymmetriska nycklar i SQL Server.
- Kontrollera att din autentiseringsmodell fortfarande är giltig:
- Tjänsthuvudnamn: appregistreringen och klienthemligheten är giltiga.
- Hanterad identitet: den SQL Server hanterade identiteten är fortfarande aktiverad och har nödvändiga nyckelbehörigheter.
Rotera nyckeln
Välj din autentiseringsmodell och följ matchningsstegen.
I Azure Key Vault eller Hanterad HSM roterar du nyckeln:
- Skapa en ny version av samma nyckelnamn, eller
- Skapa ett nytt nyckelnamn.
I SQL Server skapar du en autentiseringsuppgift för rotationsåtgärden om det behövs.
CREATE CREDENTIAL <new_credential_name> WITH IDENTITY = <key_vault_name_or_uri_without_https>, SECRET = '<client_id_without_hyphens><client_secret>' FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;Lägg till autentiseringsuppgifterna i konfigurationsobjektet som skapar nästa asymmetriska nyckel.
ALTER LOGIN [<domain>\<login>] ADD CREDENTIAL [<new_credential_name>];Skapa den nya SQL Server asymmetriska nyckeln från Azure Key Vault.
Note
För manuell rotation stöder SQL Server både ett versionslöst nyckelnamn och en versionsnyckelreferens:
- Versionslös: använd
<key_name>för att låta SQL Server använda den högsta tillgängliga nyckelversionen i Azure Key Vault. - Versionshanterad: Använd
<key_name>/<version>för att låsa krypteringsoperationer till en specifik nyckelversion.
Du behöver inte skapa ett annat AKV-nyckelnamn för att rotera. Rotera nycklar genom att skapa en ny nyckelversion och sedan skapa en ny SQL Server asymmetrisk nyckel som refererar till det versionslösa eller versionsbaserade formuläret.
Använd antingen ett versionslöst nyckelnamn eller en specifik nyckelversion:
CREATE ASYMMETRIC KEY <new_ekm_key_name> FROM PROVIDER [AzureKeyVault_EKM] WITH PROVIDER_KEY_NAME = '<key_name_or_key_name/version>', CREATION_DISPOSITION = OPEN_EXISTING;- Versionslös: använd
Skapa en ny inloggning från den nya asymmetriska nyckeln.
CREATE LOGIN <new_login_name> FROM ASYMMETRIC KEY <new_ekm_key_name>;Flytta mappningen av autentiseringsuppgifter från installationsinloggningen till den nya asymmetriska nyckelinloggningen.
ALTER LOGIN [<domain>\<login>] DROP CREDENTIAL [<new_credential_name>]; ALTER LOGIN <new_login_name> ADD CREDENTIAL [<new_credential_name>];Kryptera om databaskrypteringsnyckeln (DEK) med hjälp av den nya asymmetriska nyckeln.
USE [<database_name>]; GO ALTER DATABASE ENCRYPTION KEY ENCRYPTION BY SERVER ASYMMETRIC KEY <new_ekm_key_name>;
Verifiera rotation
Verifiera krypteringsmetadata för databasen.
SELECT encryptor_type, encryption_state_desc, encryptor_thumbprint FROM sys.dm_database_encryption_keys WHERE database_id = DB_ID('<database_name>');Kontrollera SQL Server-asymmetriska nyckels tumavtryck.
SELECT name, algorithm_desc, thumbprint FROM sys.asymmetric_keys WHERE name = '<new_ekm_key_name>';Bekräfta att tumavtrycken matchar.