Veelvoorkomende key vault-fouten in Azure Application Gateway oplossen

Samenvatting

In dit artikel wordt uitgelegd hoe u veelvoorkomende key vault-fouten in Azure Application Gateway oplost en onjuiste configuraties oplost die certificaatbeheer en beveiligde HTTPS-verbindingen kunnen verstoren.

Met Application Gateway kunt u VEILIG TLS-certificaten 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 uitgeschakeld. Zie Begrip van uitgeschakelde listeners voor meer informatie.

Aanbeveling

Gebruik een geheime id die geen versie opgeeft. Door deze identificator te gebruiken, vernieuwt Azure Application Gateway het certificaat automatisch als er een nieuwere versie beschikbaar is in Azure Key Vault. Een voorbeeld van een geheime URI (Uniform Resource Identifier) zonder een versie is: https://myvault.vault.azure.net/secrets/mysecret/.

foutcodes Azure Advisor

In de volgende secties worden de verschillende fouten beschreven die kunnen optreden. Als u wilt controleren of uw gateway een van deze problemen heeft, gaat u naar Azure Advisor voor uw account. Gebruik dit artikel voor probleemoplossing om het probleem op te lossen. Configureer Azure Advisor-waarschuwingen om op de hoogte te blijven wanneer er een probleem met de sleutelkluis voor uw gateway wordt gedetecteerd.

Opmerking

Application Gateway genereert elke vier uur logboeken voor Key Vault-diagnostiek. Als de diagnose de fout blijft weergeven nadat u de configuratie hebt hersteld, moet u mogelijk wachten totdat de logboeken zijn vernieuwd.

Foutcode - "UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault"

Description

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

Solution

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 twee manieren doen:

Toegangsbeleid voor kluis

  1. Ga in de Azure-portal naar de gekoppelde sleutelkluis.
  2. Selecteer Toegangsbeleid.
  3. Selecteer voor het machtigingsmodelhet toegangsbeleid voor de kluis.
  4. Selecteer in Secret Management Operations de machtiging Ophalen.
  5. Selecteer Opslaan.

Schermafbeelding van de instellingen voor het Key Vault-toegangsbeleid die worden gebruikt om een beheerde identiteit de Get-machtiging te verlenen.

Zie voor meer informatie Een toegang beleid voor Key Vault toewijzen met behulp van de Azure-portal.

Toegangsbeheer op basis van rollen in Azure (RBAC)

  1. Ga in de Azure-portal naar de gekoppelde sleutelkluis.
  2. Selecteer Toegangsbeleid.
  3. Voor Permission-model selecteert u Azure op rollen gebaseerd toegangsbeheer.
  4. Ga naar Toegangsbeheer (IAM) om machtigingen te configureren.
  5. Voeg roltoewijzing toe voor uw beheerde identiteit door de volgende waarden 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 Beoordelen en toewijzen.

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

Opmerking

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 (Azure Resource Management), Azure CLI of Azure PowerShell. Zie het machtigingsmodel voor op rollen gebaseerd toegangsbeheer in Key Vault van Azure voor meer informatie.

Foutcode - "SecretDisabled"

Description

Het bijbehorende certificaat is uitgeschakeld in Azure Key Vault.

Solution

Schakel de versie van het certificaat in die Application Gateway gebruikt. Volg hiervoor deze stappen:

  1. Ga in de Azure-portal naar de gekoppelde sleutelkluis.
  2. Selecteer Certificaten.
  3. Selecteer de gewenste certificaatnaam en selecteer vervolgens de uitgeschakelde versie.
  4. Gebruik op de beheerpagina de wisselknop om die certificaatversie in te schakelen.

Schermopname van de wisselknop Key Vault certificaatversie die wordt gebruikt om een uitgeschakeld geheim opnieuw in te schakelen.

Foutcode - "SecretDeletedFromKeyVault"

Description

Het bijbehorende certificaat wordt verwijderd uit Key Vault.

Solution

Voer de volgende stappen uit om een verwijderd certificaat te herstellen:

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

Als u een certificaatobject definitief verwijdert, maakt u een nieuw certificaat en werkt u Application Gateway bij met de nieuwe certificaatgegevens. Wanneer u configureert via 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 tabblad Beheerde verwijderde certificaten dat wordt gebruikt om een verwijderd Key Vault certificaat te herstellen.

Foutcode - "UserAssignedManagedIdentityNotFound"

Description

De gekoppelde door de gebruiker toegewezen beheerde identiteit wordt verwijderd.

Solution

Maak een nieuwe beheerde identiteit en gebruik deze voor de Key Vault. Voer hiervoor de volgende stappen uit:

  1. Maak een beheerde identiteit opnieuw met dezelfde naam die u eerder hebt gebruikt en onder dezelfde resourcegroep. Raadpleeg de resourceactiviteitslogboeken voor naamgevingsdetails.
  2. Ga naar de sleutelkluisresource die u wilt gebruiken en stel het toegangsbeleid in om deze nieuwe beheerde identiteit de vereiste machtiging te verlenen. Zie foutcode: UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault voor meer informatie.

Foutcode - KeyVaultHasRestrictedAccess

Description

Key Vault heeft een beperkte netwerkinstelling.

Solution

Deze fout treedt op wanneer u de Key Vault firewall inschakelt voor beperkte toegang. Configureer Application Gateway in een beperkt netwerk van Key Vault. Voer hiervoor de volgende stappen uit:

  1. Selecteer Netwerken in Key Vault.
  2. Selecteer het tabblad Firewalls en virtuele netwerken en selecteer vervolgens Privé-eindpunt en geselecteerde netwerken.
  3. Gebruik Azure Virtual Network om het virtuele netwerk en subnet van uw Application Gateway toe te voegen.
  4. Selecteer het selectievakje Microsoft.KeyVault.
  5. Selecteer Ja. Met deze actie kunnen vertrouwde services de Key Vault firewall omzeilen.

Schermopname van Key Vault netwerkinstellingen die worden gebruikt voor het configureren van beperkte netwerktoegang.

Foutcode - KeyVaultSoftDeleted

Description

De bijbehorende sleutelkluis bevindt zich in de status voor voorlopig verwijderen.

Solution

Zoek de verwijderde Key Vault-resource. Voer hiervoor de volgende stappen uit:

  1. Zoek in de Azure-portal naar sleutelkluis.
  2. Selecteer sleutelkluizen in Services.

Schermopname van het zoeken naar de Key Vault-service in de Azure-portal.

  1. Selecteer Beheerde verwijderde kluizen.
  2. Zoek de verwijderde sleutelkluis en herstel deze.

Schermopname van beheerde verwijderde kluizen met de optie om een verwijderde sleutelkluis te herstellen.

Foutcode - "CustomerKeyVaultSubscriptionDisabled"

Description

Het abonnement voor Key Vault is uitgeschakeld.

Solution

Verschillende redenen kunnen ertoe leiden dat Azure uw abonnement uitschakelt. Zie Een uitgeschakeld Azure-abonnement opnieuw activeren om de benodigde actie te ondernemen om dit probleem op te lossen.

Foutcodes voor Application Gateway

Foutcode - "ApplicationGatewayCertificateDataOrKeyVaultSecretIdMustBeSpecified / ApplicationGatewaySslCertificateDataMustBeSpecified"

Description

Deze fout treedt op wanneer u probeert een listenercertificaat bij te werken. 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.

Solution

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

Werk het certificaat bij 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 

References