Stöd för hanterad identitet för utökningsbar nyckelhantering med Azure Key Vault
gäller för:SQL Server på en virtuell Azure-dator (endast Windows)
Den här artikeln visar hur du använder hanterade identiteter för Utökningsbar nyckelhantering (EKM) med Azure Key Vault (AKV) på SQL Server på Azure Virtual Machines (VM).
Överblick
Från och med SQL Server 2022 Kumulativ uppdatering 17 (CU17) stöds hanterade identiteter för EKM med AKV- och Managed Hardware Security Modules (HSM) på SQL Server på virtuella Azure-datorer. Hanterade identiteter är den rekommenderade autentiseringsmetoden för att tillåta olika Azure-tjänster att autentisera SQL Server på Azure VM-resursen utan att använda lösenord eller hemligheter. Mer information om hanterade identiteter finns i Hanterade identitetstyper.
Obs
Hanterade identiteter stöds endast för SQL Server på virtuella Azure-datorer och inte för SQL Server lokalt.
Information om hur du konfigurerar EKM med AKV för SQL Server lokalt finns i Konfigurera SQL Server TDE Extensible Key Management med hjälp av Azure Key Vault.
Förutsättningar
- En SQL Server på en virtuell Azure-dator med SQL Server 2022 CU17 eller senare konfigurerad med Microsoft Entra-autentisering.
- Ett Azure Key Vault och en nyckel som skapats i det. Mer information finns i Skapa ett nyckelvalv.
- Hanterade identiteter stöds för EKM med AKV. Den primära hanterade identiteten för SQL Server på en virtuell Azure-dator behöver:
- Man blir tilldelad en användartilldelad hanterad identitet eller en systemtilldelad hanterad identitet. Mer information finns i Konfigurera hanterade identiteter på virtuella Azure-datorer och Aktivera Microsoft Entra-autentisering.
- Om du använder rollbaserad åtkomstkontroll i Azure, ska rollen
Key Vault Crypto Service Encryption User
för den primära hanterade identiteten tilldelas nyckelvalvet. Alternativt, om du använder princip för valvåtkomst, behöver du Avkryptera nyckel och Omsluta nyckel behörigheter.
- Ladda ned den senaste versionen av SQL Server Connector från Microsoft Download Center.
Lägga till registernyckel för EKM-providern
Innan du kan skapa en autentiseringsuppgift med hjälp av en hanterad identitet måste du lägga till en registernyckel så att EKM-providern kan använda hanterade identiteter. Det här steget måste utföras av datoradministratören. Detaljerade steg finns i Steg 4: Lägg till registernyckel för att stödja EKM-provider.
Skapa en serverautentiseringsuppgift med hanterade identiteter
I följande exempel visas hur du skapar en autentiseringsuppgift för en hanterad identitet som ska användas med AKV:
CREATE CREDENTIAL [<akv-name>.vault.azure.net]
WITH IDENTITY = 'Managed Identity'
FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov
Du kan kontrollera AKV-namnet genom att fråga sys.credentials
:
SELECT name, credential_identity
FROM sys.credentials
Satsen WITH IDENTITY = 'Managed Identity'
kräver en primär hanterad identitet som tilldelats SQL Server på en virtuell Azure-dator.
Mer information om hur du konfigurerar EKM med AKV finns i Konfigurera SQL Server TDE Extensible Key Management med hjälp av Azure Key Vault.
Skapa en autentiseringsuppgift som ska användas med hanterade maskinvarusäkerhetsmoduler (HSM: er)
Om du vill skapa en autentiseringsuppgift som ska användas med Azure Key Vault Managed Hardware Security Modules (HSM) använder du följande syntax:
CREATE CREDENTIAL [<akv-name>.managedhsm.azure.net]
WITH IDENTITY = 'Managed Identity'
FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov
Mer information om hur du konfigurerar EKM med AKV finns i Konfigurera SQL Server TDE Extensible Key Management med hjälp av Azure Key Vault.
T-SQL-kommandon för att uppgradera befintlig EKM-konfiguration för att använda hanterade identiteter
Om den aktuella konfigurationen använder EKM med AKV med hjälp av en hemlighet måste du ta bort de befintliga autentiseringsuppgifterna och skapa en ny autentiseringsuppgift med hjälp av en hanterad identitet. Följande T-SQL-kommandon visar hur du uppgraderar din befintliga EKM-konfiguration för att använda hanterade identiteter:
Skapa autentiseringsuppgifterna med hjälp av en hanterad identitet:
CREATE CREDENTIAL [<akv-name>.vault.azure.net] WITH IDENTITY = 'Managed Identity' FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov
Om det finns en autentiseringsuppgift med hjälp av en hemlighet som är associerad med domäninloggningen för SQL Server-administrationsdomänen släpper du de befintliga autentiseringsuppgifterna:
ALTER LOGIN [<domain>\<login>] DROP CREDENTIAL [<existing-credential-name>]
Associera de nya autentiseringsuppgifterna med sql Server-administrationsdomäninloggningen:
ALTER LOGIN [<domain>\<login>] ADD CREDENTIAL [<akv-name>.vault.azure.net]
Du kan kontrollera den krypterade databasvyn för att verifiera databaskryptering med hjälp av följande fråga:
SELECT *
FROM sys.dm_database_encryption_keys
WHERE database_id=db_id('<your-database-name>')
Mer information om hur du konfigurerar EKM med AKV finns i Konfigurera SQL Server TDE Extensible Key Management med hjälp av Azure Key Vault.
Felmeddelanden
Spårningsflagga 4675 kan användas för att kontrollera autentiseringsuppgifter som skapats med en hanterad identitet. Om CREATE CREDENTIAL
-instruktionen kördes utan spårningsflagga 4675 aktiverad utfärdas inget felmeddelande om den primära hanterade identiteten inte har angetts för servern. Om du vill felsöka det här scenariot måste autentiseringsuppgifterna tas bort och återskapas igen när spårningsflaggan är aktiverad.
Ingen primär hanterad identitet har tilldelats
Om en primär hanterad identitet inte har tilldelats till SQL Server på en virtuell Azure-dator misslyckas säkerhetskopierings- och återställningsåtgärderna med ett felmeddelande som anger att den hanterade identiteten inte har valts.
Msg 37563, Level 16, State 2, Line 14
The primary managed identity is not selected for this server. Enable the primary managed identity for Microsoft Entra authentication for this server. For more information see (https://aka.ms/sql-server-managed-identity-doc).`
SQL Server Connector-versionen stöder inte den hanterade identiteten för EKM med AKV
Om en tidigare VERSION av SQL Server Connector används uppstår följande fel när T-SQL-CREATE ASYMMETRIC KEY
-instruktionen körs med hjälp av en serverautentiseringsuppgift med hanterad identitet:
Msg 37576, Level 16, State 2, Line 60
The current SQL Server Connector version for Microsoft Azure Key Vault does not support the managed identity (see https://aka.ms/sql-server-managed-identity-doc). Upgrade the SQL Server Connector to its latest version
Begränsningar
- Hanterad identitet på servernivå stöds bara för SQL Server på en virtuell Azure-dator och inte lokalt i SQL Server. Hanterad identitet på servernivå stöds inte för Linux.
- Stöd för hanterad identitet för EKM med AKV och Säkerhetskopiering och återställning till URL med hanterade identiteter är de enda Azure-tjänster som stöder hanterad identitet för SQL Server på virtuella Azure-datorer.
- Stöd för hanterad identitet för EKM med AKV kräver den senaste versionen av SQL Server Connector. Se till att du laddar ned och installerar den senaste versionen från Microsoft Download Center.
- Microsoft Entra-autentisering kan bara aktiveras med en primär hanterad identitet för SQL Server på en virtuell Azure-dator. Den primära hanterade identiteten används för alla SQL Server-instanser på den virtuella datorn.