Dela via


Stöd för hanterad identitet för utökningsbar nyckelhantering med Azure Key Vault

Gäller för: Förhandsversion av SQL Server 2025 (17.x)

Den här artikeln visar hur du använder hanterade identiteter för Extensible Key Management (EKM) med Azure Key Vault (AKV) på SQL Server som aktiveras av Azure Arc.

Översikt

Från och med förhandsversionen av SQL Server 2025 (17.x) stöds hanterade identiteter för EKM med AKV- och Managed Hardware Security Modules (HSM) på SQL Server aktiverat av Azure Arc. Hanterade identiteter är den rekommenderade autentiseringsmetoden för att tillåta olika Azure-tjänster att autentisera SQL Server som aktiveras av Azure Arc-resursen utan att använda lösenord eller hemligheter. Mer information om hanterade identiteter finns i Hanterade identitetstyper.

Förutsättningar

Steg 1: Lägg 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.

Steg 2: Konfigurera master databasen

  1. Öppna SQL Server Management Studio.

  2. Konfigurera SQL Server att använda EKM genom att köra följande Transact-SQL skript:

    -- Enable advanced options.
    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    -- Enable EKM provider
    EXECUTE sp_configure 'EKM provider enabled', 1;
    GO
    
    RECONFIGURE;
    GO
    
  3. Registrera SQL Server Connector som en EKM-provider med SQL Server.

    Skapa en kryptografisk provider med hjälp av SQL Server Connector, som är en EKM-provider för Azure Key Vault. I det här exemplet är providernamnet AzureKeyVault_EKM.

    CREATE CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM
    FROM FILE = 'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll';
    GO
    

    Anmärkning

    Filsökvägslängden får inte överstiga 256 tecken.

Steg 3: Skapa en serverautentiseringsuppgift med hjälp av en hanterad identitet

I följande exempel visas hur du skapar en autentiseringsuppgift för en hanterad identitet som ska användas med Azure Key Vault:

CREATE CREDENTIAL [<akv-name>.vault.azure.net]
    WITH IDENTITY = 'Managed Identity'
    FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;

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 till SQL Server som aktiveras av Azure Arc.

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;

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;
    
  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.

Begränsningar

  • Hanterad identitet på servernivå stöds endast för SQL Server 2025 som aktiveras av Azure Arc 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 kräver den senaste förhandsversionen av SQL Server Connector.