Typowe błędy magazynu kluczy w usłudze aplikacja systemu Azure Gateway

Usługa Application Gateway umożliwia klientom bezpieczne przechowywanie certyfikatów TLS w usłudze Azure Key Vault. W przypadku korzystania z zasobu magazynu kluczy ważne jest, aby brama zawsze miał dostęp do połączonego magazynu kluczy. Jeśli usługa Application Gateway nie może pobrać certyfikatu, skojarzone odbiorniki HTTPS zostaną umieszczone w stanie wyłączonym. Dowiedz się więcej.

Ten artykuł ułatwia zapoznanie się ze szczegółami kodów błędów i krokami rozwiązywania problemów z błędami w magazynie kluczy.

Napiwek

Użyj identyfikatora wpisu tajnego, który nie określa wersji. W ten sposób usługa aplikacja systemu Azure Gateway automatycznie obraca certyfikat, jeśli nowsza wersja jest dostępna w usłudze Azure Key Vault. Przykładem tajnego identyfikatora URI bez wersji jest: https://myvault.vault.azure.net/secrets/mysecret/.

Kody błędów usługi Azure Advisor

W poniższych sekcjach opisano różne błędy, które mogą wystąpić. Możesz sprawdzić, czy brama ma taki problem, odwiedzając usługę Azure Advisor dla twojego konta, i skorzystaj z tego artykułu rozwiązywania problemów, aby rozwiązać ten problem. Zalecamy skonfigurowanie alertów usługi Azure Advisor, aby być na bieżąco po wykryciu problemu z magazynem kluczy dla bramy.

Uwaga

aplikacja systemu Azure Gateway generuje dzienniki diagnostyki magazynu kluczy co cztery godziny. Jeśli diagnostyka nadal wyświetla błąd po naprawieniu konfiguracji, może być konieczne oczekiwanie na odświeżenie dzienników.

Kod błędu: UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault

Opis: skojarzona tożsamość zarządzana przypisana przez użytkownika nie ma wymaganych uprawnień.

Rozwiązanie: skonfiguruj zasady dostępu magazynu kluczy, aby przyznać użytkownikowi uprawnienia tożsamości zarządzanej wpisów tajnych. Można to zrobić w dowolny z następujących sposobów:

Zasady dostępu do magazynu

  1. Przejdź do połączonego magazynu kluczy w witrynie Azure Portal.
  2. Otwórz blok Zasady dostępu.
  3. W obszarze Model uprawnień wybierz pozycję Zasady dostępu do magazynu.
  4. W obszarze Operacje zarządzania wpisami tajnymi wybierz uprawnienie Pobierz .
  5. Wybierz pozycję Zapisz.

 Screenshot that shows how to resolve the Get permission error.

Aby uzyskać więcej informacji, zobacz Przypisywanie zasad dostępu usługi Key Vault przy użyciu witryny Azure Portal.

Kontrola dostępu na podstawie ról na platformie Azure

  1. Przejdź do połączonego magazynu kluczy w witrynie Azure Portal.
  2. Otwórz blok Zasady dostępu.
  3. W obszarze Model uprawnień wybierz pozycję Kontrola dostępu oparta na rolach na platformie Azure.
  4. Przejdź do bloku Kontrola dostępu (IAM), aby skonfigurować uprawnienia.
  5. Dodaj przypisanie roli dla tożsamości zarządzanej, wybierając następujące opcje
    a. Rola: Użytkownik wpisów tajnych usługi Key Vault
    b. Przypisywanie dostępu do: tożsamość zarządzana
    c. Członkowie: wybierz tożsamość zarządzaną przypisaną przez użytkownika skojarzona z bramą aplikacji.
  6. Wybierz Przejrzyj + przypisz.

Aby uzyskać więcej informacji, zobacz Kontrola dostępu oparta na rolach na platformie Azure w usłudze Key Vault.

Uwaga

Obsługa portalu do dodawania nowego certyfikatu opartego na magazynie kluczy nie jest obecnie dostępna w przypadku korzystania z kontroli dostępu opartej na rolach platformy Azure. Można to zrobić przy użyciu szablonu usługi ARM, interfejsu wiersza polecenia lub programu PowerShell. Odwiedź tę stronę , aby uzyskać wskazówki.

Kod błędu: SecretDisabled

Opis: skojarzony certyfikat został wyłączony w usłudze Key Vault.

Rozwiązanie: Włącz ponownie wersję certyfikatu, która jest obecnie używana dla usługi Application Gateway.

  1. Przejdź do połączonego magazynu kluczy w witrynie Azure Portal.
  2. Otwórz okienko Certyfikaty.
  3. Wybierz wymaganą nazwę certyfikatu, a następnie wybierz wyłączoną wersję.
  4. Na stronie zarządzania użyj przełącznika , aby włączyć tę wersję certyfikatu.

Screenshot that shows how to re-enable a secret.

Kod błędu: SecretDeletedFromKeyVault

Opis: skojarzony certyfikat został usunięty z usługi Key Vault.

Rozwiązanie: Aby odzyskać usunięty certyfikat:

  1. Przejdź do połączonego magazynu kluczy w witrynie Azure Portal.
  2. Otwórz okienko Certyfikaty.
  3. Użyj karty Zarządzane usunięte certyfikaty, aby odzyskać usunięty certyfikat.

Z drugiej strony, jeśli obiekt certyfikatu zostanie trwale usunięty, należy utworzyć nowy certyfikat i zaktualizować usługę Application Gateway przy użyciu nowych szczegółów certyfikatu. Podczas konfigurowania za pomocą interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell użyj identyfikatora tajnego identyfikatora URI bez wersji. Ten wybór umożliwia wystąpieniom pobranie odnowionej wersji certyfikatu, jeśli istnieje.

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

Kod błędu: UserAssignedManagedIdentityNotFound

Opis: skojarzona tożsamość zarządzana przypisana przez użytkownika została usunięta.

Rozwiązanie: utwórz nową tożsamość zarządzaną i użyj jej z magazynem kluczy.

  1. Utwórz ponownie tożsamość zarządzaną o tej samej nazwie, która została wcześniej użyta i w ramach tej samej grupy zasobów. (PORADA: Zapoznaj się z dziennikami aktywności zasobów, aby uzyskać szczegółowe informacje na temat nazewnictwa).
  2. Przejdź do żądanego zasobu magazynu kluczy i ustaw zasady dostępu, aby przyznać tej nowej tożsamości zarządzanej wymagane uprawnienie. Możesz wykonać te same czynności, jak wymienione w obszarze UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault.

Kod błędu: KeyVaultHasRestrictedAccess

Opis: istnieje ustawienie sieci z ograniczeniami dla usługi Key Vault.

Rozwiązanie: ten błąd występuje po włączeniu zapory usługi Key Vault w celu uzyskania ograniczonego dostępu. Nadal można skonfigurować usługę Application Gateway w ograniczonej sieci usługi Key Vault, wykonując następujące kroki:

  1. W usłudze Key Vault otwórz okienko Sieć .
  2. Wybierz kartę Zapory i sieci wirtualne, a następnie wybierz pozycję Prywatny punkt końcowy i wybrane sieci.
  3. Następnie przy użyciu sieci wirtualnych dodaj sieć wirtualną i podsieć usługi Application Gateway. Podczas procesu skonfiguruj również punkt końcowy usługi "Microsoft.KeyVault", zaznaczając pole wyboru.
  4. Na koniec wybierz pozycję Tak , aby zezwolić usługom zaufanym na obejście zapory usługi Key Vault.

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

Kod błędu: KeyVaultSoftDeleted

Opis: skojarzony magazyn kluczy jest w stanie usuwania nietrwałego.

Rozwiązanie: w witrynie Azure Portal wyszukaj magazyn kluczy. W obszarze Usługi wybierz pozycję Magazyny kluczy.

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

Wybierz pozycję Zarządzane usunięte magazyny. W tym miejscu możesz znaleźć usunięty zasób usługi Key Vault i odzyskać go. Screenshot that shows how to recover a deleted key vault.

Kod błędu: CustomerKeyVaultSubscriptionDisabled

Opis: Subskrypcja usługi Key Vault jest wyłączona.

Rozwiązanie: Twoja subskrypcja platformy Azure może być wyłączona z różnych powodów. Aby wykonać niezbędne działania w celu rozwiązania problemu, zobacz Ponowne aktywowanie wyłączonej subskrypcji platformy Azure.

Kody błędów usługi Application Gateway

Kod błędu: ApplicationGatewayCertificateDataOrKeyVaultSecretIdMustBeSpecified/ ApplicationGatewaySslCertificateDataMustBeSpecified

Opis: Ten błąd może wystąpić podczas próby zaktualizowania certyfikatu odbiornika. W przypadku wystąpienia tego błędu zmiana aktualizacji certyfikatu zostanie odrzucona, a odbiornik będzie nadal obsługiwać ruch z wcześniej zdefiniowaną konfiguracją.

Rozwiązanie: Aby rozwiązać ten problem, spróbuj ponownie przekazać certyfikat. Na przykład następujące polecenia programu PowerShell mogą służyć do aktualizowania certyfikatów przekazanych do usługi Application Gateway lub przywoływane za pośrednictwem usługi Azure Key Vault.

Zaktualizuj certyfikat przekazany bezpośrednio do usługi 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 

Zaktualizuj certyfikat, do których odwołuje się usługa 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 

Następne kroki

Te artykuły dotyczące rozwiązywania problemów mogą być przydatne, ponieważ nadal używasz usługi Application Gateway: