Erreurs de coffre de clés courantes dans Azure Application Gateway

Application Gateway permet aux clients de stocker en toute sécurité des certificats TLS dans Azure Key Vault. Lorsque vous utilisez une ressource de coffre de clés, il est important que la passerelle ait toujours accès au coffre de clés lié. Si votre passerelle applicative est incapable de récupérer le certificat, les écouteurs HTTPS associés seront placés dans un état désactivé. Plus d’informations

Cet article vous aide à comprendre les détails des codes d’erreur et les étapes pour résoudre ces erreurs de configuration de coffre de clés.

Conseil

Utilisez un identificateur de secret qui ne spécifie pas de version. Ainsi, Azure Application Gateway permute automatiquement le certificat, si une version plus récente est disponible dans Azure Key Vault. Voici un exemple d’URI de secret sans version : https://myvault.vault.azure.net/secrets/mysecret/.

Codes d’erreur Azure Advisor

Les sections suivantes décrivent les différentes erreurs que vous pouvez rencontrer. Vous pouvez vérifier si votre passerelle présente un tel problème en consultant Azure Advisor pour votre compte, puis utiliser cet article de résolution des problèmes pour résoudre le problème. Nous vous recommandons de configurer des alertes Azure Advisor pour rester informé lorsqu’un problème de coffre de clés est détecté pour votre passerelle.

Remarque

Azure Application Gateway génère des journaux pour les diagnostics de coffre de clés toutes les quatre heures. Si le diagnostic continue à afficher l’erreur une fois la configuration corrigée, vous devrez peut-être attendre que les journaux soient actualisés.

Code d’erreur : UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault

Description : L’identité managée affectée par l’utilisateur associée ne dispose pas de l’autorisation requise.

Résolution : Configurez les stratégies d’accès de votre coffre de clés pour accorder l’autorisation sur les secrets à l’identité managée affectée par l’utilisateur. Vous pouvez le faire de l’une des manières suivantes :

Stratégie d’accès au coffre

  1. Accédez au coffre de clés lié dans le portail Azure.
  2. Ouvrez le panneau Stratégies d’accès.
  3. Pour le Modèle d’autorisation, sélectionnez Stratégie d’accès au coffre.
  4. Sous Opérations de gestion des secrets, sélectionnez l’autorisation Get.
  5. Cliquez sur Enregistrer.

 Screenshot that shows how to resolve the Get permission error.

Pour plus d’informations, consultez Attribuer une stratégie d’accès Key Vault à l’aide du portail Azure.

Contrôle d’accès en fonction du rôle Azure

  1. Accédez au coffre de clés lié dans le portail Azure.
  2. Ouvrez le panneau Stratégies d’accès.
  3. Pour Modèle d’autorisation, sélectionnez Contrôle d’accès en fonction du rôle Azure.
  4. Accédez au panneau Contrôle d’accès (IAM) pour configurer les autorisations.
  5. Ajouter une attribution de rôle pour votre identité managée en choisissant les éléments suivants
    a. Rôle : Utilisateur des secrets Key Vault
    b. Attribuer l’accès à : Identité managée
    c. Membres : Sélectionnez l’identité managée affectée par l’utilisateur que vous avez associée à votre passerelle d’application.
  6. Sélectionnez Examiner + Attribuer.

Pour plus d’informations, consultez Contrôle d’accès en fonction du rôle Azure dans Key Vault.

Remarque

La prise en charge du portail pour l’ajout d’un nouveau certificat basé sur un coffre de clés n’est actuellement pas disponible lors de l’utilisation du contrôle d’accès en fonction du rôle Azure. Vous pouvez effectuer cette opération à l’aide du modèle ARM, de l’interface CLI ou de PowerShell. Visitez cette page pour obtenir des conseils.

Code d’erreur : SecretDisabled

Description : Le certificat associé a été désactivé dans Key Vault.

Résolution : Réactivez la version de certificat actuellement utilisée pour la Passerelle d’application.

  1. Accédez au coffre de clés lié dans le portail Azure.
  2. Ouvrez le volet Certificats.
  3. Sélectionnez le nom du certificat nécessaire, puis la version désactivée.
  4. Dans la page de gestion, utilisez le bouton bascule pour activer cette version de certificat.

Screenshot that shows how to re-enable a secret.

Code d’erreur : SecretDeletedFromKeyVault

Description : Le certificat associé a été supprimé de Key Vault.

Résolution : Pour récupérer un certificat supprimé :

  1. Accédez au coffre de clés lié dans le portail Azure.
  2. Ouvrez le volet Certificats.
  3. Utilisez l’onglet Gérer les certificats supprimés pour récupérer un certificat supprimé.

En revanche, si un objet certificat est supprimé définitivement, vous devez créer un nouveau certificat et mettre à jour Application Gateway avec les détails du nouveau certificat. Quand vous effectuez la configuration par le biais d’Azure CLI ou d’Azure PowerShell, utilisez un URI d’identificateur de secret sans version. Ce choix permet aux instances de récupérer une version renouvelée du certificat, le cas échéant.

Screenshot that shows how to recover a deleted certificate in Key Vault.

Code d’erreur : UserAssignedManagedIdentityNotFound

Description : L’identité managée affectée par l’utilisateur associée a été supprimée.

Résolution : Créez une identité managée et utilisez-la avec le coffre de clés.

  1. Recréez une identité managée portant le même nom que celui utilisé précédemment et sous le même groupe de ressources. (CONSEIL : Reportez-vous aux journaux d’activité des ressources pour plus d’informations sur le nommage.)
  2. Accédez à la ressource de coffre de clés souhaitée, puis définissez ses stratégies d’accès afin d’accorder l’autorisation requise à cette nouvelle identité managée. Vous pouvez suivre les mêmes étapes que celles mentionnées sous UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault.

Code d’erreur : KeyVaultHasRestrictedAccess

Description : Il existe un paramètre réseau restreint pour Key Vault.

Résolution : Cette erreur se produit quand vous activez le pare-feu Key Vault pour un accès restreint. Vous pouvez toujours configurer Application Gateway dans un réseau restreint de Key Vault, en effectuant les étapes suivantes :

  1. Dans Key Vault, ouvrez le volet Réseau.
  2. Sélectionnez l’onglet Pare-feux et réseaux virtuels, puis Point de terminaison privé et réseaux sélectionnés.
  3. Ensuite, à l’aide de l’option Réseaux virtuels, ajoutez le réseau virtuel et le sous-réseau de votre instance Application Gateway. Pendant le processus, configurez également le point de terminaison de service « Microsoft.KeyVault » en cochant sa case.
  4. Enfin, sélectionnez Oui pour autoriser les Services approuvés à contourner le pare-feu de Key Vault.

Screenshot that shows how to work around the restricted network error.

Code d’erreur : KeyVaultSoftDeleted

Description : Le coffre de clés associé est en état de suppression réversible.

Résolution : Dans le portail Azure, recherchez key vault. Sous Services, sélectionnez coffres de clés.

Screenshot that shows how to search for the Key Vault service.

Sélectionnez Gérer les coffres supprimés. À partir de là, vous pouvez trouver la ressource Key Vault supprimée et la récupérer. Screenshot that shows how to recover a deleted key vault.

Code d’erreur : CustomerKeyVaultSubscriptionDisabled

Description : L’abonnement à Key Vault est désactivé.

Résolution : Votre abonnement Azure peut être désactivé pour différentes raisons. Pour effectuer l’action nécessaire à la résolution du problème, consultez Réactivation d’un abonnement Azure désactivé.

Codes d’erreur Application Gateway

Code d’erreur : ApplicationGatewayCertificateDataOrKeyVaultSecretIdMustBeSpecified / ApplicationGatewaySslCertificateDataMustBeSpecified

Cette erreur peut survenir lors de la tentative de mise à jour d’un certificat d’écouteur. Lorsque cette erreur se produit, la modification apportée pour mettre à jour le certificat est ignorée et l’écouteur continue de gérer le trafic avec la configuration précédemment définie.

Résolution : Pour résoudre ce problème, veuillez tenter de charger à nouveau le certificat. Par exemple, les commandes PowerShell suivantes peuvent être utilisées pour mettre à jour des certificats chargés dans Application Gateway ou référencés via Azure Key Vault.

Mettez à jour le certificat chargé directement dans 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 

Mettez à jour le certificat référencé à partir d’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 

Étapes suivantes

Ces articles de résolution des problèmes peuvent être utiles si vous continuez à utiliser Application Gateway :