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

  1. Gå till det länkade nyckelvalvet i Azure-portalen.
  2. Öppna bladet Åtkomstprinciper.
  3. Som Behörighetsmodell väljer du Åtkomstprincip för valv.
  4. Under Hemliga hanteringsåtgärder väljer du behörigheten Hämta .
  5. Välj Spara.

 Screenshot that shows how to resolve the Get permission error.

Mer information finns i Tilldela en Key Vault-åtkomstprincip med hjälp av Azure-portalen.

Rollbaserad Azure-åtkomstkontroll

  1. Gå till det länkade nyckelvalvet i Azure-portalen.
  2. Öppna bladet Åtkomstprinciper.
  3. Som Behörighetsmodell väljer du Rollbaserad åtkomstkontroll i Azure.
  4. Gå till bladet Åtkomstkontroll (IAM) för att konfigurera behörigheter.
  5. 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.
  6. 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.

  1. Gå till det länkade nyckelvalvet i Azure-portalen.
  2. Öppna fönstret Certifikat .
  3. Välj det certifikatnamn som krävs och välj sedan den inaktiverade versionen.
  4. På hanteringssidan använder du växlingsknappen för att aktivera certifikatversionen.

Screenshot that shows how to re-enable a secret.

Felkod: SecretDeletedFromKeyVault

Beskrivning: Det associerade certifikatet har tagits bort från Key Vault.

Lösning: Så här återställer du ett borttaget certifikat:

  1. Gå till det länkade nyckelvalvet i Azure-portalen.
  2. Öppna fönstret Certifikat .
  3. 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.

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

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.

  1. Återskapa en hanterad identitet med samma namn som tidigare användes och under samma resursgrupp. (TIPS: Se resursaktivitetsloggar för namngivningsinformation).
  2. 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:

  1. Öppna fönstret Nätverk i Key Vault.
  2. Välj fliken Brandväggar och virtuella nätverk och välj Privat slutpunkt och valda nätverk.
  3. 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.
  4. Välj slutligen Ja för att tillåta att betrodda tjänster kringgår Key Vault-brandväggen.

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

Felkod: KeyVaultSoftDeleted

Beskrivning: Det associerade nyckelvalvet är i läget mjuk borttagning.

Lösning: Sök efter nyckelvalv i Azure-portalen. Under Tjänster väljer du Nyckelvalv.

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

Välj Hanterade borttagna valv. Härifrån kan du hitta den borttagna Key Vault-resursen och återställa den. Screenshot that shows how to recover a deleted key vault.

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: