Compartir a través de


Identidades administradas para el cifrado de datos transparente con la clave administrada por el cliente

Se aplica a:Azure SQL DatabaseAzure SQL Managed Instance

Microsoft Entra ID anteriormente Azure Active Directory proporciona automáticamente una identidad administrada para autenticarse en cualquier servicio de Azure que admita la autenticación de Microsoft Entra, como Azure Key Vault, sin exponer las credenciales en el código. Para más información, vea Tipos de identidad administrada en Azure.

Las identidades administradas pueden ser de dos tipos:

  • Asignada por el sistema
  • Asignada por el usuario:

Para más información, vea Identidades administradas en Microsoft Entra ID para Azure SQL.

Para TDE con clave administrada por el cliente (CMK) en Azure SQL, se usa una identidad administrada en el servidor para proporcionar derechos de acceso al servidor en el almacén de claves o HSM administrado. Por ejemplo, la identidad administrada asignada por el sistema del servidor debe proporcionarse con permisos de Azure Key Vault antes de habilitar TDE con CMK en el servidor.

Además de la identidad administrada asignada por el sistema, que ya se utiliza para TDE con CMK, también se puede usar una identidad administrada asignada por el usuario (UMI) al servidor para que pueda acceder al almacén de claves o al HSM gestionado. Un requisito previo para habilitar el acceso al almacén de claves o HSM administrado es asegurarse de que a la identidad administrada asignada al usuario se le hayan otorgado los permisos Get, wrapKey y unwrapKey en el almacén de claves o HSM administrado. Dado que la identidad administrada asignada por el usuario es un recurso independiente que se puede crear y conceder acceso al almacén de claves o al HSM administrado, el TDE con una clave administrada por el cliente ahora se puede habilitar en tiempo de creación para el servidor o la base de datos.

Nota

Para asignar una identidad administrada asignada por el usuario al servidor lógico o a la instancia administrada, un usuario debe tener el rol de Azure RBAC Colaborador de SQL Server o Colaborador de SQL Managed Instance junto con cualquier otro rol de Azure RBAC que contenga la acción Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action.

Ventajas de usar UMI para TDE administrado por el cliente

  • Permite autorizar previamente el acceso del almacén de claves o HSM administrado para servidores lógicos de Azure SQL o Instancias administradas de Azure SQL mediante la creación de una identidad administrada asignada por el usuario y la concesión de acceso al almacén de claves o HSM administrado, incluso antes de que se haya creado el servidor o la base de datos.

  • Permite la creación de un servidor lógico de Azure SQL con TDE y CMK habilitados.

  • Permite asignar la misma identidad administrada asignada por el usuario a varios servidores, lo que elimina la necesidad de activar individualmente la identidad administrada asignada por el sistema para cada servidor lógico de Azure SQL o Instancia administrada de Azure SQL y proporcionarle acceso al almacén de claves o al HSM administrado.

  • Proporciona la capacidad de aplicar CMK en tiempo de creación del servidor con una directiva de Azure integrada disponible.

Consideraciones al usar UMI para TDE administrado por el cliente

  • De forma predeterminada, TDE en Azure SQL usa el conjunto de identidades administradas asignadas por el usuario principal en el servidor para el acceso al almacén de claves o HSM administrado. Si no se han asignado identidades asignadas por el usuario al servidor, se utilizará la identidad administrada asignada por el sistema del servidor para el acceso a la bóveda de claves o al HSM administrado.
  • Cuando se usa una identidad administrada asignada por el usuario para TDE con CMK, asigne la identidad al servidor y establézcala como la identidad principal del servidor.
  • La identidad administrada asignada por el usuario principal requiere acceso continuo al almacén de claves o HSM administrado (permisos get, wrapKey, unwrapKey). Si se revoca el acceso de la identidad al almacén de claves o HSM administrado, o no se proporcionan permisos suficientes, la base de datos cambiará al estado Inaccesible.
  • Si la identidad administrada asignada por el usuario principal se actualiza a otra identidad administrada asignada por el usuario, la nueva identidad debe contar con los permisos necesarios para el almacén de claves o HSM administrado antes de actualizar la principal.
  • Para cambiar el servidor de la identidad administrada asignada por el usuario a la identidad administrada asignada por el sistema para el almacén de claves o el acceso de HSM administrado, proporcione la identidad administrada asignada por el sistema con el almacén de claves necesario o los permisos de HSM administrados y, a continuación, quite todas las identidades administradas asignadas por el usuario del servidor.

Importante

La identidad administrada asignada por el usuario principal que se usa para TDE con CMK no debe eliminarse de Azure. La eliminación de esta identidad provocará que el servidor pierda el acceso al almacén de claves o al HSM administrado y a las bases de datos que sean inaccesibles.

Limitaciones y problemas conocidos

  • Si el almacén de claves o HSM administrado está detrás de una red virtual que usa un firewall, la opción permitir que los servicios de Microsoft de confianza omitan este firewall deben estar habilitados en el menú redes de HSM o del almacén de claves si desea usar una identidad administrada asignada por el usuario o una identidad administrada asignada por el sistema. Una vez habilitada esta opción, las claves disponibles no se pueden enumerar en el menú TDE de SQL Server de Azure Portal. Para establecer una CMK individual, se debe usar un identificador de clave. Cuando la opción Permitir que los servicios de confianza de Microsoft omitan el firewall no está habilitada, se devuelve el siguiente error:
    • Failed to save Transparent Data Encryption settings for SQL resource: <ServerName>. Error message: The managed identity with ID '/subscriptions/subscriptionID/resourcegroups/resource_name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/umi_name' requires the following Azure Key Vault permissions: 'Get, WrapKey, UnwrapKey' to the key 'https://keyvault_name/keys/key_name'. Please grant the missing permissions to the identity. Additionally ensure the key is not expired and is not disabled. For expired key, please extend the key expiry time so that SQL can use it to perform wrap and unwrap operations. If your key vault is behind a virtual network or firewall, ensure you select the 'Allow trusted Microsoft services to bypass this firewall' option. (https://aka.ms/sqltdebyokcreateserver).
    • Si recibe el error anterior, compruebe si el almacén de claves o HSM administrado está detrás de una red virtual o firewall y asegúrese de que la opción Permitir que los servicios de Microsoft de confianza omitan este firewall está habilitado.
  • Cuando se asignan varias identidades administradas asignadas por el usuario al servidor o a la instancia administrada, si se quita una única identidad del servidor desde el panel Identidad de Azure Portal, la operación se realizará correctamente, pero la identidad no se eliminará del servidor. La eliminación de todas las identidades administradas asignadas por el usuario desde Azure Portal funciona correctamente.
  • Cuando el servidor o la instancia administrada se configuran con TDE administrado por el cliente y tanto las identidades administradas asignadas por el sistema como las asignadas por el usuario están habilitadas en el servidor, al quitar las identidades administradas asignadas por el usuario del servidor sin dar primero acceso a la identidad administrada asignada por el sistema al almacén de claves o al HSM administrado, se produce un mensaje de error inesperado . Asegúrese de que se haya concedido acceso a la identidad administrada asignada por el sistema al almacén de claves o HSM administrado antes de eliminar del servidor la identidad administrada asignada por el usuario principal y cualquier otra identidad administrada asignada por el usuario.

Pasos siguientes