Elimina un protector de Cifrado de datos transparente en Azure Synapse Analytics

Tip

Microsoft Fabric Data Warehouse es un almacenamiento relacional de escala empresarial en una base de lago de datos, con una arquitectura lista para el futuro, inteligencia artificial integrada y nuevas características. Si no está familiarizado con el almacenamiento de datos, comience con Fabric Data Warehouse. Las cargas de trabajo del grupo dedicado de SQL pueden actualizarse a Fabric para acceder a funcionalidades avanzadas en ciencia de datos, análisis en tiempo real e informes.

Se aplica a: grupos de SQL dedicados de Azure Synapse Analytics (anteriormente SQL DW)

Utiliza este procedimiento cuando un protector TDE gestionado por el cliente pueda verse comprometido. Rote a un nuevo protector antes de eliminar o deshabilitar la clave anterior para que los grupos de SQL dedicados sigan siendo accesibles.

Caution

Eliminar o desactivar un protector TDE activo hace que cada pool SQL dedicado que dependa de él sea inaccesible. Revisa el plan de respuesta a incidentes y los requisitos de retención de respaldo antes de retirar una clave de acceso.

Note

Este artículo trata sobre pools SQL dedicados independientes (anteriormente SQL DW). Para grupos de SQL dedicados en un espacio de trabajo de Synapse, véase Cifrado para espacios de trabajo de Azure Synapse Analytics.

Eliminar una clave no invalida copias de esa clave que previamente se habían respaldado o restaurado en otro almacén de claves. Protege y haz inventario de cada copia como parte de la respuesta al incidente.

Prerequisites

Comprobar las huellas digitales del protector de TDE

Los siguientes pasos explican cómo comprobar las huellas digitales protectoras de TDE que los Archivos de Registro Virtuales (VLF) de una base de datos dada aún utilizan.

Ejecute la siguiente consulta para encontrar la huella digital del protector TDE actual para la base de datos y el ID de la base de datos:

SELECT [database_id],
       [encryption_state],
       [encryptor_type], /*asymmetric key means Azure Key Vault, certificate means service-managed keys*/
       [encryptor_thumbprint]
 FROM [sys].[dm_database_encryption_keys]

Ejecuta la siguiente consulta para mostrar los VLF y las huellas digitales del protector de TDE que están en uso. Cada huella digital diferente se refiere a una clave distinta en Azure Key Vault:

SELECT * FROM sys.dm_db_log_info (database_id)

Como alternativa, puede usar PowerShell o la CLI de Azure:

  • El comando Get-AzSqlServerKeyVaultKey PowerShell proporciona la huella digital del protector TDE usado en la consulta, para que puedas ver qué claves conservar y cuáles eliminar en Azure Key Vault. Solo las claves que la base de datos ya no utiliza pueden eliminarse de forma segura de Azure Key Vault.

  • El comando az sql server key show CLI de Azure proporciona la huella digital del protector TDE usado en la consulta, así que puedes ver qué claves conservar y cuáles eliminar en Azure Key Vault. Solo las claves que la base de datos ya no utiliza pueden eliminarse de forma segura de Azure Key Vault.

Mantener accesibles los recursos cifrados

PowerShell

  1. Crear una nueva clave en Azure Key Vault. Asegúrate de crear esta nueva clave en un bóveda de claves separado del protector TDE potencialmente comprometido, ya que el control de acceso se provisiona a nivel de bóveda.

  2. Añade la nueva clave al servidor usando los cmdlets Add-AzSqlServerKeyVaultKey y Set-AzSqlServerTransparentDataEncryptionProtector , y actualízala como el nuevo protector TDE del servidor.

    # add the key from Azure Key Vault to the server  
    Add-AzSqlServerKeyVaultKey -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> -KeyId <KeyVaultKeyId>
    
    # set the key as the TDE protector for all resources under the server
    Set-AzSqlServerTransparentDataEncryptionProtector -ResourceGroupName <SQLDatabaseResourceGroupName> `
        -ServerName <LogicalServerName> -Type AzureKeyVault -KeyId <KeyVaultKeyId>
    
  3. Asegúrate de que el servidor y cualquier réplica se actualicen al nuevo protector TDE usando el cmdlet Get-AzSqlServerTransparentDataEncryptionProtector .

    Note

    El nuevo protector de TDE puede tardar unos minutos en propagarse a todas las bases de datos y a las bases de datos secundarias del servidor.

    Get-AzSqlServerTransparentDataEncryptionProtector -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
    
  4. Realice una copia de seguridad de la nueva clave en Azure Key Vault.

    # -OutputFile parameter is optional; if removed, a file name is automatically generated.
    Backup-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName> -OutputFile <DesiredBackupFilePath>
    
  5. Elimina la clave comprometida de Azure Key Vault usando el cmdlet Remove-AzKeyVaultKey.

    Remove-AzKeyVaultKey -VaultName <KeyVaultName> -Name <KeyVaultKeyName>
    
  6. Para restaurar una clave en Azure Key Vault en el futuro, use el cmdlet Restore-AzKeyVaultKey .

    Restore-AzKeyVaultKey -VaultName <KeyVaultName> -InputFile <BackupFilePath>
    

CLI de Azure

Para obtener referencia de comandos, consulte Keyvault de la CLI de Azure.

  1. Crear una nueva clave en Azure Key Vault. Asegúrate de crear esta nueva clave en un bóveda de claves separado del protector TDE potencialmente comprometido, ya que el control de acceso se provisiona a nivel de bóveda.

  2. Agregue la nueva clave al servidor y actualícela como nuevo protector de TDE del servidor.

    # add the key from Azure Key Vault to the server  
    az sql server key create --kid <KeyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <LogicalServerName>
    
    # set the key as the TDE protector for all resources under the server
    az sql server tde-key set --server-key-type AzureKeyVault --kid <KeyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <LogicalServerName>
    
  3. Asegúrate de que el servidor y cualquier réplica se actualicen al nuevo protector TDE.

    Note

    El nuevo protector de TDE puede tardar unos minutos en propagarse a todas las bases de datos y a las bases de datos secundarias del servidor.

    az sql server tde-key show --resource-group <SQLDatabaseResourceGroupName> --server <LogicalServerName>
    
  4. Realice una copia de seguridad de la nueva clave en Azure Key Vault.

    # --file parameter is optional; if removed, a file name is automatically generated.
    az keyvault key backup --file <DesiredBackupFilePath> --name <KeyVaultKeyName> --vault-name <KeyVaultName>
    
  5. Elimine la clave en peligro de Azure Key Vault.

    az keyvault key delete --name <KeyVaultKeyName> --vault-name <KeyVaultName>
    
  6. Restaurar una clave en Azure Key Vault en el futuro.

    az keyvault key restore --file <BackupFilePath> --vault-name <KeyVaultName>
    

Convertir los recursos cifrados en inaccesibles

  1. Elimina las bases de datos que usan la clave potencialmente comprometida para cifrado.

    El sistema hace automáticamente copias de seguridad de la base de datos y los archivos de registro, por lo que puedes realizar una restauración puntual de la base de datos en cualquier momento (siempre que proporciones la clave). Elimina las bases de datos antes de eliminar un protector TDE activo para evitar una posible pérdida de datos de hasta 10 minutos de las transacciones más recientes.

  2. Realice una copia de seguridad del material de clave del protector de TDE en Azure Key Vault.

  3. Quite la clave potencialmente comprometida de Azure Key Vault.

Note

Puede que los cambios de permisos en el almacén de claves tarden unos 10 minutos en hacer efecto. Este tiempo incluye la revocación de los permisos de acceso al protector de TDE en AKV, y es posible que los usuarios aún tengan permisos de acceso.