Résoudre les erreurs courantes de Key Vault dans Azure Application Gateway

Résumé

Cet article explique comment résoudre les erreurs courantes de coffre de clés dans Azure Application Gateway et résoudre les erreurs de configuration qui peuvent perturber la gestion des certificats et sécuriser les connexions HTTPS.

Application Gateway vous permet 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 associé. Si votre Application Gateway ne peut pas récupérer le certificat, il désactive les écouteurs HTTPS associés. Pour plus d’informations, consultez Présentation des écouteurs désactivés.

Conseil / Astuce

Utilisez un identificateur secret qui ne spécifie pas de version. À l’aide de cet identificateur, Azure Application Gateway fait pivoter automatiquement le certificat si une version plus récente est disponible dans Azure Key Vault. Un exemple d’URI (Uniform Resource Identifier) secret sans version est : 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. Pour vérifier si votre passerelle rencontre l’un de ces problèmes, visitez Azure Advisor pour votre compte. Utilisez cet article de résolution des problèmes pour résoudre le problème. Configurez les alertes Azure Advisor pour rester informé lorsqu’un problème d’Azure Key Vault est détecté pour votre passerelle.

Note

Application Gateway génère des journaux pour les diagnostics de Key Vault toutes les quatre heures. Si le diagnostic continue d’afficher l’erreur après avoir corrigé la configuration, vous devrez peut-être attendre que les journaux d’activité s’actualisent.

Code d’erreur : « UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault »

Description

L’identité managée attribuée par l’utilisateur associée ne dispose pas des autorisations requises.

Solution

Configurez les stratégies d’accès de votre Key Vault afin d’accorder à l’identité managée affectée par l’utilisateur l’autorisation d’accéder aux secrets. Vous pouvez effectuer cette opération de l’une des deux manières suivantes :

Stratégie d’accès au coffre

  1. Dans le portail Azure, accédez au coffre de clés lié.
  2. Sélectionnez Stratégies d’accès.
  3. Pour le modèle d’autorisation, sélectionnez stratégie d’accès au coffre.
  4. Dans Opérations de gestion des secrets, sélectionnez l’autorisation Obtenir .
  5. Cliquez sur Enregistrer.

Capture d’écran des paramètres de stratégie d’accès de Key Vault utilisés pour accorder à une identité managée l’autorisation « Get ».

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

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

  1. Dans le portail Azure, accédez au coffre de clés lié.
  2. Sélectionnez Stratégies d’accès.
  3. Pour le modèle Permission, sélectionnez Azure contrôle d’accès en fonction du rôle.
  4. Accédez à Access Control (IAM) pour configurer des autorisations.
  5. Ajoutez l’attribution de rôle pour votre identité managée en choisissant les valeurs suivantes : 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 Vérifier + attribuer.

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

Note

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 lorsque vous utilisez le contrôle d’accès en fonction du rôle Azure. Vous pouvez l’accomplir à l’aide d’un modèle arm (Resource Management) Azure, de Azure CLI ou de Azure PowerShell. Pour en savoir plus, consultez le modèle d’autorisation de contrôle d’accès en fonction du rôle Azure Key Vault.

Code d’erreur - « SecretDisabled »

Description

Le certificat associé est désactivé dans Azure Key Vault.

Solution

Activez la version du certificat utilisée par Application Gateway. Pour ce faire, procédez comme suit :

  1. Dans le portail Azure, accédez au coffre de clés associé.
  2. Sélectionnez Certificats.
  3. Sélectionnez le nom du certificat souhaité, puis sélectionnez la version désactivée.
  4. Dans la page de gestion, utilisez le bouton bascule pour activer cette version de certificat.

Capture d’écran du commutateur de version du certificat dans Key Vault utilisé pour réactiver un secret désactivé.

Code d’erreur - « SecretDeletedFromKeyVault »

Description

Le certificat associé est supprimé de Key Vault.

Solution

Pour récupérer un certificat supprimé, procédez comme suit :

  1. Dans le portail Azure, accédez au coffre de clés lié.
  2. Ouvrez le volet Certificats .
  3. Utilisez l’onglet Certificats supprimés gérés pour récupérer un certificat supprimé.

Si vous supprimez définitivement un objet de certificat, créez un certificat et mettez à jour Application Gateway avec les détails du nouveau certificat. Lorsque vous configurez via Azure CLI ou Azure PowerShell, utilisez un URI d’identificateur secret sans version. Ce choix permet aux instances de récupérer une version renouvelée du certificat, le cas échéant.

Capture d’écran de l’onglet Certificats supprimés gérés utilisé pour récupérer un certificat de Key Vault supprimé.

Code d’erreur : « UserAssignedManagedIdentityNotFound »

Description

L’identité managée attribuée par l’utilisateur associée est supprimée.

Solution

Créez une identité managée et utilisez-la avec le coffre de clés. Pour ce faire, procédez comme suit :

  1. Recréez une identité managée portant le même nom que celui que vous avez utilisé précédemment et sous le même groupe de ressources. Pour plus d’informations sur les noms, reportez-vous aux journaux d’activité des ressources.
  2. Accédez à la ressource key vault souhaitée et définissez ses stratégies d’accès pour accorder à cette nouvelle identité managée l’autorisation requise. Pour plus d’informations, consultez Code d’erreur : UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault.

Code d’erreur - « KeyVaultHasRestrictedAccess »

Description

Key Vault a un paramètre réseau restreint.

Solution

Vous rencontrez cette erreur lorsque vous activez le pare-feu Key Vault pour l’accès restreint. Configurez Application Gateway dans un réseau restreint de Key Vault. Pour ce faire, procédez comme suit :

  1. Dans Key Vault, sélectionnez Mise en réseau.
  2. Sélectionnez l’onglet Pare-feu et réseaux virtuels , puis sélectionnez Point de terminaison privé et réseaux sélectionnés.
  3. Utilisez Réseau virtuel Azure pour ajouter le réseau virtuel et le sous-réseau de votre application Gateway.
  4. Cochez la case à cocher Microsoft.KeyVault.
  5. Sélectionnez Oui. Cette action permet aux services approuvés de contourner le pare-feu Key Vault.

Capture d’écran de Key Vault paramètres réseau utilisés pour configurer l’accès réseau restreint.

Code d’erreur - « KeyVaultSoftDeleted »

Description

Le coffre de clés associé est à l’état de suppression réversible.

Solution

Recherchez la ressource de coffre de clés supprimée. Pour ce faire, procédez comme suit :

  1. Dans le portail Azure, recherchez le coffre de clés.
  2. Dans Services, sélectionnez Coffres de clés.

Capture d’écran de la recherche du service Key Vault dans le portail Azure.

  1. Sélectionnez Coffres supprimés gérés.
  2. Recherchez la ressource de coffre de clés supprimée et récupérez-la.

Capture d’écran des coffres supprimés gérés avec l’option permettant de récupérer un coffre de clés supprimé.

Code d’erreur - « CustomerKeyVaultSubscriptionDisabled »

Description

L’abonnement pour Key Vault est désactivé.

Solution

Diverses raisons peuvent amener Azure à désactiver votre abonnement. Pour prendre les mesures nécessaires pour résoudre ce problème, consultez Réactiver un abonnement Azure désactivé.

Codes d’erreur Application Gateway

Code d’erreur : « ApplicationGatewayCertificateDataOrKeyVaultSecretIdMustBeSpecified / ApplicationGatewaySslCertificateDataMustBeSpecified »

Description

Vous rencontrez cette erreur lorsque vous essayez de mettre à jour un certificat d’écouteur. Lorsque cette erreur se produit, la modification de la mise à jour du certificat est ignorée et l’écouteur continue de gérer le trafic avec la configuration définie précédemment.

Solution

Pour résoudre ce problème, réessayez de charger le certificat. Par exemple, utilisez les commandes PowerShell suivantes pour mettre à jour les certificats chargés sur Application Gateway ou référencés via Azure Key Vault.

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