Compartir vía


Configuración del cifrado de columna mediante Always Encrypted con un paquete DAC

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance

Un paquete de aplicación de capa de datos (DAC), también conocido como DACPAC, es una unidad portátil de implementación de bases de datos de SQL Server que define todos los objetos de SQL Server, incluidas las tablas y las columnas que contienen. Al publicar un DACPAC en una base de datos (cuando se actualiza una base de datos mediante un DACPAC), el esquema de la base de datos de destino se actualiza para que coincida con el esquema del DACPAC. Puede publicar un DACPAC mediante el Asistente para actualizar la aplicación de capa de datos en SQL Server Management Studio, PowerShell o sqlpackage.

En este artículo se abordan las consideraciones especiales que hay que tener en cuenta para actualizar una base de datos cuando el DACPAC o la base de datos de destino contienen columnas protegidas con Always Encrypted. Si el esquema de cifrado de una columna del DACPAC difiere del esquema de cifrado de una columna existente en la base de datos de destino, cuando se publica el DACPAC, se cifran, se descifran o se vuelven a cifrar los datos almacenados en la columna. Consulte la tabla siguiente para obtener más información.

Condición Action
La columna está cifrada en el DACPAC y no está cifrada en la base de datos. Los datos de la columna se cifrarán.
La columna no está cifrada en el DACPAC y está cifrada en la base de datos. Los datos de la columna se descifrarán (se quitará el cifrado de la columna).
La columna está cifrada en el DACPAC y en la base de datos, pero la columna del DACPAC usa un tipo de cifrado diferente o una clave de cifrado de columnas diferentes de los que usa la columna correspondiente de la base de datos. Los datos de la columna se descifrarán y luego se volverán a cifrar para que coincida con la configuración de cifrado del DACPAC.

La implementación de un paquete DAC también puede dar lugar a la creación o la eliminación de objetos de metadatos para las claves maestras de columna o las claves de cifrado de columna para Always Encrypted.

Consideraciones sobre el rendimiento

Para realizar operaciones criptográficas, la herramienta que se use para implementar un DACPAC debe trasladar los datos fuera de la base de datos. La herramienta crea una tabla (o varias) con la configuración de cifrado deseada en la base de datos, carga todos los datos de las tablas originales, realiza las operaciones criptográficas solicitadas, carga los datos en las nuevas tablas y, después, intercambia las tablas originales por las nuevas. La ejecución de operaciones criptográficas puede llevar mucho tiempo. Durante ese tiempo, la base de datos no está disponible para escribir transacciones.

Nota:

Si usa SQL Server 2019 (15.x) y su instancia de SQL Server está configurada con un enclave seguro, puede ejecutar las operaciones criptográficas en contexto, sin sacar los datos de la base de datos. Vea Configuración del cifrado de columnas en contexto mediante Always Encrypted con enclaves seguros. Tenga en cuenta que el cifrado en contexto no está disponible para las implementaciones de DACPAC.

Permisos para publicar un paquete DAC si Always Encrypted está configurado

Para publicar un paquete DAC si Always Encrypted está configurado en el DACPAC o en la base de datos de destino, podría necesitar algunos de los permisos siguientes o todos, en función de las diferencias que existan entre el esquema del DACPAC y el esquema de la base de datos de destino.

ALTER ANY COLUMN MASTER KEY, ALTER ANY COLUMN ENCRYPTION KEY, VIEW ANY COLUMN MASTER KEY DEFINITION, VIEW ANY COLUMN ENCRYPTION KEY DEFINITION

Si la operación de actualización desencadena una operación de cifrado de datos, también necesita permisos de almacén de claves para acceder a la clave maestra de columna y usarla. Para obtener información detallada sobre los permisos de almacén de claves, vaya a Creación y almacenamiento de claves maestras de columna para Always Encrypted y busque la sección correspondiente a su almacén de claves.

Pasos siguientes

Consulte también