Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: grupos de SQL dedicados de Azure Synapse Analytics (anteriormente SQL DW)
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.
Este artículo explica cómo utilizar una clave de Azure Key Vault para el cifrado transparente de datos (TDE) en Azure Synapse Analytics. Para obtener más información sobre TDE con la integración de Azure Key Vault - compatibilidad con Traiga su propia clave (BYOK), visite TDE with customer-managed keys in Azure Key Vault (TDE con claves administradas por el cliente de Azure Key Vault).
Note
Este artículo trata sobre pools SQL dedicados independientes (anteriormente SQL DW).
- Para los pools SQL dedicados de Azure Synapse Analytics (anteriormente SQL DW), configura el protector TDE a nivel de servidor. Todas las bases de datos cifradas asociadas a ese servidor heredan el protector TDE.
- Cifra los datos en pools SQL dedicados y pools SQL serverless en un espacio de trabajo Synapse usando la clave gestionada por el cliente configurada a nivel de espacio de trabajo. Para obtener más información sobre el cifrado de datos transparente para pools de SQL dedicados dentro de áreas de trabajo de Synapse, consulte Cifrado de Azure Synapse Analytics.
Requisitos previos para PowerShell
- Debe tener una suscripción de Azure y ser un administrador en esa suscripción.
- [Recomendado, pero opcional] Debe tener un módulo de seguridad de hardware (HSM) o un almacén de claves locales para crear una copia local del material de claves del protector de TDE.
- Es preciso tener instalado y en ejecución Azure PowerShell.
- Cree una instancia de Azure Key Vault y una clave para usar para TDE.
-
Instrucciones para usar un módulo de seguridad de hardware (HSM) y Azure Key Vault
- El almacén de claves debe tener la siguiente propiedad que se usará para TDE:
- eliminación temporal y protección de purgas
-
Instrucciones para usar un módulo de seguridad de hardware (HSM) y Azure Key Vault
- La clave debe tener los siguientes atributos que se usarán para TDE:
- La fecha de activación (si se establece) debe ser una fecha y hora del pasado
- La fecha de expiración (si se establece) debe ser una fecha y hora del futuro
- El estado de la clave debe ser Habilitada
- Poder realizar las operaciones get, wrap key, unwrap key
- Para usar una clave HSM administrada de Azure Key Vault, siga las instrucciones para crear y activar un HSM administrado mediante CLI de Azure
Para obtener instrucciones sobre la instalación del módulo Azure PowerShell, consulte Instalación de Azure PowerShell.
Para obtener información específica sobre Azure Key Vault, consulte las instrucciones de PowerShell desde Azure Key Vault y cómo usar la eliminación temporal de Azure Key Vault con PowerShell.
Asignación de una identidad de Microsoft Entra al servidor
Si tienes un servidor existente, utiliza las siguientes instrucciones para añadir una identidad Microsoft Entra a tu servidor:
$server = Set-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName> -AssignIdentity
Si estás creando un servidor, usa el cmdlet New-AzSqlServer con la -Identity etiqueta para añadir una identidad Microsoft Entra durante la creación del servidor:
$server = New-AzSqlServer -ResourceGroupName <SQLDatabaseResourceGroupName> -Location <RegionName> `
-ServerName <LogicalServerName> -ServerVersion "12.0" -SqlAdministratorCredentials <PSCredential> -AssignIdentity
Concesión de permisos de Azure Key Vault al servidor
Utilice el cmdlet Set-AzKeyVaultAccessPolicy para conceder al servidor acceso al almacén de claves antes de usar una clave para TDE.
Set-AzKeyVaultAccessPolicy -VaultName <KeyVaultName> `
-ObjectId $server.Identity.PrincipalId -PermissionsToKeys get, wrapKey, unwrapKey
Para añadir permisos a tu servidor en un HSM gestionado, añade el rol RBAC local Managed HSM Crypto Service Encryption User al servidor. Este rol permite al servidor realizar get, wrap key, y unwrap key operaciones sobre las claves en el HSM gestionado. Para obtener más información, consulte Administración de roles HSM administrados.
Agregue la clave de Azure Key Vault al servidor y establezca el protector de TDE.
- Use el cmdlet Get-AzKeyVaultKey para recuperar el identificador de clave del almacén de claves.
- Use el cmdlet Add-AzSqlServerKeyVaultKey para agregar la clave de Azure Key Vault al servidor.
- Utilice el cmdlet Set-AzSqlServerTransparentDataEncryptionProtector para establecer la clave como protector de TDE para todos los recursos del servidor.
- Utilice el cmdlet Get-AzureRmSqlServerTransparentDataEncryptionProtector para confirmar que el protector de TDE se ha configurado según lo previsto.
Note
En el caso de las claves HSM administradas, use la versión Az.Sql 2.11.1 de PowerShell o posterior.
Note
La longitud combinada del nombre de la bóveda de claves y del nombre clave no puede superar los 94 caracteres.
Tip
Uso de claves con versión de Azure Key Vault para TDE
Al configurar el protector TDE, haz referencia a una clave de Azure Key Vault usando una versión específica de clave.
Example:
Identificador de clave que incluye una versión específica
https://<key-vault-name>.vault.azure.net/keys/<key-name>/<key-version>
# 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>
# confirm the TDE protector was configured as intended
Get-AzSqlServerTransparentDataEncryptionProtector -ResourceGroupName <SQLDatabaseResourceGroupName> -ServerName <LogicalServerName>
Activar TDE
Utilice el cmdlet Set-AzSqlDatabaseTransparentDataEncryption para activar el TDE.
Set-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> -State "Enabled"
Ahora la base de datos o el almacenamiento de datos tiene TDE habilitado con una clave de cifrado en Azure Key Vault.
Comprobar el estado de cifrado y la actividad de cifrado
Use Get-AzSqlDatabaseTransparentDataEncryption para obtener el estado de cifrado de una base de datos o almacenamiento de datos.
# get the encryption state of the database
Get-AzSqlDatabaseTransparentDataEncryption -ResourceGroupName <SQLDatabaseResourceGroupName> `
-ServerName <LogicalServerName> -DatabaseName <DatabaseName> `
Cmdlets de PowerShell útiles
Utilice el cmdlet Set-AzSqlDatabaseTransparentDataEncryption para desactivar TDE.
Set-AzSqlDatabaseTransparentDataEncryption -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName> ` -DatabaseName <DatabaseName> -State "Disabled"Use el cmdlet Get-AzSqlServerKeyVaultKey para devolver la lista de claves de Azure Key Vault agregadas al servidor.
# KeyId is an optional parameter, to return a specific key version Get-AzSqlServerKeyVaultKey -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>Utilice el comando Remove-AzSqlServerKeyVaultKey para eliminar una clave de Azure Key Vault del servidor.
# the key set as the TDE Protector cannot be removed Remove-AzSqlServerKeyVaultKey -KeyId <KeyVaultKeyId> -ServerName <LogicalServerName> -ResourceGroupName <SQLDatabaseResourceGroupName>
Troubleshooting
Si no se encuentra Key Vault, asegúrate de estar en la suscripción correcta.
Get-AzSubscription -SubscriptionId <SubscriptionId>
Si no puedes añadir la nueva clave al servidor, o si no puedes actualizar la nueva clave como protector de TDE, comprueba las siguientes condiciones:
- La clave no debería tener fecha de caducidad.
- La clave debe tener las operaciones get, wrap key y unwrap key.
Contenido relacionado
- Para aprender cómo rotar el TDE Protector de un servidor para cumplir con los requisitos de seguridad, consulte Rotar el protector Cifrado de datos transparente usando PowerShell.
- Para saber cómo quitar un protector de TDE potencialmente comprometido, consulte Quitar una clave potencialmente comprometida.