Solución de problemas habituales de Key Vault en Azure Application Gateway

Resumen

En este artículo se explica cómo solucionar errores comunes del almacén de claves en Azure Application Gateway y resolver errores de configuración que pueden interrumpir la administración de certificados y proteger las conexiones HTTPS.

Application Gateway permite almacenar certificados TLS de forma segura en Azure Key Vault. Cuando se usa un recurso de almacén de claves, es importante que la puerta de enlace siempre tenga acceso al almacén de claves vinculado. Si Application Gateway no puede capturar el certificado, deshabilita los agentes de escucha HTTPS asociados. Para obtener más información, consulte Comprender los escuchadores desactivados.

Sugerencia

Use un identificador secreto que no especifique una versión. Con este identificador, Azure Application Gateway rota automáticamente el certificado si hay disponible una versión más reciente en Azure Key Vault. Un ejemplo de un identificador uniforme de recursos (URI) secreto sin una versión es: https://myvault.vault.azure.net/secrets/mysecret/.

códigos de error de Azure Advisor

En las secciones siguientes se describen los distintos errores que podría encontrar. Para comprobar si su puerta de enlace tiene alguno de estos problemas, visite Azure Advisor en su cuenta. Use este artículo de solución de problemas para resolver el problema. Configure las alertas de Azure Advisor para mantenerse informado cuando se detecte un problema en Azure Key Vault para el gateway.

Nota:

Application Gateway genera registros de diagnóstico de Key Vault cada cuatro horas. Si el diagnóstico continúa mostrando el error después de corregir la configuración, es posible que tenga que esperar a que se actualicen los registros.

Código de error: "UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault"

Description

La identidad administrada asignada por el usuario asociada no tiene el permiso necesario.

Solución

Configure las directivas de acceso de su almacén de claves para conceder a la identidad administrada asignada por el usuario permisos sobre los secretos. Puede hacerlo de cualquiera de las dos maneras siguientes:

Directiva de acceso del almacén

  1. En el portal de Azure, vaya al almacén de claves vinculado.
  2. Seleccione Directivas de acceso.
  3. En Modelo de permisos, seleccione Política de acceso al almacén.
  4. En Operaciones de administración de secretos, seleccione el permiso Obtener.
  5. Haga clic en Guardar.

Captura de pantalla de la configuración de la directiva de acceso de Key Vault utilizada para conceder a una identidad administrada el permiso Obtener.

Para obtener más información, consulte Assignar una directiva de acceso de Key Vault mediante el portal de Azure.

Control de acceso basado en rol (RBAC) de Azure

  1. En el portal de Azure, vaya al almacén de claves vinculado.
  2. Seleccione Directivas de acceso.
  3. Para el modelo de permisos, seleccione control de acceso basado en roles de Azure.
  4. Vaya a Control de acceso (IAM) para configurar los permisos.
  5. Agregue la asignación de roles para la identidad administrada eligiendo los valores siguientes: a. Rol: Usuario de secretos de Key Vault b. Asignar acceso a: Identidad administrada c. Miembros: seleccione la identidad administrada asignada por el usuario asociada a la puerta de enlace de aplicaciones.
  6. Seleccione Revisar y asignar.

Para obtener más información, consulte control de acceso basado en roles de Azure en Key Vault.

Nota:

La compatibilidad del portal para agregar un nuevo certificado basado en el almacén de claves no está disponible actualmente cuando se usa el control de acceso basado en rol de Azure. Puede hacerlo mediante una plantilla de administración de recursos (ARM) Azure, CLI de Azure o Azure PowerShell. Para más información, consulte Modelo de permisos de control de acceso basado en rol de Azure de Key Vault.

Código de error: "SecretDisabled"

Description

El certificado asociado está deshabilitado en Azure Key Vault.

Solución

Habilite la versión del certificado que usa Application Gateway. Para ello, siga estos pasos:

  1. En el portal de Azure, vaya al almacén de claves vinculado.
  2. Seleccione Certificados.
  3. Seleccione el nombre del certificado que desee y, a continuación, seleccione la versión deshabilitada.
  4. En la página de administración, use el botón de alternancia para habilitar esa versión del certificado.

Captura de pantalla del conmutador de la versión del certificado de Key Vault utilizado para volver a habilitar un secreto deshabilitado.

Código de error: "SecretDeletedFromKeyVault"

Description

El certificado asociado se elimina de Key Vault.

Solución

Para recuperar un certificado eliminado, siga estos pasos:

  1. En el portal de Azure, vaya al almacén de claves vinculado.
  2. Abra el panel Certificados .
  3. Use la pestaña Certificados eliminados administrados para recuperar un certificado eliminado.

Si elimina permanentemente un objeto de certificado, cree un nuevo certificado y actualice Application Gateway con los nuevos detalles del certificado. Al configurar a través de CLI de Azure o Azure PowerShell, use un URI de identificador secreto sin una versión. Esta opción permite que las instancias recuperen una versión renovada del certificado, si existe.

Captura de pantalla de la pestaña Certificados eliminados administrados que se usa para recuperar un certificado de Key Vault eliminado.

Código de error: "UserAssignedManagedIdentityNotFound"

Description

Se elimina la identidad administrada asociada asignada por el usuario.

Solución

Cree una nueva identidad administrada y úsela con el almacén de claves. Para ello, siga estos pasos:

  1. Vuelva a crear una identidad administrada con el mismo nombre que usó anteriormente y en el mismo grupo de recursos. Consulte el recurso Registros de actividad para obtener detalles sobre la nomenclatura.
  2. Vaya al recurso del almacén de claves que desee y establezca sus directivas de acceso para conceder a esta nueva identidad administrada el permiso necesario. Para obtener más información, vea Código de error: UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault.

Código de error: "KeyVaultHasRestrictedAccess"

Description

Key Vault tiene una configuración de red restringida.

Solución

Este error se produce al habilitar el firewall de Key Vault para el acceso restringido. Configure Application Gateway en una red restringida de Key Vault. Para ello, siga estos pasos:

  1. En Key Vault, seleccione Redes.
  2. Seleccione la pestaña Firewalls y redes virtuales y, a continuación, seleccione Punto de conexión privado y redes seleccionadas.
  3. Use Azure Virtual Network para agregar la red virtual y la subred de Application Gateway.
  4. Seleccione la casilla Microsoft.KeyVault.
  5. Haga clic en . Esta acción permite que los servicios de confianza omitan el firewall de Key Vault.

Captura de pantalla de las opciones de red de Key Vault usadas para configurar el acceso restringido a la red.

Código de error: "KeyVaultSoftDeleted"

Description

El almacén de claves asociado está en estado de eliminación no definitiva.

Solución

Busque el recurso del almacén de claves eliminado. Para ello, siga estos pasos:

  1. En el portal de Azure, busque almacén de claves.
  2. En Servicios, seleccione Almacenes de claves.

Captura de pantalla de la búsqueda del servicio Key Vault en el portal de Azure.

  1. Seleccione Almacenes administrados eliminados.
  2. Busque el recurso del almacén de claves eliminado y recupórelo.

Captura de pantalla de los almacenes eliminados administrados con la opción de recuperar un almacén de claves eliminado.

Código de error: "CustomerKeyVaultSubscriptionDisabled"

Description

La suscripción de Key Vault está deshabilitada.

Solución

Varias razones pueden hacer que Azure deshabilite la suscripción. Para realizar la acción necesaria para resolver este problema, consulte Reactivación de una suscripción de Azure deshabilitada.

Códigos de error de Application Gateway

Código de error: "ApplicationGatewayCertificateDataOrKeyVaultSecretIdMustBeSpecified / ApplicationGatewaySslCertificateDataMustBeSpecified"

Description

Este error se produce al intentar actualizar un certificado del listener. Cuando se produce este error, se descarta el cambio para actualizar el certificado y el agente de escucha continúa controlando el tráfico con la configuración definida anteriormente.

Solución

Para resolver este problema, intente volver a cargar el certificado. Por ejemplo, use los siguientes comandos de PowerShell para actualizar los certificados cargados en Application Gateway o a los que se hace referencia a través de Azure Key Vault.

Actualice el certificado cargado directamente en Application Gateway.

$appgw = Get-AzApplicationGateway -ResourceGroupName "<ResourceGroup>" -Name "<AppGatewayName>"

$password = ConvertTo-SecureString -String "<password>" -Force -AsPlainText

Set-AzApplicationGatewaySSLCertificate -Name "<oldcertname>" -ApplicationGateway $appgw -CertificateFile "<newcertPath>" -Password $password

Set-AzApplicationGateway -ApplicationGateway $appgw 

Actualice el certificado al que se hace referencia desde Azure Key Vault.

$appgw = Get-AzApplicationGateway -ResourceGroupName "<ResourceGroup>" -Name "<AppGatewayName>"

$secret = Get-AzKeyVaultSecret -VaultName "<KeyVaultName>" -Name "<CertificateName>" 
$secretId = $secret.Id.Replace($secret.Version, "") 
$cert = Set-AzApplicationGatewaySslCertificate -ApplicationGateway $AppGW -Name "<CertificateName>" -KeyVaultSecretId $secretId 

Set-AzApplicationGateway -ApplicationGateway $appgw 

References