Compartir a través de


Compatibilidad de identidad administrada con administración extensible de claves con Azure Key Vault

Se aplica a: SQL Server 2025 (17.x)

En este artículo se muestra cómo usar identidades administradas para administración extensible de claves (EKM) con Azure Key Vault (AKV) en SQL Server habilitado por Azure Arc.

Información general

A partir de SQL Server 2025 (17.x), las identidades administradas se admiten para EKM con AKV y módulos de seguridad de hardware administrado (HSM) en SQL Server habilitados por Azure Arc. Las identidades administradas son el método de autenticación recomendado para permitir que distintos servicios de Azure autentiquen el recurso de SQL Server habilitado por Azure Arc sin usar contraseñas ni secretos. Para más información sobre las identidades administradas, consulte Tipos de identidad administrada.

Prerrequisitos

Paso 1: Agregar clave del Registro para el proveedor EKM

Para poder crear una credencial mediante una identidad administrada, debe agregar una clave del Registro para permitir que el proveedor EKM use identidades administradas. El administrador del equipo debe realizar este paso. Para ver los pasos detallados, consulte Paso 4: Agregar clave del Registro para admitir el proveedor EKM.

Paso 2: Configurar la master base de datos

  1. Abre SQL Server Management Studio.

  2. Ejecute el script Transact-SQL siguiente para configurar SQL Server con el fin de usar EKM:

    -- 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. Registre el Conector de SQL Server como proveedor EKM con SQL Server.

    Cree un proveedor de servicios criptográficos mediante el Conector de SQL Server, que es un proveedor EKM para Azure Key Vault. En este ejemplo, el nombre del proveedor es 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
    

    Nota:

    La ruta de acceso al archivo no puede tener una longitud superior a 256 caracteres.

Paso 3: Creación de una credencial de servidor mediante una identidad administrada

En el ejemplo siguiente se muestra cómo crear una credencial para una identidad administrada que se va a usar con Azure Key Vault:

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

Para comprobar el nombre de AKV, consulte sys.credentials:

SELECT name, credential_identity
FROM sys.credentials;

La WITH IDENTITY = 'Managed Identity' cláusula requiere una identidad administrada principal asignada a SQL Server habilitada por Azure Arc.

Para más información sobre cómo configurar EKM con AKV, consulte Configuración de la administración extensible de claves de TDE de SQL Server mediante Azure Key Vault.

Creación de una credencial para usarla con módulos de seguridad de hardware administrado (HSM)

Para crear una credencial para usarla con módulos de seguridad de hardware administrado (HSM) de Azure Key Vault, use la sintaxis siguiente:

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

Para más información sobre cómo configurar EKM con AKV, consulte Configuración de la administración extensible de claves de TDE de SQL Server mediante Azure Key Vault.

Comandos de T-SQL para actualizar la configuración de EKM existente para usar identidades administradas

Si la configuración actual usa EKM con AKV mediante un secreto, deberá quitar la credencial existente y crear una nueva credencial mediante una identidad administrada. Los siguientes comandos de T-SQL muestran cómo actualizar la configuración de EKM existente para usar identidades administradas:

  1. Cree la credencial mediante una identidad administrada:

    CREATE CREDENTIAL [<akv-name>.vault.azure.net]
        WITH IDENTITY = 'Managed Identity'
        FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;
    
  2. Si hay una credencial con un secreto asociado al inicio de sesión del dominio de administración de SQL Server, quite la credencial existente:

    ALTER LOGIN [<domain>\<login>]
    DROP CREDENTIAL [<existing-credential-name>];
    
  3. Asocie la nueva credencial al inicio de sesión del dominio de administración de SQL Server:

    ALTER LOGIN [<domain>\<login>]
    ADD CREDENTIAL [<akv-name>.vault.azure.net];
    

Puede comprobar la vista de base de datos cifrada para comprobar el cifrado de la base de datos mediante la consulta siguiente:

SELECT *
FROM sys.dm_database_encryption_keys
WHERE database_id = db_id('<your-database-name>');

Para más información sobre cómo configurar EKM con AKV, consulte Configuración de la administración extensible de claves de TDE de SQL Server mediante Azure Key Vault.

Mensajes de error

marca de seguimiento 4675 se puede usar para comprobar las credenciales creadas con una identidad administrada. Si la instrucción CREATE CREDENTIAL se ejecutó sin el indicador de rastreo 4675 activado, no se emite ningún mensaje de error si la identidad administrada principal no está configurada para el servidor. Para solucionar este escenario, la credencial se debe eliminar y volver a crear una vez habilitada la marca de seguimiento.

Limitaciones

  • La identidad administrada de nivel de servidor solo se admite para SQL Server 2025 habilitado por Azure Arc y no en SQL Server local. La identidad administrada de nivel de servidor no se admite para Linux.
  • La compatibilidad con identidad administrada para EKM con AKV requiere la versión preliminar más reciente del conector de SQL Server.