Rozwiązywanie typowych błędów usługi Key Vault w bramie aplikacji Azure

Podsumowanie

W tym artykule wyjaśniono, jak rozwiązywać typowe błędy magazynu kluczy w Azure Application Gateway i rozwiązywać błędy konfiguracji, które mogą zakłócać zarządzanie certyfikatami i zabezpieczać połączenia HTTPS.

Usługa Application Gateway umożliwia 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ła dostęp do powiązanego magazynu kluczy. Jeśli usługa Application Gateway nie może pobrać certyfikatu, wyłącza skojarzone odbiorniki HTTPS. Aby uzyskać więcej informacji, zobacz Zrozumienie wyłączonych nasłuchiwaczy.

Wskazówka

Użyj tajnego identyfikatora, który nie określa wersji. Korzystając z tego identyfikatora, usługa Azure Application Gateway automatycznie obraca certyfikat, jeśli nowsza wersja jest dostępna w usłudze Azure Key Vault. Przykładem tajnego identyfikatora URI (Uniform Resource Identifier) bez wersji jest: https://myvault.vault.azure.net/secrets/mysecret/.

kody błędów Azure Advisor

W poniższych sekcjach opisano różne błędy, które mogą wystąpić. Aby sprawdzić, czy brama ma jakiekolwiek z tych problemów, odwiedź stronę Azure Advisor dla twojego konta. Skorzystaj z tego artykułu rozwiązywania problemów, aby rozwiązać ten problem. Skonfiguruj alerty usługi Azure Advisor, aby być na bieżąco po wykryciu problemu z magazynem kluczy dla bramy.

Uwaga / Notatka

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

Kod błędu — "UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault"

Description

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

Rozwiązanie

Skonfiguruj zasady dostępu do magazynu kluczy, aby udzielić uprawnień tożsamości zarządzanej przypisanej przez użytkownika do wpisów tajnych. Można to zrobić na jeden z następujących dwóch sposobów:

Zasady dostępu do skarbca

  1. W portalu Azure przejdź do połączonego magazynu kluczy.
  2. Wybierz opcję Uzyskaj dostęp do zasad.
  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 opcję Zapisz.

Zrzut ekranu przedstawiający ustawienia zasad dostępu Key Vault używane do udzielania tożsamości zarządzanej Uzyskiwanie uprawnień.

Aby uzyskać więcej informacji, zobacz Przypisywanie zasad dostępu do Key Vault przy użyciu portalu Azure.

Azure role-based access control (RBAC) (Kontrola dostępu oparta na rolach na platformie Azure)

  1. W portalu Azure przejdź do połączonego magazynu kluczy.
  2. Wybierz opcję Uzyskaj dostęp do zasad.
  3. W przypadku modelu uprawnień wybierz kontrolę dostępu opartą na rolach w Azure.
  4. Przejdź do pozycji Kontrola dostępu (Zarządzanie dostępem i tożsamościami), aby skonfigurować uprawnienia.
  5. Dodaj przypisanie roli dla tożsamości zarządzanej, wybierając poniższe wartości: a. Rola: Użytkownik wpisów tajnych usługi Key Vault b. Przypisz dostęp do: tożsamości zarządzanej c. Członkowie: wybierz tożsamość zarządzaną przypisaną przez użytkownika skojarzona z bramą aplikacji.
  6. Wybierz Przejrzyj i przypisz.

Aby uzyskać więcej informacji, zajrzyj do kontroli dostępu opartej na rolach Azure w usłudze Key Vault.

Uwaga / Notatka

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 Azure Resource Management (ARM), Azure CLI lub Azure PowerShell. Aby dowiedzieć się więcej, zobacz Model uprawnień kontroli dostępu opartej na rolach platformy Azure w usłudze Key Vault.

Kod błędu — "SecretDisabled"

Description

Skojarzony certyfikat jest wyłączony w Azure Key Vault.

Rozwiązanie

Włącz wersję certyfikatu używaną przez usługę Application Gateway. W tym celu wykonaj następujące kroki:

  1. W portalu Azure przejdź do połączonego magazynu kluczy.
  2. Wybierz pozycję Certyfikaty.
  3. Wybierz odpowiednią nazwę certyfikatu, a następnie wybierz wyłączoną wersję.
  4. Na stronie zarządzania użyj przełącznika , aby włączyć tę wersję certyfikatu.

Zrzut ekranu przedstawiający przełącznik wersji certyfikatu w usłudze Key Vault, służący do ponownego włączenia wyłączonego sekretu.

Kod błędu — "SecretDeletedFromKeyVault"

Description

Skojarzony certyfikat zostanie usunięty z Key Vault.

Rozwiązanie

Aby odzyskać usunięty certyfikat, wykonaj następujące kroki:

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

Jeśli trwale usuniesz obiekt certyfikatu, utwórz nowy certyfikat i zaktualizuj usługę Application Gateway przy użyciu nowych szczegółów certyfikatu. Podczas konfigurowania za pomocą Azure CLI lub Azure PowerShell użyj identyfikatora tajnego identyfikatora URI bez wersji. Ten wybór umożliwia wystąpieniom pobranie odnowionej wersji certyfikatu, o ile taka istnieje.

Zrzut ekranu przedstawiający kartę Zarządzanie usuniętymi certyfikatami, używaną do odzyskiwania usuniętego certyfikatu w usłudze Key Vault.

Kod błędu — "UserAssignedManagedIdentityNotFound"

Description

Skojarzona tożsamość zarządzana przypisana przez użytkownika jest usuwana.

Rozwiązanie

Utwórz nową tożsamość zarządzaną i użyj jej z usługą Key Vault. W tym celu wykonaj następujące kroki:

  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. Zobacz temat „Dzienniki aktywności zasobów”, aby uzyskać szczegółowe informacje o nazewnictwie.
  2. Przejdź do zasobu usługi Azure Key Vault, który Cię interesuje, i ustaw jego polityki dostępu, aby przyznać tej nowej zarządzanej tożsamości wymagane uprawnienia. Aby uzyskać więcej informacji, zobacz Kod błędu: UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault.

Kod błędu — "KeyVaultHasRestrictedAccess"

Description

Key Vault ma ustawienie sieci z ograniczeniami.

Rozwiązanie

Ten błąd występuje po włączeniu zapory Key Vault dla ograniczonego dostępu. Skonfiguruj usługę Application Gateway w ograniczonej sieci Key Vault. W tym celu wykonaj następujące kroki:

  1. W Key Vault wybierz pozycję Sieć.
  2. Wybierz kartę Zapory i sieci wirtualne , a następnie wybierz pozycję Prywatny punkt końcowy i wybrane sieci.
  3. Użyj Azure Virtual Network, aby dodać sieć wirtualną i podsieć usługi Application Gateway.
  4. Zaznacz pole wyboru Microsoft.KeyVault.
  5. Wybierz opcję Tak. Ta akcja umożliwia zaufanym usługom obejście zapory Key Vault.

Zrzut ekranu przedstawiający ustawienia sieci Key Vault używane do konfigurowania ograniczonego dostępu do sieci.

Kod błędu — "KeyVaultSoftDeleted"

Description

Skojarzony magazyn kluczy jest w stanie usuwania nietrwałego.

Rozwiązanie

Znajdź usunięty zasób magazynu kluczy. W tym celu wykonaj następujące kroki:

  1. W portalu Azure wyszukaj magazyn kluczy.
  2. W sekcji Usługi wybierz pozycję Magazyny kluczy.

Zrzut ekranu przedstawiający wyszukiwanie usługi Key Vault w portalu Azure.

  1. Wybierz pozycję Zarządzane usunięte skarbce.
  2. Znajdź usunięty zasób magazynu kluczy i odzyskaj go.

Zrzut ekranu przedstawiający zarządzanie usuniętymi magazynami z opcją przywrócenia usuniętego magazynu kluczy.

Kod błędu: "CustomerKeyVaultSubscriptionDisabled"

Description

Subskrypcja Key Vault jest wyłączona.

Rozwiązanie

Różne przyczyny mogą spowodować, że Azure wyłączyć subskrypcję. Aby wykonać niezbędne działania w celu rozwiązania tego problemu, zobacz Ponowne aktywowanie wyłączonej subskrypcji platformy Azure.

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

Kod błędu — "ApplicationGatewayCertificateDataOrKeyVaultSecretIdMustBeSpecified/ ApplicationGatewaySslCertificateDataMustBeSpecified"

Description

Ten błąd występuje 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 przesłać certyfikat. Na przykład użyj następujących poleceń programu PowerShell, aby zaktualizować certyfikaty przekazane do usługi Application Gateway lub przywoływane za pośrednictwem usługi Azure Key Vault.

Zaktualizuj certyfikat przesłany 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ę 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