Vanliga key vault-fel i Azure Application Gateway
Med Application Gateway kan kunderna lagra TLS-certifikat på ett säkert sätt i Azure Key Vault. När du använder en key vault-resurs är det viktigt att gatewayen alltid har åtkomst till det länkade nyckelvalvet. Om Application Gateway inte kan hämta certifikatet placeras de associerade HTTPS-lyssnarna i inaktiverat tillstånd. Läs mer.
Den här artikeln hjälper dig att förstå information om felkoderna och stegen för att lösa sådana felkonfigurationer i nyckelvalvet.
Dricks
Använd en hemlig identifierare som inte anger någon version. På så sätt roterar Azure Application Gateway automatiskt certifikatet om en nyare version är tillgänglig i Azure Key Vault. Ett exempel på en hemlig URI utan version är: https://myvault.vault.azure.net/secrets/mysecret/
.
Azure Advisor-felkoder
I följande avsnitt beskrivs de olika fel som kan uppstå. Du kan kontrollera om din gateway har något sådant problem genom att besöka Azure Advisor för ditt konto och använda den här felsökningsartikeln för att åtgärda problemet. Vi rekommenderar att du konfigurerar Azure Advisor-aviseringar för att hålla dig informerad när ett problem med nyckelvalvet har identifierats för din gateway.
Kommentar
Azure Application Gateway genererar loggar för key vault-diagnostik var fjärde timme. Om diagnostiken fortsätter att visa felet när du har korrigerat konfigurationen kan du behöva vänta tills loggarna har uppdaterats.
Felkod: UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault
Beskrivning: Den associerade användartilldelade hanterade identiteten har inte den behörighet som krävs.
Lösning: Konfigurera åtkomstprinciperna för ditt nyckelvalv för att ge den användartilldelade hanterade identiteten behörighet för hemligheter. Du kan göra det på något av följande sätt:
Åtkomstprincip för valv
- Gå till det länkade nyckelvalvet i Azure Portal.
- Öppna bladet Åtkomstprinciper.
- Som Behörighetsmodell väljer du Åtkomstprincip för valv.
- Under Hemliga hanteringsåtgärder väljer du behörigheten Hämta .
- Välj Spara.
Mer information finns i Tilldela en key vault-åtkomstprincip med hjälp av Azure Portal.
Rollbaserad Azure-åtkomstkontroll
- Gå till det länkade nyckelvalvet i Azure Portal.
- Öppna bladet Åtkomstprinciper.
- Som Behörighetsmodell väljer du Rollbaserad åtkomstkontroll i Azure.
- Gå till bladet Åtkomstkontroll (IAM) för att konfigurera behörigheter.
- Lägg till rolltilldelning för din hanterade identitet genom att välja följande
a. Roll: Key Vault Secrets-användare
b. Tilldela åtkomst till: Hanterad identitet
c. Medlemmar: välj den användartilldelade hanterade identitet som du har associerat med din programgateway. - Välj Granska + tilldela.
Mer information finns i Rollbaserad åtkomstkontroll i Azure i Key Vault.
Kommentar
Portalstöd för att lägga till ett nytt nyckelvalvbaserat certifikat är för närvarande inte tillgängligt när du använder rollbaserad åtkomstkontroll i Azure. Du kan göra det med hjälp av ARM-mall, CLI eller PowerShell. Gå till den här sidan för vägledning.
Felkod: SecretDisabled
Beskrivning: Det associerade certifikatet har inaktiverats i Key Vault.
Lösning: Återaktivera certifikatversionen som för närvarande används för Application Gateway.
- Gå till det länkade nyckelvalvet i Azure Portal.
- Öppna fönstret Certifikat .
- Välj det certifikatnamn som krävs och välj sedan den inaktiverade versionen.
- På hanteringssidan använder du växlingsknappen för att aktivera certifikatversionen.
Felkod: SecretDeletedFromKeyVault
Beskrivning: Det associerade certifikatet har tagits bort från Key Vault.
Lösning: Så här återställer du ett borttaget certifikat:
- Gå till det länkade nyckelvalvet i Azure Portal.
- Öppna fönstret Certifikat .
- Använd fliken Hanterade borttagna certifikat för att återställa ett borttaget certifikat.
Om ett certifikatobjekt å andra sidan tas bort permanent måste du skapa ett nytt certifikat och uppdatera Application Gateway med den nya certifikatinformationen. När du konfigurerar via Azure CLI eller Azure PowerShell använder du en hemlig identifierar-URI utan version. Med det här valet kan instanser hämta en förnyad version av certifikatet, om det finns.
Felkod: UserAssignedManagedIdentityNotFound
Beskrivning: Den associerade användartilldelade hanterade identiteten har tagits bort.
Lösning: Skapa en ny hanterad identitet och använd den med nyckelvalvet.
- Återskapa en hanterad identitet med samma namn som tidigare användes och under samma resursgrupp. (TIPS: Se resursaktivitetsloggar för namngivningsinformation).
- Gå till önskad nyckelvalvsresurs och ange dess åtkomstprinciper för att ge den nya hanterade identiteten den behörighet som krävs. Du kan följa samma steg som du nämnde under UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault.
Felkod: KeyVaultHasRestrictedAccess
Beskrivning: Det finns en begränsad nätverksinställning för Key Vault.
Lösning: Det här felet uppstår när du aktiverar Key Vault-brandväggen för begränsad åtkomst. Du kan fortfarande konfigurera Application Gateway i ett begränsat nätverk av Key Vault genom att följa dessa steg:
- Öppna fönstret Nätverk i Key Vault.
- Välj fliken Brandväggar och virtuella nätverk och välj Privat slutpunkt och valda nätverk.
- Lägg sedan till application gatewayens virtuella nätverk och undernät med hjälp av virtuella nätverk. Under processen konfigurerar du även tjänstslutpunkten Microsoft.KeyVault genom att markera kryssrutan.
- Välj slutligen Ja för att tillåta att betrodda tjänster kringgår Key Vault-brandväggen.
Felkod: KeyVaultSoftDeleted
Beskrivning: Det associerade nyckelvalvet är i läget mjuk borttagning.
Lösning: I Azure Portal söker du efter nyckelvalv. Under Tjänster väljer du Nyckelvalv.
Välj Hanterade borttagna valv. Härifrån kan du hitta den borttagna Key Vault-resursen och återställa den.
Felkod: CustomerKeyVaultSubscriptionDisabled
Beskrivning: Prenumerationen för Key Vault är inaktiverad.
Lösning: Din Azure-prenumeration kan inaktiveras av olika orsaker. Information om hur du vidtar nödvändiga åtgärder för att lösa problemet finns i Återaktivera en inaktiverad Azure-prenumeration.
Felkoder för Application Gateway
Felkod: ApplicationGatewayCertificateDataOrKeyVaultSecretIdMustBeSpecified/ApplicationGatewaySslCertificateDataMustBeSpecified
Beskrivning: Det här felet kan uppstå när du försöker uppdatera ett lyssnarcertifikat. När det här felet inträffar ignoreras ändringen för att uppdatera certifikatet och lyssnaren fortsätter att hantera trafik med den tidigare definierade konfigurationen.
Lösning: Försök att ladda upp certifikatet igen för att lösa problemet. Följande PowerShell-kommandon kan till exempel användas för att uppdatera certifikat som laddats upp till Application Gateway eller refereras via Azure Key Vault.
Uppdatera certifikatet som laddats upp direkt till 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
Uppdatera certifikat som refereras från 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
Nästa steg
De här felsökningsartiklarna kan vara användbara när du fortsätter att använda Application Gateway: