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.
Applies to:Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
En este artículo se describe cómo identificar y resolver los problemas de acceso a las claves de Azure Key Vault que provocaron que una base de datos configurada para usar cifrado de datos transparentes (TDE) con claves administradas por el cliente en Azure Key Vault se vuelva inaccesible.
Nota:
Microsoft Entra ID anteriormente se conocía como Azure Active Directory (Azure AD).
Introducción
Al configurar TDE para que use una clave administrada por el cliente en Azure Key Vault, la base de datos requiere acceso continuo al protector de TDE para mantenerse en línea. Si el servidor SQL lógico o la instancia administrada pierden el acceso al protector de TDE administrado por el cliente en Azure Key Vault, una base de datos comienza a denegar todas las conexiones con el mensaje de error adecuado y cambia su estado a Inaccessible en el portal de Azure.
Durante los primeros 30 minutos, si se resuelve el problema de acceso a la clave subyacente del almacén de claves de Azure, la base de datos se recupera y se pone en línea automáticamente. En todos los escenarios de interrupción de red intermitentes y temporales, no es necesario realizar ninguna acción y la base de datos se pone en línea automáticamente. En la mayoría de los casos, debe tomar medidas para resolver el problema de acceso a las claves del Key Vault subyacente.
Si ya no necesita una base de datos inaccesible, puede eliminarla inmediatamente para dejar de incurrir en costos. No puede realizar otras acciones en la base de datos hasta que restaure el acceso a la clave del almacén de claves Azure y la base de datos vuelva a estar en línea. Tampoco puede cambiar la opción TDE de claves administradas por el cliente a administradas por el servicio en el servidor mientras no se puede acceder a una base de datos cifrada con claves administradas por el cliente. Esta restricción protege los datos del acceso no autorizado cuando se revocan los permisos al protector de TDE.
Después de que una base de datos ha sido inaccesible durante más de 30 minutos, ya no se recupera automáticamente. Si restaura el acceso necesario a la clave del almacén de claves de Azure después de dicho período, debe volver a validar manualmente el acceso a la clave para poner la base de datos en línea nuevamente. En este caso, volver a poner la base de datos en línea puede tardar una cantidad considerable de tiempo según el tamaño de la base de datos. Una vez que la base de datos vuelve a estar en línea, se pierden las opciones configuradas anteriormente, como el grupo de conmutación por error, el historial de PITR y las etiquetas. Por lo tanto, implemente un sistema de notificaciones mediante grupos de acciones que le avise de problemas subyacentes en el acceso a claves del almacén de claves lo antes posible.
Errores comunes que hacen que las bases de datos dejen de estar accesibles
La mayoría de los problemas que se producen al usar TDE con Key Vault se deben a una de las siguientes configuraciones incorrectas:
El almacén de claves no está disponible o no existe.
- El almacén de claves se eliminó por error.
- El firewall se configuró para Azure Key Vault, pero no permite el acceso a los servicios de Microsoft.
- Un error de red intermitente provoca que el almacén de claves esté inaccesible.
No existen permisos para acceder al almacén de claves o la clave no existe.
- La clave se eliminó, deshabilitó o expiró accidentalmente.
- La identidad administrada del servidor (asignada por el sistema o asignada por el usuario) se eliminó accidentalmente.
- El servidor se movió a otra suscripción. Asigne una nueva identidad administrada (asignada por el sistema o asignada por el usuario) al servidor al moverla a otra suscripción.
- Los permisos concedidos a la identidad administrada del servidor para las claves no son suficientes (no incluyen los permisos Get, Wrap ni Unwrap).
- Los permisos para la identidad administrada del servidor se revocaron del almacén de claves.
Identificación y resolución de los errores comunes
En esta sección se describen los pasos de solución de problemas de los errores más comunes.
Falta la identidad del servidor.
Mensaje de error
401 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured on server. Please contact support.
Detección
Use el siguiente cmdlet o comando para asegurarse de que se ha asignado una identidad al servidor:
- Azure PowerShell: Get-AzSqlServer
- Azure CLI: az-sql-server-show
Mitigación
Use el siguiente cmdlet o comando para configurar una identidad administrada asignada por el usuario o asignada por el sistema para el servidor:
- Azure PowerShell: Set-AzSqlServer con la opción
-AssignIdentity. - Azure CLI: az sql server update con la opción
--assign_identity.
En el portal de Azure, vaya al almacén de claves y, a continuación, vaya a Directivas de acceso. Siga estos pasos:
- Use el botón Agregar nuevo para agregar la AppId del servidor que creó en el paso anterior.
- Asigne los siguientes permisos de clave: Get, Wrap y Unwrap
Para más información, vea Asignar una identidad administrada a su servidor.
Importante
Si el servidor logical para Azure SQL Database o Azure SQL Managed Instance se mueve a un nuevo inquilino de Microsoft Entra después de la configuración inicial de TDE con Key Vault, esta configuración de identidad administrada debe rehacerse en el nuevo inquilino.
Falta la bóveda de claves
Mensaje de error
503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed.
Detección
Para identificar el URI de la clave y el almacén de claves:
Use el comando o el cmdlet siguiente para obtener el URI de clave de una instancia de servidor específica:
- Azure PowerShell: Get-AzSqlServerKeyVaultKey
- Azure CLI: az-sql-server-tde-key-show
Utilice el URI de la clave para identificar el almacén de claves.
- Azure PowerShell: puede inspeccionar las propiedades de la variable $MyServerKeyVaultKey para obtener detalles sobre el almacén de claves.
- Azure CLI: inspeccione el protector de cifrado del servidor devuelto para obtener más información sobre el almacén de claves.
Mitigación
Confirme que la bóveda de claves está disponible:
- Asegúrese de que el almacén de claves está disponible y de que el servidor tiene acceso.
- Si el almacén de claves está protegido detrás de un firewall, asegúrese de que la casilla para permitir que los servicios de Microsoft pueden acceder al almacén de claves esté activada.
- Si el almacén de claves se eliminó por error, debe completar la configuración desde el inicio.
Falta una clave
Mensajes de error
404 ServerKeyNotFound - The requested server key was not found on the current subscription.
409 ServerKeyDoesNotExists - The server key does not exist.
Detección
Para identificar el URI de la clave y el almacén de claves:
- Use el cmdlet o los comandos de Missing key vault para identificar el URI de clave que se agrega a la instancia de SQL Server lógica. La ejecución de los comandos devuelve la lista de las claves.
Mitigación
Confirme que el protector de TDE está presente en Key Vault:
- Identifique el Key Vault y vaya al Key Vault en el Portal de Azure.
- Asegúrese de que la clave, identificada por el URI de clave, está presente.
Clave expirada
Mensajes de error
The server <server_name> requires the Key Vault Crypto Service Encryption User permission for the RBAC policy or following Azure Key Vault permissions: Get, WrapKey, UnwrapKey. Please grant the missing permissions to the service principal with ID <akv_key>. Ensure the key is active, not expired or disabled, set with the key activation date no later than the current date, and that trusted Microsoft services can bypass the firewall if applicable.
Detección
Para identificar la clave caducada en el almacén de claves:
- Utilice el portal de Azure, vaya al menú del servicio Bóveda de Claves>Objetos>Claves y compruebe la expiración de la clave.
- Usa el comando de PowerShell Get-AzKeyVaultKey.
- Use el comando Azure CLI, az keyvault key show.
Mitigación
- Compruebe la fecha de expiración de la clave del almacén de claves para confirmar que la clave ha expirado.
- Amplía la fecha de expiración de la clave.
- Vuelve a poner la base de datos en línea; para ello, selecciona la opción Revalidación de clave con una de las siguientes opciones:
- Reintentar con la clave existente.
- Seleccionar clave de copia de seguridad.
Volver a validar la clave en el portal de Azure
Para volver a validar la clave del protector de TDE mediante el portal de Azure:
- En el portal de Azure, vaya a su recurso de servidor SQL o instancia administrada de SQL.
- En el menú de recursos de Seguridad, seleccione Cifrado de datos transparente.
- Si la base de datos está en un estado inaccesible debido a un problema de acceso a claves, el portal muestra un banner de revalidación de claves o una opción en la página TDE.
- Seleccione Reintentar la clave existente para intentar restablecer el acceso con la clave actual o seleccione Seleccionar clave de copia de seguridad para configurar una clave diferente del almacén de claves.
- Una vez que la revalidación se realiza correctamente, la base de datos vuelve a un estado accesible. Este proceso puede tardar tiempo en función del tamaño de la base de datos.
Sugerencia
Si no ve la opción de Revalidación de claves en la página de Cifrado de datos transparente, compruebe que el problema de acceso del almacén de claves subyacente ya se ha resuelto. La opción de revalidación solo aparece cuando el servidor detecta que no se puede acceder a la clave del protector de TDE.
Para obtener más información, consulta Protector de TDE inaccesible.
Nota:
Las claves se deben rotar un número específico de días antes de su vencimiento, para proporcionar el tiempo suficiente para reaccionar ante un fallo. Para obtener más información, vea las definiciones incorporadas de Azure Policy para Key Vault.
Faltan permisos
Mensaje de error
401 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault.
Detección
Para identificar el URI principal y la bóveda de claves:
- Utiliza el cmdlet o los comandos en Missing key vault para identificar el almacén de claves que utiliza la instancia lógica de SQL Server.
Mitigación
Confirme que el servidor tiene permisos para el almacén de claves y los permisos correctos para acceder a la clave.
- En el portal de Azure, vaya al almacén de claves > Directivas de acceso. Busque la identidad administrada del servidor (asignada por el sistema o asignada por el usuario).
- Si la identidad del servidor está presente, asegúrese de que tiene los siguientes permisos clave: Get, WrapKey y UnwrapKey.
- Si la identidad del servidor no está, agréguela con el botón Agregar nuevo.
Obtención del estado de TDE del registro de actividad
Para permitir la supervisión del estado de la base de datos debido a problemas de acceso a claves de Azure Key Vault, los siguientes eventos se registran en el Registro de Actividades para el identificador de recurso basado en la URL de Azure Resource Manager.
Nota:
Los eventos pueden tardar entre 15 y 30 minutos en aparecer en el Registro de Actividad desde el momento en que se produce el problema de acceso al almacén de claves.
Evento cuando el servicio pierde acceso a la clave de Azure Key Vault
Azure SQL Database
EventName: HacerInaccesibleLaBaseDeDatos
Estado: Iniciado
Descripción: la base de datos {database_name} en el servidor {server_name} ha perdido el acceso a Azure Key Vault clave y ahora pasa a un estado inaccesible.
Azure SQL Managed Instance
EventName: MakeManagedDbInaccessible
Estado: Iniciado
Descripción: La base de datos { database_name} en el servidor administrado {server_name} ha perdido el acceso a Azure Key Vault Clave y ahora pasa a un estado inaccesible.
Evento cuando el problema no se resolvió en un plazo de 30 minutos y el acceso a las claves de Azure Key Vault debe validarse manualmente
Azure SQL Database
EventName: MakeDatabaseInaccessible
Estado: Exitoso
Descripción: La base de datos no es accesible y requiere que el usuario resuelva los errores del almacén de claves de Azure y restablezca el acceso a la clave del almacén de claves de Azure mediante Revalidate key.
Azure SQL Managed Instance
EventName: MakeManagedDbInaccessible
Estado: Exitoso
Descripción: la base de datos { database_name} en el servidor administrado {server_name} no es accesible y requiere que el usuario vuelva a establecer el acceso a Azure Key Vault Clave.
Evento cuando la re-validación del acceso a la clave de Azure Key Vault ha tenido éxito y la base de datos vuelve a estar en línea
Azure SQL Database
EventName: MakeDatabaseAccessible
Estado: Iniciado
Descripción: se ha restablecido el acceso a la clave de Azure Key Vault, operación para que la base de datos {database_name} en el servidor {server_name} sea accesible.
Azure SQL Managed Instance
NombreDeEvento: HacerAccesibleLaBaseDeDatosGestionada
Estado: Iniciado
Descripción: Se ha restablecido el acceso a la clave de Azure Key Vault, se ha iniciado la operación para que la base de datos {database_name} en el servidor administrado {server_name} sea accesible.
Evento cuando la base de datos vuelve a estar en línea correctamente
Azure SQL Database
EventName: MakeDatabaseAccessible
Estado: Exitoso
Descripción: el acceso a la clave de Azure Key Vault se ha restablecido y la base de datos {database_name} en el servidor {server_name} está ahora en línea.
Azure SQL Managed Instance
NombreDeEvento: HacerAccesibleLaBaseDeDatosGestionada
Estado: Exitoso
Descripción: El acceso a la clave de Azure Key Vault se ha restablecido y la base de datos {database_name} en el servidor administrado {server_name} ya está en línea.
Error cuando ha fallado la revalidación del acceso a la clave de Azure Key Vault
Azure SQL Database
EventName: MakeDatabaseAccessible
Estado: Error
Descripción: se ha restablecido el acceso a la clave de Azure Key Vault, pero falló la operación para que la base de datos {database_name} sea accesible en el servidor {server_name}.
Azure SQL Managed Instance
NombreDeEvento: HacerAccesibleLaBaseDeDatosGestionada
Estado: Error
Descripción: Se ha restablecido el acceso a la clave de Azure Key Vault, pero la operación para que la base de datos {database_name} sea accesible en el servidor administrado {server_name} ha fallado.