Rotar el protector del 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)

Este artículo describe la rotación de claves para un servidor SQL que utiliza un protector TDE de Azure Key Vault. Rotar el protector de TDE lógico para un servidor significa cambiar a una nueva clave compatible que protege las bases de datos en el servidor. En función de la configuración, el protector TDE puede estar respaldado por una clave asimétrica (RSA) o simétrica (AES) admitida almacenada en Azure Key Vault o Azure Key Vault HSM administrado. La rotación de claves es una operación en línea y solo debería tardar unos segundos en completarse, porque esta operación solo descifra y vuelve a cifrar la clave de cifrado de datos de la base de datos, no toda la base de datos.

En este artículo se describen los métodos automatizados y manuales para rotar el protector de TDE en el servidor.

Note

Este artículo trata sobre pools SQL dedicados independientes (anteriormente SQL DW). Para los grupos de SQL dedicados de un área de trabajo de Synapse, consulte Cifrado para áreas de trabajo de Azure Synapse Analytics.

Consideraciones importantes

  • Conserva las versiones antiguas de las claves al menos durante el periodo de retención de copias de seguridad de la base de datos. Restaurar una copia de seguridad antigua requiere el protector que la cifró.
  • Conserva las claves antiguas aunque vuelvas a un protector administrado por el servicio.
  • Un pool SQL dedicado pausado debe reanudarse antes de la rotación.
  • El nombre combinado de la bóveda de claves y el nombre clave no pueden superar los 94 caracteres.

Prerequisites

  • Este artículo asume que ya estás usando una clave de Azure Key Vault como protector TDE para Azure SQL Database o Azure Synapse Analytics. Para más información, consulte Customer-managed TDE for Azure Synapse Analytics.
  • Es preciso tener instalado y en ejecución Azure PowerShell.

Tip

[Recomendado pero opcional] Cree primero el material de clave para el protector de TDE en un módulo de seguridad de hardware (HSM) o en un almacén local de claves e importe el material de clave a Azure Key Vault. Para saber más, consulta las instrucciones para usar un módulo de seguridad de hardware (HSM) y Azure Key Vault.

Vaya al portal Azure.

Rotación automática de claves

Activa la rotación automática del protector TDE cuando configures el protector TDE para el servidor o la base de datos. Puedes habilitar la rotación automática desde el portal de Azure o utilizando los siguientes comandos de PowerShell o CLI de Azure. Cuando activas la rotación automática, el servidor o la base de datos revisa continuamente la bóveda de claves en busca de nuevas versiones de la clave utilizada como protector TDE. Si el servidor o la base de datos detecta una nueva versión de la clave, rota automáticamente el protector TDE a la última versión de clave en un plazo de 24 horas.

Utiliza la rotación automática en un servidor, base de datos o instancia gestionada con rotación automática de claves en Azure Key Vault para permitir la rotación totalmente automática de extremo a extremo para las claves TDE.

Azure portal

Mediante Azure Portal:

  1. Vaya a la sección Cifrado de datos transparente para una instancia gestionada o un servidor existente.
  2. Selecciona la opción de clave gestionada por el cliente y selecciona el almacén de claves y la clave para usar como protector TDE.
  3. Active la casilla Rotar automáticamente la clave.
  4. Seleccione Guardar.

PowerShell

Para obtener instrucciones sobre la instalación del módulo Azure PowerShell, consulte Instalación de Azure PowerShell.

Para habilitar la rotación automática del protector TDE usando PowerShell, consulte el siguiente script. Puede recuperar el <keyVaultKeyId> desde Azure Key Vault.

Utilice Set-AzSqlServerTransparentDataEncryptionProtector:

Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault -KeyId <keyVaultKeyId> `
   -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName> `
    -AutoRotationEnabled <boolean>

CLI de Azure

Para información sobre cómo instalar la versión actual de CLI de Azure, consulte Instalar la CLI de Azure.

Para habilitar la rotación automática del protector TDE usando la CLI de Azure, consulte el siguiente script.

Use :

az sql server tde-key set --server-key-type AzureKeyVault
                          --auto-rotation-enabled true
                          [--kid] <keyVaultKeyId>
                          [--resource-group] <SQLDatabaseResourceGroupName> 
                          [--server] <logicalServerName>

Rotación manual de claves

La rotación de claves manual usa los siguientes comandos para agregar una clave nueva, que podría estar bajo un nuevo nombre de clave o incluso en otra bóveda de claves. También puedes usar el portal de Azure para rotar las claves manualmente.

Cuando rotas manualmente las claves y creas una nueva versión de clave en Key Vault (ya sea manualmente o mediante una política automática de rotación de claves), debes establecer manualmente esa versión como protector TDE en el servidor.

Note

La longitud combinada del nombre de la bóveda de claves y del nombre clave no puede superar los 94 caracteres.

Azure portal

  1. Abra Transparent data encryption en el servidor SQL.
  2. Seleccione Clave administrada por el cliente.
  3. Selecciona la opción Clave administrada por el cliente y selecciona la instancia de Key Vault y la clave que se usarán como nuevo protector de TDE.
  4. Seleccione Guardar.

PowerShell

Use el comando Add-AzKeyVaultKey para agregar una nueva clave al almacén de claves.

# add a new key to Azure Key Vault
Add-AzKeyVaultKey -VaultName <keyVaultName> -Name <keyVaultKeyName> -Destination <hardwareOrSoftware>

Use los comandos siguientes:


# add the new key from Azure Key Vault to the server
Add-AzSqlServerKeyVaultKey -KeyId <keyVaultKeyId> -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
  
# set the key as the TDE protector for all resources under the server
Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault -KeyId <keyVaultKeyId> `
   -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>

CLI de Azure

Use el comando az keyvault key create para agregar una nueva clave al almacén de claves.

# add a new key to Azure Key Vault
az keyvault key create --name <keyVaultKeyName> --vault-name <keyVaultName> --protection <hsmOrSoftware>

Use los comandos siguientes:

# add the new 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>

Cambio de modo del protector de TDE

Azure portal

Utiliza el portal de Azure para cambiar el protector TDE de Microsoft-managed a modo BYOK:

  1. Vaya al menú Cifrado de datos transparente para una instancia gestionada o un servidor existente.
  2. Seleccione la opción Clave administrada por el cliente.
  3. Seleccione el almacén de claves y la clave que se utilizará como protector de TDE.
  4. Seleccione Guardar.

PowerShell

  • Para cambiar el protector de TDE del modo administrado por Microsoft a BYOK, use el comando Set-AzSqlServerTransparentDataEncryptionProtector.

    Set-AzSqlServerTransparentDataEncryptionProtector -Type AzureKeyVault `
         -KeyId <keyVaultKeyId> -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
    
  • Para cambiar el protector de TDE del modo BYOK al administrado por Microsoft, use el comando Set-AzSqlServerTransparentDataEncryptionProtector.

    Set-AzSqlServerTransparentDataEncryptionProtector -Type ServiceManaged `
         -ServerName <logicalServerName> -ResourceGroup <SQLDatabaseResourceGroupName>
    

CLI de Azure

En los ejemplos siguientes se usa az sql server tde-key set.

  • Para cambiar el protector de TDE del modo administrado de Microsoft a BYOK:

    az sql server tde-key set --server-key-type AzureKeyVault --kid <keyVaultKeyId> --resource-group <SQLDatabaseResourceGroupName> --server <logicalServerName>
    
  • Para cambiar el protector de TDE del modo BYOK a administrado por Microsoft:

    az sql server tde-key set --server-key-type ServiceManaged --resource-group <SQLDatabaseResourceGroupName> --server <logicalServerName>