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
- Accédez au coffre de clés lié dans le portail Azure.
- Ouvrez le panneau Stratégies d’accès.
- Pour le Modèle d’autorisation, sélectionnez Stratégie d’accès au coffre.
- Sous Opérations de gestion des secrets, sélectionnez l’autorisation Get.
- Cliquez sur Enregistrer.
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
- Accédez au coffre de clés lié dans le portail Azure.
- Ouvrez le panneau Stratégies d’accès.
- Pour Modèle d’autorisation, sélectionnez Contrôle d’accès en fonction du rôle Azure.
- Accédez au panneau Contrôle d’accès (IAM) pour configurer les autorisations.
- 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. - 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.
- Accédez au coffre de clés lié dans le portail Azure.
- Ouvrez le volet Certificats.
- Sélectionnez le nom du certificat nécessaire, puis la version désactivée.
- Dans la page de gestion, utilisez le bouton bascule pour activer cette version de certificat.
Code d’erreur : SecretDeletedFromKeyVault
Description : Le certificat associé a été supprimé de Key Vault.
Résolution : Pour récupérer un certificat supprimé :
- Accédez au coffre de clés lié dans le portail Azure.
- Ouvrez le volet Certificats.
- 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.
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.
- 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.)
- 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 :
- Dans Key Vault, ouvrez le volet Réseau.
- Sélectionnez l’onglet Pare-feux et réseaux virtuels, puis Point de terminaison privé et réseaux sélectionnés.
- 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.
- Enfin, sélectionnez Oui pour autoriser les Services approuvés à contourner le pare-feu de Key Vault.
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.
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.
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 :