Běžné chyby trezoru klíčů ve službě Aplikace Azure Gateway

Application Gateway umožňuje zákazníkům bezpečně ukládat certifikáty TLS ve službě Azure Key Vault. Při použití prostředku trezoru klíčů je důležité, aby brána vždy získala přístup k propojenému trezoru klíčů. Pokud vaše služba Application Gateway nemůže načíst certifikát, přidružené naslouchací procesy HTTPS se umístí do zakázaného stavu. Další informace.

Tento článek vám pomůže porozumět podrobnostem kódů chyb a krokům k vyřešení těchto chybných konfigurací trezoru klíčů.

Tip

Použijte identifikátor tajného kódu, který neurčí verzi. Díky tomu Aplikace Azure Gateway certifikát automaticky otočí, pokud je ve službě Azure Key Vault dostupná novější verze. Příkladem tajného identifikátoru URI bez verze je: https://myvault.vault.azure.net/secrets/mysecret/.

Kódy chyb Azure Advisoru

Následující části popisují různé chyby, se kterými se můžete setkat. Pokud chcete ověřit, jestli má brána nějaký takový problém, navštivte azure Advisor pro váš účet a pomocí tohoto článku o řešení potíží problém vyřešte. Doporučujeme nakonfigurovat upozornění Azure Advisoru, aby byla informovaná, když se pro vaši bránu zjistí problém s trezorem klíčů.

Poznámka:

Aplikace Azure Gateway generuje protokoly pro diagnostiku trezoru klíčů každých čtyři hodiny. Pokud diagnostika po opravení konfigurace stále zobrazuje chybu, možná budete muset počkat, až se protokoly aktualizují.

Kód chyby: UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault

Popis: Přidružená spravovaná identita přiřazená uživatelem nemá požadovaná oprávnění.

Řešení: Nakonfigurujte zásady přístupu trezoru klíčů tak, aby u tajných kódů udělily oprávnění spravované identity přiřazené uživatelem. Můžete to udělat některým z následujících způsobů:

Zásady přístupu k trezoru

  1. Na webu Azure Portal přejděte do propojeného trezoru klíčů.
  2. Otevřete okno Zásady přístupu.
  3. V případě modelu oprávnění vyberte zásady přístupu trezoru.
  4. V části Operace správy tajných kódů vyberte oprávnění Získat .
  5. Zvolte Uložit.

 Screenshot that shows how to resolve the Get permission error.

Další informace najdete v tématu Přiřazení zásad přístupu ke službě Key Vault pomocí webu Azure Portal.

Řízení přístupu na základě role v Azure

  1. Na webu Azure Portal přejděte do propojeného trezoru klíčů.
  2. Otevřete okno Zásady přístupu.
  3. V případě modelu oprávnění vyberte řízení přístupu na základě role v Azure.
  4. Přejděte do okna Řízení přístupu (IAM) a nakonfigurujte oprávnění.
  5. Přidání přiřazení role pro spravovanou identitu výběrem následujícího příkazu
    a. Role: Uživatel tajných kódů služby Key Vault
    b. Přiřazení přístupu: Spravovaná identita
    c. Členové: Vyberte spravovanou identitu přiřazenou uživatelem, kterou jste přidružili ke službě Application Gateway.
  6. Vyberte Zkontrolovat + přiřadit.

Další informace najdete v tématu Řízení přístupu na základě role v Azure ve službě Key Vault.

Poznámka:

Podpora portálu pro přidání nového certifikátu založeného na trezoru klíčů není v současné době dostupná při použití řízení přístupu na základě role v Azure. Můžete toho dosáhnout pomocí šablony ARM, rozhraní příkazového řádku nebo PowerShellu. Pokyny najdete na této stránce .

Kód chyby: SecretDisabled

Popis: Přidružený certifikát je ve službě Key Vault zakázaný.

Řešení: Znovu povolte verzi certifikátu, která se aktuálně používá pro službu Application Gateway.

  1. Na webu Azure Portal přejděte do propojeného trezoru klíčů.
  2. Otevřete podokno Certifikáty.
  3. Vyberte požadovaný název certifikátu a pak vyberte zakázanou verzi.
  4. Na stránce správy pomocí přepínače povolte tuto verzi certifikátu.

Screenshot that shows how to re-enable a secret.

Kód chyby: SecretDeletedFromKeyVault

Popis: Přidružený certifikát byl odstraněn ze služby Key Vault.

Řešení: Obnovení odstraněného certifikátu:

  1. Na webu Azure Portal přejděte do propojeného trezoru klíčů.
  2. Otevřete podokno Certifikáty.
  3. K obnovení odstraněného certifikátu použijte kartu Spravované odstraněné certifikáty.

Pokud se objekt certifikátu trvale odstraní, budete muset vytvořit nový certifikát a aktualizovat službu Application Gateway s podrobnostmi o novém certifikátu. Při konfiguraci prostřednictvím Azure CLI nebo Azure PowerShellu použijte identifikátor tajného klíče URI bez verze. Tato volba umožňuje instancím načíst obnovenou verzi certifikátu, pokud existuje.

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

Kód chyby: UserAssignedManagedIdentityNotFound

Popis: Přidružená spravovaná identita přiřazená uživatelem byla odstraněna.

Řešení: Vytvořte novou spravovanou identitu a použijte ji s trezorem klíčů.

  1. Znovu vytvořte spravovanou identitu se stejným názvem, který jste použili dříve, a ve stejné skupině prostředků. (TIP: Podrobnosti pojmenování najdete v protokolech aktivit prostředků.
  2. Přejděte k požadovanému prostředku trezoru klíčů a nastavte jeho zásady přístupu tak, aby této nové spravované identitě udělily požadovaná oprávnění. Můžete postupovat stejně jako v části UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault.

Kód chyby: KeyVaultHasRestrictedAccess

Popis: Pro Službu Key Vault je omezené nastavení sítě.

Řešení: K této chybě dojde, když povolíte bránu firewall služby Key Vault pro omezený přístup. Službu Application Gateway můžete přesto nakonfigurovat v omezené síti služby Key Vault pomocí následujícího postupu:

  1. Ve službě Key Vault otevřete podokno Sítě .
  2. Vyberte kartu Brány firewall a virtuální sítě a vyberte Privátní koncový bod a vybrané sítě.
  3. Potom pomocí virtuálních sítí přidejte virtuální síť a podsíť služby Application Gateway. Během tohoto procesu také nakonfigurujte koncový bod služby Microsoft.KeyVault tak, že zaškrtnete jeho políčko.
  4. Nakonec výběrem možnosti Ano povolte důvěryhodným službám obejít bránu firewall služby Key Vault.

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

Kód chyby: KeyVaultSoftDeleted

Popis: Přidružený trezor klíčů je ve stavu obnovitelného odstranění.

Řešení: Na webu Azure Portal vyhledejte trezor klíčů. V části Služby vyberte Trezory klíčů.

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

Vyberte Spravované odstraněné trezory. Odtud najdete odstraněný prostředek služby Key Vault a obnovit ho. Screenshot that shows how to recover a deleted key vault.

Kód chyby: CustomerKeyVaultSubscriptionDisabled

Popis: Předplatné služby Key Vault je zakázané.

Řešení: Vaše předplatné Azure se může zakázat z různých důvodů. Pokud chcete provést potřebnou akci k vyřešení, přečtěte si téma Opětovné aktivace zakázaného předplatného Azure.

Kódy chyb služby Application Gateway

Kód chyby: ApplicationGatewayCertificateDataOrKeyVaultSecretIdMustBeSpecified / ApplicationGatewaySslCertificateDataMustBeSpecified

Popis: K této chybě může dojít při pokusu o aktualizaci certifikátu naslouchacího procesu. Pokud dojde k této chybě, změna aktualizace certifikátu se zahodí a naslouchací proces bude dál zpracovávat provoz s dříve definovanou konfigurací.

Řešení: Pokud chcete tento problém vyřešit, zkuste certifikát nahrát znovu. Například následující příkazy PowerShellu se dají použít k aktualizaci certifikátů nahraných do služby Application Gateway nebo odkazování prostřednictvím služby Azure Key Vault.

Aktualizujte certifikát nahraný přímo do služby 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 

Aktualizace certifikátu odkazovaného ze služby 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 

Další kroky

Tyto články o řešení potíží můžou být užitečné, protože službu Application Gateway dál používáte: