Migración a La Cumbre de innovación:
Obtenga información sobre cómo migrar y modernizar a Azure puede aumentar el rendimiento, la resistencia y la seguridad de su empresa, lo que le permite adoptar completamente la inteligencia artificial.Regístrese ahora
Este explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Al migrar una base de datos protegida mediante Cifrado de datos transparente (TDE) a Azure SQL Managed Instance con la opción de restauración nativa, se debe migrar el certificado correspondiente de la instancia de SQL Server antes de restaurar la base de datos. Este artículo le guía en el proceso de migración manual del certificado a Instancia administrada de Azure SQL:
Exportación del certificado a un archivo de intercambio de información personal (.pfx)
Extracción del certificado del archivo a una cadena de base 64
Carga del archivo mediante un cmdlet de PowerShell
El certificado migrado se usa únicamente para la restauración de la base de datos protegida por TDE. Poco después de que se realice la restauración, el certificado migrado se reemplaza por un protector diferente, ya sea un certificado administrado por el servicio o una clave asimétrica del almacén de claves, según el tipo de TDE que haya establecido en la instancia.
Requisitos previos
Para completar los pasos de este artículo, necesitará lo siguiente:
Tener instalada la herramienta de la línea de comandos Pvk2Pfx en el servidor local o en otro equipo con acceso al certificado exportado como un archivo. La herramienta Pvk2Pfx forma parte del kit de controladores de Windows para empresa, un entorno de línea de comandos autocontenido.
En este artículo se usa el módulo Az de PowerShell, que es el módulo de PowerShell que se recomienda para interactuar con Azure. Para empezar a trabajar con el módulo Az de PowerShell, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.
Importante
El módulo de Azure Resource Manager (AzureRM) de PowerShell ha quedado en desuso el 29 de febrero de 2024. Todo el desarrollo futuro debe usar el módulo Az.Sql. Se recomienda a los usuarios migrar de AzureRM al módulo de Az PowerShell para garantizar la compatibilidad y las actualizaciones continuas. El módulo AzureRM ya no se mantiene ni recibe soporte. Los argumentos de los comandos del módulo Az PowerShell y en los módulos AzureRM son sustancialmente idénticos. Para obtener más información sobre su compatibilidad, consulte Introducción al nuevo módulo de Az PowerShell.
Ejecute los comandos siguientes de PowerShell para instalar o actualizar el módulo:
Exportación del certificado de TDE a un archivo .pfx
El certificado se puede exportar directamente desde la instancia de SQL Server de origen o desde el almacén de certificados, si se conserva ahí.
Exportación del certificado desde la instancia de SQL Server de origen
Siga estos pasos para exportar el certificado con SQL Server Management Studio y convertirlo a formato .pfx. En los pasos se usan los nombres genéricos TDE_Cert y full_path para los nombres de certificados y archivos y las rutas de acceso. Estos se deben reemplazar por los nombres reales.
En SSMS, abra una nueva ventana de consulta y conéctese a la instancia de SQL Server de origen.
Use el siguiente script para enumerar las bases de datos protegidas por TDE y obtener el nombre del certificado que protege el cifrado de la base de datos que se va a migrar:
SQL
USEmasterGOSELECT db.name as [database_name], cer.name as [certificate_name]
FROM sys.dm_database_encryption_keys dek
LEFTJOIN sys.certificates cer
ON dek.encryptor_thumbprint = cer.thumbprint
INNERJOIN sys.databases db
ON dek.database_id = db.database_id
WHERE dek.encryption_state = 3
Ejecute el script siguiente para exportar el certificado a un par de archivos (.cer y .pvk), y mantener así la información de clave pública y privada:
Use la consola de PowerShell para copiar la información del certificado de un par de archivos recién creados a un archivo .pfx, mediante la herramienta Pvk2Pfx:
Comience con los pasos de preparación de PowerShell:
Azure PowerShell
# import the module into the PowerShell sessionImport-Module Az
# connect to Azure with an interactive dialog for sign-inConnect-AzAccount# list subscriptions available and copy id of the subscription target the managed instance belongs toGet-AzSubscription# set subscription for the sessionSelect-AzSubscription <subscriptionId>
Una vez realizados todos los pasos de preparación, ejecute los siguientes comandos para cargar el certificado codificado en base 64 en la instancia administrada de destino:
Azure PowerShell
# If you are using PowerShell 6.0 or higher, run this command:$fileContentBytes = Get-Content'C:/full_path/TDE_Cert.pfx' -AsByteStream# If you are using PowerShell 5.x, uncomment and run this command instead of the one above:# $fileContentBytes = Get-Content 'C:/full_path/TDE_Cert.pfx' -Encoding Byte$base64EncodedCert = [System.Convert]::ToBase64String($fileContentBytes)
$securePrivateBlob = $base64EncodedCert | ConvertTo-SecureString -AsPlainText -Force$password = "<password>"$securePassword = $password | ConvertTo-SecureString -AsPlainText -ForceAdd-AzSqlManagedInstanceTransparentDataEncryptionCertificate -ResourceGroupName"<resourceGroupName>" `
-ManagedInstanceName"<managedInstanceName>" -PrivateBlob$securePrivateBlob -Password$securePassword
El certificado ya está disponible en la instancia administrada especificada, y la copia de seguridad de la base de datos protegida por TDE correspondiente se puede restaurar correctamente.
Nota
El certificado cargado no se ve en la vista de catálogo sys.certificates. Para confirmar la carga correcta del certificado, puede ejecutar el comando RESTORE FILELISTONLY.
Pasos siguientes
En este artículo, aprendió a migrar un certificado que protege la clave de cifrado de una base de datos con Cifrado de datos transparente, desde la instancia de SQL Server local o desde IaaS a Azure SQL Managed Instance.
Descubra las herramientas y características disponibles para migrar cargas de trabajo de SQL desde el entorno local a Azure Virtual Machines (VM), incluida la extensión de migración de Azure SQL para Azure Data Studio y Data Migration Assistant.
Administre una infraestructura de base de datos de SQL Server para bases de datos relacionales locales e híbridas en la nube mediante las ofertas de bases de datos relacionales PaaS de Microsoft.
Aprenda a migrar bases de datos habilitadas para TDE (cifrado de datos transparente) (versión preliminar) de SQL Server a Azure SQL con el uso de Azure Data Studio y Azure Database Migration Service.
Aprenda a responder a un protector de TDE potencialmente en peligro en Azure SQL Database o Azure Synapse Analytics mediante TDE con compatibilidad con Bring Your Own Key (BYOK).
Aprenda a automatizar la configuración de cifrado de SQL Server para su uso con Azure Key Vault. En este tema se explica cómo usar la integración de Azure Key Vault con máquinas virtuales de SQL creadas con Resource Manager.