Delen via


Veelvoorkomende key vault-fouten in Azure-toepassing Gateway

Met Application Gateway kunnen klanten TLS-certificaten veilig opslaan in Azure Key Vault. Wanneer u een sleutelkluisresource gebruikt, is het belangrijk dat de gateway altijd toegang heeft tot de gekoppelde sleutelkluis. Als uw Application Gateway het certificaat niet kan ophalen, worden de bijbehorende HTTPS-listeners in een uitgeschakelde status geplaatst. Meer informatie.

Dit artikel helpt u inzicht te verkrijgen in de details van de foutcodes en de stappen om dergelijke onjuiste configuraties van de sleutelkluis op te lossen.

Tip

Gebruik een geheime id die geen versie opgeeft. Op deze manier draait Azure-toepassing Gateway het certificaat automatisch als er een nieuwere versie beschikbaar is in Azure Key Vault. Een voorbeeld van een geheime URI zonder een versie is: https://myvault.vault.azure.net/secrets/mysecret/.

Azure Advisor-foutcodes

In de volgende secties worden de verschillende fouten beschreven die kunnen optreden. U kunt controleren of uw gateway een dergelijk probleem heeft door naar Azure Advisor voor uw account te gaan en dit artikel voor probleemoplossing te gebruiken om het probleem op te lossen. U wordt aangeraden Azure Advisor-waarschuwingen te configureren om op de hoogte te blijven wanneer er een probleem met de sleutelkluis voor uw gateway wordt gedetecteerd.

Notitie

Azure-toepassing Gateway genereert elke vier uur logboeken voor diagnostische sleutelkluisdiagnose. Als de diagnose de fout blijft weergeven nadat u de configuratie hebt opgelost, moet u mogelijk wachten totdat de logboeken zijn vernieuwd.

Foutcode: UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault

Beschrijving: De gekoppelde door de gebruiker toegewezen beheerde identiteit heeft niet de vereiste machtiging.

Oplossing: Configureer het toegangsbeleid van uw sleutelkluis om de door de gebruiker toegewezen beheerde identiteit toestemming te geven voor geheimen. U kunt dit op een van de volgende manieren doen:

Toegangsbeleid voor kluis

  1. Ga naar de gekoppelde sleutelkluis in Azure Portal.
  2. Open de blade Toegangsbeleid .
  3. Selecteer voor het machtigingsmodel het toegangsbeleid voor de kluis.
  4. Selecteer onder Bewerkingen voor geheimbeheer de machtiging Ophalen .
  5. Selecteer Opslaan.

 Schermopname van het oplossen van de machtigingsfout Ophalen.

Zie Toegangsbeleid voor Key Vault toewijzen met behulp van Azure Portal voor meer informatie.

Op rollen gebaseerd toegangsbeheer van Azure

  1. Ga naar de gekoppelde sleutelkluis in Azure Portal.
  2. Open de blade Toegangsbeleid .
  3. Voor het machtigingsmodel selecteert u op rollen gebaseerd toegangsbeheer van Azure.
  4. Navigeer naar de blade Toegangsbeheer (IAM) om machtigingen te configureren.
  5. Voeg roltoewijzing toe voor uw beheerde identiteit door het volgende te kiezen
    a. Rol: Key Vault Secrets User
    b. Toegang toewijzen aan: Beheerde identiteit
    c. Leden: selecteer de door de gebruiker toegewezen beheerde identiteit die u aan uw toepassingsgateway hebt gekoppeld.
  6. Selecteer Controleren + toewijzen.

Zie Op rollen gebaseerd toegangsbeheer van Azure in Key Vault voor meer informatie.

Notitie

Portalondersteuning voor het toevoegen van een nieuw certificaat op basis van een sleutelkluis is momenteel niet beschikbaar wanneer u op rollen gebaseerd toegangsbeheer van Azure gebruikt. U kunt dit doen met behulp van een ARM-sjabloon, CLI of PowerShell. Ga naar deze pagina voor hulp.

Foutcode: SecretDisabled

Beschrijving: Het bijbehorende certificaat is uitgeschakeld in Key Vault.

Oplossing: schakel de certificaatversie die momenteel wordt gebruikt voor Application Gateway opnieuw in.

  1. Ga naar de gekoppelde sleutelkluis in Azure Portal.
  2. Open het deelvenster Certificaten .
  3. Selecteer de vereiste certificaatnaam en selecteer vervolgens de uitgeschakelde versie.
  4. Gebruik op de beheerpagina de wisselknop om die certificaatversie in te schakelen.

Schermopname van het opnieuw inschakelen van een geheim.

Foutcode: SecretDeletedFromKeyVault

Beschrijving: Het bijbehorende certificaat is verwijderd uit Key Vault.

Oplossing: Een verwijderd certificaat herstellen:

  1. Ga naar de gekoppelde sleutelkluis in Azure Portal.
  2. Open het deelvenster Certificaten .
  3. Gebruik het tabblad Beheerde verwijderde certificaten om een verwijderd certificaat te herstellen.

Als een certificaatobject echter definitief wordt verwijderd, moet u een nieuw certificaat maken en Application Gateway bijwerken met de nieuwe certificaatgegevens. Wanneer u configureert via de Azure CLI of Azure PowerShell, gebruikt u een geheime id-URI zonder versie. Met deze keuze kunnen exemplaren een vernieuwde versie van het certificaat ophalen, indien aanwezig.

Schermopname van het herstellen van een verwijderd certificaat in Key Vault.

Foutcode: UserAssignedManagedIdentityNotFound

Beschrijving: De gekoppelde door de gebruiker toegewezen beheerde identiteit is verwijderd.

Oplossing: Maak een nieuwe beheerde identiteit en gebruik deze met de sleutelkluis.

  1. Maak een beheerde identiteit opnieuw met dezelfde naam die eerder is gebruikt en onder dezelfde resourcegroep. (TIP: Raadpleeg de resourceactiviteitslogboeken voor naamgevingsgegevens).
  2. Ga naar de gewenste sleutelkluisresource en stel het toegangsbeleid in om deze nieuwe beheerde identiteit de vereiste machtiging te verlenen. U kunt dezelfde stappen volgen als vermeld onder UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault.

Foutcode: KeyVaultHasRestrictedAccess

Beschrijving: Er is een beperkte netwerkinstelling voor Key Vault.

Oplossing: deze fout treedt op wanneer u de Key Vault-firewall inschakelt voor beperkte toegang. U kunt Application Gateway nog steeds configureren in een beperkt netwerk van Key Vault door de volgende stappen uit te voeren:

  1. Open in Key Vault het deelvenster Netwerken .
  2. Selecteer het tabblad Firewalls en virtuele netwerken en selecteer Privé-eindpunt en geselecteerde netwerken.
  3. Voeg vervolgens met behulp van Virtuele netwerken het virtuele netwerk en subnet van uw Application Gateway toe. Configureer tijdens het proces ook het service-eindpunt Microsoft.KeyVault door het bijbehorende selectievakje in te schakelen.
  4. Selecteer tot slot Ja om vertrouwde services toe te staan om de firewall van Key Vault te omzeilen.

Schermopname die laat zien hoe u de fout met het beperkte netwerk kunt omzeilen.

Foutcode: KeyVaultSoftDeleted

Beschrijving: De bijbehorende sleutelkluis heeft de status Voorlopig verwijderen.

Oplossing: Zoek in Azure Portal naar sleutelkluis. Selecteer sleutelkluizen onder Services.

Schermopname van het zoeken naar de Key Vault-service.

Selecteer Beheerde verwijderde kluizen. Hier vindt u de verwijderde Key Vault-resource en herstelt u deze. Schermopname van het herstellen van een verwijderde sleutelkluis.

Foutcode: CustomerKeyVaultSubscriptionDisabled

Beschrijving: Het abonnement voor Key Vault is uitgeschakeld.

Oplossing: Uw Azure-abonnement kan om verschillende redenen worden uitgeschakeld. Zie Een uitgeschakeld Azure-abonnement opnieuw activeren om de benodigde actie uit te voeren.

Foutcodes voor Application Gateway

Foutcode: ApplicationGatewayCertificateDataOrKeyVaultSecretIdMustBeSpecified / ApplicationGatewaySslCertificateDataMustBeSpecified

Beschrijving: Deze fout kan optreden bij het bijwerken van een listenercertificaat. Wanneer deze fout optreedt, wordt de wijziging voor het bijwerken van het certificaat verwijderd en blijft de listener verkeer verwerken met de eerder gedefinieerde configuratie.

Oplossing: Probeer het certificaat opnieuw te uploaden om dit probleem op te lossen. De volgende PowerShell-opdrachten kunnen bijvoorbeeld worden gebruikt om certificaten bij te werken die zijn geüpload naar Application Gateway of waarnaar wordt verwezen via Azure Key Vault.

Certificaat bijwerken dat rechtstreeks naar Application Gateway is geüpload:

$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 

Certificaat bijwerken waarnaar wordt verwezen vanuit 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 

Volgende stappen

Deze artikelen over probleemoplossing kunnen nuttig zijn als u Application Gateway blijft gebruiken: