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
- Ga naar de gekoppelde sleutelkluis in Azure Portal.
- Open de blade Toegangsbeleid .
- Selecteer voor het machtigingsmodel het toegangsbeleid voor de kluis.
- Selecteer onder Bewerkingen voor geheimbeheer de machtiging Ophalen .
- Selecteer Opslaan.
Zie Toegangsbeleid voor Key Vault toewijzen met behulp van Azure Portal voor meer informatie.
Op rollen gebaseerd toegangsbeheer van Azure
- Ga naar de gekoppelde sleutelkluis in Azure Portal.
- Open de blade Toegangsbeleid .
- Voor het machtigingsmodel selecteert u op rollen gebaseerd toegangsbeheer van Azure.
- Navigeer naar de blade Toegangsbeheer (IAM) om machtigingen te configureren.
- 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. - 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.
- Ga naar de gekoppelde sleutelkluis in Azure Portal.
- Open het deelvenster Certificaten .
- Selecteer de vereiste certificaatnaam en selecteer vervolgens de uitgeschakelde versie.
- Gebruik op de beheerpagina de wisselknop om die certificaatversie in te schakelen.
Foutcode: SecretDeletedFromKeyVault
Beschrijving: Het bijbehorende certificaat is verwijderd uit Key Vault.
Oplossing: Een verwijderd certificaat herstellen:
- Ga naar de gekoppelde sleutelkluis in Azure Portal.
- Open het deelvenster Certificaten .
- 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.
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.
- Maak een beheerde identiteit opnieuw met dezelfde naam die eerder is gebruikt en onder dezelfde resourcegroep. (TIP: Raadpleeg de resourceactiviteitslogboeken voor naamgevingsgegevens).
- 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:
- Open in Key Vault het deelvenster Netwerken .
- Selecteer het tabblad Firewalls en virtuele netwerken en selecteer Privé-eindpunt en geselecteerde netwerken.
- 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.
- Selecteer tot slot Ja om vertrouwde services toe te staan om de firewall van Key Vault te omzeilen.
Foutcode: KeyVaultSoftDeleted
Beschrijving: De bijbehorende sleutelkluis heeft de status Voorlopig verwijderen.
Oplossing: Zoek in Azure Portal naar sleutelkluis. Selecteer sleutelkluizen onder Services.
Selecteer Beheerde verwijderde kluizen. Hier vindt u de verwijderde Key Vault-resource en herstelt u deze.
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: