Mejora: compatibilidad con la identidad administrada de Microsoft Entra para las operaciones de copia de seguridad y restauración de bases de datos y para EKM con AKV en SQL Server en máquinas virtuales de Azure
Síntomas
La instancia de SQL Server podría dejar de responder si ejecuta una operación de copia de seguridad o restauración de la base de datos en Azure Storage o usa administración extensible de claves (EKM) con Azure Key Vault (AKV) mediante credenciales de nivel de servidor con identidades administradas. Aunque esta operación no es compatible con SQL Server 2022, la sintaxis T-SQL actual lo permite.
Solución
Este problema se ha corregido en la siguiente actualización acumulativa para SQL Server en máquinas virtuales (VM) de Azure:
Actualización acumulativa 17 para SQL Server 2022
En SQL Server 2022 CU17 y versiones posteriores, la autenticación de identidad administrada de Microsoft Entra con SQL Server en Máquinas virtuales Windows solo admite la credencial de nivel de servidor para las operaciones de copia de seguridad y restauración de bases de datos en Azure Storage y para EKM con AKV.
Para habilitar la compatibilidad de identidad administrada con operaciones de copia de seguridad o restauración de bases de datos para SQL Server en máquinas virtuales Windows de Azure, se requieren los pasos siguientes:
- Asigne la identidad administrada principal para SQL Server en máquinas virtuales Windows de Azure.
- Cree o use Azure Storage con un contenedor de blobs.
- Asigne roles de control de acceso basado en rol (RBAC) para la identidad administrada principal para acceder a Azure Storage.
- Ejecute el comando
CREATE CREDENTIAL
T-SQL con laWITH IDENTITY = 'Managed Identity'
cláusula mediante la dirección URL de Azure Storage como nombre de credencial. - Ejecute el comando
BACKUP DATABASE
T-SQL oRESTORE DATABASE
use la dirección URL de Azure Storage.
-- Create credential with managed identity and credential name set to
-- URL= https://<storageaccountname>.blob.core.windows.net/<container>
CREATE CREDENTIAL [https://<storageaccountname>.blob.core.windows.net/<container>]
WITH IDENTITY = 'Managed Identity'
-- Backup the database mydb to URL
BACKUP DATABASE mydb
TO URL = 'https://<storageaccount>.blob.core.windows.net/<container>/mydb.bak'
-- Restore the database mydb1 from URL
RESTORE DATABASE mydb1
FROM URL ='https://<storageaccount>.blob.core.windows.net/<container>/mydb.bak'
Para más información, consulte Copia de seguridad y restauración en la dirección URL mediante identidades administradas.
Para habilitar la compatibilidad de identidad administrada con EKM con AKV para SQL Server en máquinas virtuales Windows de Azure, se requieren los pasos siguientes:
- Asigne la identidad administrada principal para SQL Server en máquinas virtuales Windows de Azure.
- Cree o use un almacén de claves.
- Asigne roles de control de acceso basado en rol (RBAC) para la identidad administrada principal para acceder a AKV.
- Descargue el Conector de SQL Server para Microsoft Azure Key Vault más reciente (1.0.5.0 (noviembre de 2024) o versiones posteriores). La versión más reciente del conector de SQL Server es necesaria para admitir la identidad administrada.
- Ejecute el comando
CREATE CREDENTIAL
T-SQL con laWITH IDENTITY = 'Managed Identity'
cláusula mediante la ruta de acceso de AKV como nombre de credencial.
-- Create credential with managed identity and the credential name for the AKV called 'contoso'
-- with the AKV path = 'contoso.vault.azure.net'
CREATE CREDENTIAL [contoso.vault.azure.net]
WITH IDENTITY = 'Managed Identity'
FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov
- Ejecute el resto de la configuración de T-SQL de EKM con AKV.
Para más información, consulte Managed Identity Support for Extensible Key Management with Azure Key Vault (Compatibilidad de identidad administrada con administración extensible de claves con Azure Key Vault).
Nota:
- La marca de seguimiento 4675, deshabilitada de forma predeterminada, permite solucionar problemas de las credenciales de nivel de servidor y se puede usar para confirmar la identidad administrada principal asignada a la instancia de SQL Server.
- La compatibilidad con identidades administradas no introduce ningún cambio en la sintaxis T-SQL ni en la vista del sistema, ya que esta funcionalidad ya existe para Azure SQL Instancia administrada.
- Las identidades administradas no se admiten para la credencial de nivel de servidor en SQL Server local. Cuando se usa accidentalmente con la copia de seguridad o restauración en Azure Storage o el EKM con AKV, verá el mensaje de error "La identidad administrada principal no está establecida para el servidor..." y se hace referencia a la documentación pública.
Acerca de las actualizaciones acumulativas de SQL Server
Cada nueva actualización acumulativa de SQL Server contiene todas las revisiones y correcciones de seguridad que se encontraban en la compilación anterior. Se recomienda instalar la compilación más reciente para la versión de SQL Server:
Actualización acumulativa más reciente para SQL Server 2022
Status
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Referencias
- Configuración de identidades administradas en máquinas virtuales (VM) de Azure
- Habilitación de la autenticación de Microsoft Entra para SQL Server en las máquinas virtuales de Azure
- CREATE CREDENTIAL (Transact-SQL)
- Copia de seguridad y restauración en la dirección URL mediante identidades administradas
- Compatibilidad de identidad administrada con administración extensible de claves con Azure Key Vault
- DBCC TRACEON: marcas de seguimiento (Transact-SQL)