Compartir a través de


Cifrado de datos transparente con Base de datos SQL de Azure

Azure SQL Cifrado de datos transparente de base de datos (versión preliminar) ayuda a protegerse contra la amenaza de actividad malintencionada realizando el cifrado y el descifrado en tiempo real de la base de datos, las copias de seguridad asociadas y los archivos de registro de transacciones en reposo sin necesidad de realizar cambios en la aplicación.

TDE cifra el almacenamiento de una base de datos completa mediante el uso de una clave simétrica denominada clave de cifrado de base de datos. En SQL Database la clave de cifrado de base de datos está protegida por un certificado de servidor integrado. El certificado de servidor integrado es único para cada servidor de SQL Database. Si una base de datos está en una relación de GeoDR, está protegido por una clave diferente en cada servidor. Si hay 2 bases de datos conectadas al mismo servidor, comparten el mismo certificado integrado. Microsoft gira automáticamente estos certificados al menos cada 90 días. Para obtener una descripción general del TDE, vea Cifrado de datos transparente (TDE).

Azure SQL Database no admite la integración de Azure Key Vault con TDE. SQL Server que se ejecuta en una máquina virtual de Azure puede usar una clave asimétrica de la Key Vault. Para obtener más información, vea Example A: Transparent Data Encryption by Using an Asymmetric Key from the Key Vault.

Se aplica a: SQL Database V12 (versión preliminar en algunas regiones).

Importante

Actualmente, se trata de una característica de vista previa. Reconozco y acepto que la implementación de SQL Database cifrado de datos transparente en mis bases de datos está sujeta a los términos de versión preliminar de mi contrato de licencia (por ejemplo, el contrato de Enterprise Agreement, el Contrato de Microsoft Azure o el Contrato de suscripción a Microsoft Online), así como a los términos de uso complementarios aplicables para la versión preliminar de Microsoft Azure.

La versión preliminar del estado de TDE se aplica incluso en el subconjunto de regiones geográficas donde la familia de versiones V12 de SQL Database se anuncia como ahora en estado de disponibilidad general. TDE para SQL Database no está pensado para su uso en bases de datos de producción hasta que Microsoft anuncia que TDE se promueve de la versión preliminar a la disponibilidad general. Para obtener más información sobre SQL Database V12, consulte Novedades de Azure SQL Database.

Permisos

Para inscriburse para obtener la vista previa y configurar TDE a través del portal de Azure, mediante la API de REST o mediante PowerShell, debe estar conectado como propietario de Azure, colaborador o administrador de seguridad de SQL.

Para configurar TDE mediante Transact-SQL, es necesario lo siguiente:

  • Debe estar ya registrado para la vista previa de TDE.

  • Para crear la clave de cifrado de base de datos, debe ser administrador de SQL Database o debe ser miembro del rol dbmanager en la base de datos maestra y tener el permiso CONTROL en la base de datos.

  • Para ejecutar la instrucción ALTER DATABASE con la opción SET solo se requiere la pertenencia al rol dbmanager .

Inscríbase en la vista previa de TDE y habilite TDE en una base de datos

  1. Visite Azure Portal en https://portal.azure.com e inicie sesión con su cuenta de administrador o colaborador de Azure.

  2. En el encabezado de la izquierda, haga clic en a EXAMINAR y, a continuación, haga clic en Bases de datos SQL.

  3. Con Bases de datos SQL seleccionado en el panel izquierdo, haga clic en la base de datos de usuario.

  4. En la hoja de la base de datos, haga clic en Toda la configuración.

  5. En la hoja Configuración , haga clic en la parte Cifrado de datos transparente (vista previa) para abrir la hoja VISTA PREVIA de cifrado de datos transparente . Si todavía no está suscrito a la versión preliminar de TDE, se deshabilitará la configuración de cifrado de datos hasta que finalice el registro.

  6. Haga clic en TÉRMINOS DE LA VERSIÓN PRELIMINAR.

  7. Lea los términos de la versión preliminar y, si acepta los términos, active la casilla Cifrado de datos transparenteConfiguración preliminar y, a continuación, haga clic en Aceptar cerca de la parte inferior de la página. Volviendo a la hoja Cifrado de datosPREVIEW , donde ahora debe habilitarse el botón Cifrado de datos .

  8. En la hoja VERSIÓN PRELIMINAR de cifrado de datos , mueva el botón Cifrado de datos a la posición Activado, y, a continuación, haga clic en Guardar (en la parte superior de la página) para aplicar la configuración. El Estado de cifrado aproximará el progreso del cifrado de datos transparente.

    SQLDB_TDE_TermsNewUI SQLDB_TDE_TermsNewUI

    También puede supervisar el progreso del cifrado mediante la conexión a SQL Database mediante una herramienta de consulta como SQL Server Management Studio como usuario de base de datos con el permiso VIEW DATABASE STATE. Consulte la encryption_state columna de la vista sys.dm_database_encryption_keys .

Habilitar TDE en SQL Database mediante Transact-SQL

En los pasos siguientes se supone que ya se ha registrado para la vista previa.

  1. Conéctese a la base de datos mediante un inicio de sesión de administrador o de miembro del rol dbmanager de la base de datos maestra.

  2. Ejecute las siguientes instrucciones para crear una clave de cifrado de base de datos y cifrar la base de datos.

    -- Create the database encryption key that will be used for TDE.
    CREATE DATABASE ENCRYPTION KEY 
    WITH ALGORITHM = AES_256 
    ENCRYPTION BY SERVER CERTIFICATE ##MS_TdeCertificate##;
    
    -- Enable encryption
    ALTER DATABASE [AdventureWorks] SET ENCRYPTION ON;
    GO
    
  3. Para supervisar el progreso del cifrado en SQL Database, los usuarios de base de datos con el permiso VIEW DATABASE STATE pueden consultar la encryption_state columna de la vista sys.dm_database_encryption_keys.

Habilitar TDE en SQL Database mediante PowerShell

Mediante Azure PowerShell puede ejecutar el comando siguiente para activar/desactivar TDE. Es necesario conectar su cuenta a la ventana de PS antes de ejecutar el comando. En los pasos siguientes se supone que ya se ha registrado para la vista previa. Para obtener información adicional acerca de PowerShell, consulte Cómo instalar y configurar Azure PowerShell.

  1. Para habilitar TDE, devuelva el estado de TDE y visualice la actividad de cifrado.

    Switch-AzureMode -Name AzureResourceManager
    Set-AzureSqlDatabaseTransparentDataEncryption -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1" -State "Enabled"
    
    Get-AzureSqlDatabaseTransparentDataEncryption -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1"
    Get-AzureSqlDatabaseTransparentDataEncryptionActivity -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1"
    
  2. Para deshabilitar TDE:

    Set-AzureSqlDatabaseTransparentDataEncryption -ServerName "myserver" -ResourceGroupName "Default-SQL-WestUS" -DatabaseName "database1" -State "Disabled"
    Switch-AzureMode -Name AzureServiceManagement
    

Descifrar una base de datos protegida por TDE en SQL Database

Para deshabilitar TDE mediante Azure Portal

  1. Visite Azure Portal en https://portal.azure.com e inicie sesión con su cuenta de administrador o colaborador de Azure.

  2. En el encabezado de la izquierda, haga clic en a EXAMINAR y, a continuación, haga clic en Bases de datos SQL.

  3. Con Bases de datos SQL seleccionado en el panel izquierdo, haga clic en la base de datos de usuario.

  4. En la hoja de la base de datos, haga clic en Toda la configuración.

  5. En la hoja Configuración , haga clic en la parte Cifrado de datos transparente (vista previa) para abrir la hoja VISTA PREVIA de cifrado de datos transparente .

  6. En la hoja VERSIÓN PRELIMINAR del cifrado de datos transparente , mueva el botón Cifrado de datos a la posición Desactivado, y, a continuación, haga clic en Guardar (en la parte superior de la página) para aplicar la configuración. El Estado de cifrado aproximará el progreso del descifrado de datos transparente.

    También puede supervisar el progreso del descifrado mediante la conexión a SQL Database mediante una herramienta de consulta como Management Studio como usuario de base de datos con el permiso VIEW DATABASE STATE. Consulte la encryption_state columna de la vista sys.dm_database_encryption_keys.

Para deshabilitar TDE mediante Transact-SQL

  1. Conéctese a la base de datos mediante un inicio de sesión de administrador o de miembro del rol dbmanager de la base de datos maestra.

  2. Ejecute las siguientes instrucciones para descifrar la base de datos.

    -- Enable encryption
    ALTER DATABASE [AdventureWorks] SET ENCRYPTION OFF;
    GO
    
  3. Para supervisar el progreso del cifrado en SQL Database, los usuarios de base de datos con el permiso VIEW DATABASE STATE pueden consultar la encryption_state columna de la vista sys.dm_database_encryption_keys.

Trabajar con una base de datos protegida por TDE en SQL Database

No es necesario descifrar las bases de datos para las operaciones dentro de Azure. La configuración de TDE en la base de datos de origen o la base de datos principal se hereda de forma transparente en el destino. Aquí se incluyen operaciones que implican:

  • Restauración geográfica

  • Restauración a un momento dado de autoservicio

  • Restaurar una base de datos eliminada

  • Geo_Replication activa

  • Creación de la copia de una base de datos

Mover una base de datos protegida por TDE mediante archivos .Bacpac

Al exportar una base de datos protegida por TDE mediante la función Exportar base de datos en el Portal de base de datos de Azure SQL o en el Asistente para importación y exportación de SQL Server, el contenido de la base de datos no se cifra. El contenido se almacena en archivos .bacpac que no están cifrados. Asegúrese de proteger adecuadamente los archivos .bacpac y de habilitar TDE una vez completada la importación de la nueva base de datos.

Habilitación de TDE mediante EKM

Consulte también

Cifrado de datos transparente (TDE)CREATE CREDENTIAL (Transact-SQL)CREATE ASYMMETRIC KEY (Transact-SQL)CREATE DATABASE ENCRYPTION KEY (Transact-SQL)ALTER DATABASE (Transact-SQL)Opciones de ALTER DATABASE SET (Transact-SQL)