Dela via


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

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:

  1. 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
    
  2. 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>]
    
  3. 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.