Risolvere i problemi comuni dell'insieme di credenziali delle chiavi in gateway applicazione di Azure

Riassunto

Questo articolo spiega come risolvere gli errori comuni di Key Vault in gateway applicazione di Azure e correggere le configurazioni errate che possono compromettere la gestione dei certificati e le connessioni HTTPS protette.

Il Gateway Applicazione consente di archiviare in modo sicuro i certificati TLS in Azure Key Vault. Quando si usa una risorsa di Key Vault, è importante che il gateway abbia sempre accesso al Key Vault collegato. Se il gateway applicativo non riesce a recuperare il certificato, disabilita i listener HTTPS associati. Per altre informazioni, vedere Informazioni sui listener disattivati.

Suggerimento

Usare un ID segreto che non specifica una versione. Utilizzando questo identificatore, Application Gateway di Azure aggiorna automaticamente il certificato se una versione più recente è disponibile in Azure Key Vault. Un esempio di URI (Uniform Resource Identifier) segreto senza una versione è: https://myvault.vault.azure.net/secrets/mysecret/.

codici di errore Azure Advisor

Le sezioni seguenti descrivono i vari errori che potrebbero verificarsi. Per verificare se il gateway presenta uno di questi problemi, visitare Azure Advisor per l'account. Usare questo articolo sulla risoluzione dei problemi per risolvere il problema. Configurare gli avvisi di Azure Advisor per essere informati quando viene rilevato un problema nel Key Vault per il gateway.

Annotazioni

Application Gateway genera i log per la diagnostica di Key Vault ogni quattro ore. Se la diagnostica continua a visualizzare l'errore dopo aver corretto la configurazione, potrebbe essere necessario attendere l'aggiornamento dei log.

Codice di errore - "UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault"

Description

L'identità gestita assegnata dall'utente associata non dispone dell'autorizzazione necessaria.

Soluzione

Configura i criteri di accesso dell'insieme di credenziali per concedere all'identità gestita assegnata dall'utente l'autorizzazione per i segreti. È possibile eseguire questa operazione in uno dei due modi seguenti:

Criterio di accesso all'insieme di credenziali

  1. Nel portale di Azure, vai all'insieme di credenziali delle chiavi collegato.
  2. Seleziona Criteri di accesso.
  3. Per Modello di autorizzazione, selezionare Policy di accesso del Vault.
  4. In Operazioni di gestione dei segreti selezionare l'autorizzazione Recupera .
  5. Seleziona Salva.

Schermata delle impostazioni dei criteri di accesso di Key Vault usata per concedere l'autorizzazione Get a un'identità gestita.

Per altre informazioni, vedere Assegnare un criterio di accesso Key Vault usando il portale di Azure.

Controllo degli accessi in base al ruolo di Azure

  1. Nel portale di Azure, vai all'insieme di credenziali collegato.
  2. Seleziona Criteri di accesso.
  3. Per Modello di autorizzazione, selezionare Controllo degli accessi basato sui ruoli di Azure.
  4. Passare a Controllo di accesso (IAM) per configurare le autorizzazioni.
  5. Aggiungere l'assegnazione di ruolo per l'identità gestita scegliendo i valori seguenti: a. Ruolo: Utente dei segreti di Key Vault b. Assegnare l'accesso a: Identità gestita c. Membri: selezionare l'identità gestita assegnata dall'utente che avete associato al gateway applicativo.
  6. Seleziona Rivedi + assegna.

Per ulteriori informazioni, vedere Controllo degli accessi basato sui ruoli di Azure in Key Vault.

Annotazioni

Il supporto del portale per l'aggiunta di un nuovo certificato basato su Key Vault non è attualmente disponibile quando si usa il controllo degli accessi in base al ruolo di Azure. A tale scopo, è possibile usare un modello di Gestione risorse Azure (ARM), interfaccia della riga di comando di Azure o Azure PowerShell. Per altre informazioni, vedere Modello di autorizzazione per il controllo degli accessi in base al ruolo di Azure per Key Vault.

Codice errore - "SecretDisabled"

Description

Il certificato associato è disabilitato in Azure Key Vault.

Soluzione

Abilita la versione del certificato che Application Gateway usa. Per fare questo, segui questi passaggi:

  1. Nel portale di Azure passare all'insieme di credenziali delle chiavi collegato.
  2. Selezionare Certificati.
  3. Selezionare il nome del certificato desiderato e quindi selezionare la versione disabilitata.
  4. Nella pagina di gestione, utilizzare l'opzione di attivazione per abilitare la versione del certificato.

Schermata dell'interruttore della versione del certificato di Key Vault usato per riattivare un segreto disabilitato.

Codice errore - "SecretDeletedFromKeyVault"

Description

Il certificato associato viene eliminato da Key Vault.

Soluzione

Per ripristinare un certificato eliminato, seguire questa procedura:

  1. Nel portale di Azure passare all'insieme di credenziali delle chiavi collegato.
  2. Aprire il riquadro Certificati .
  3. Usare la scheda Certificati eliminati gestiti per recuperare un certificato eliminato.

Se si elimina definitivamente un oggetto certificato, creare un nuovo certificato e aggiornare Application Gateway con i dettagli del nuovo certificato. Quando si configura tramite interfaccia della riga di comando di Azure o Azure PowerShell, usare un URI identificatore segreto senza una versione. Questa scelta consente alle istanze di recuperare una versione rinnovata del certificato, se esistente.

Screenshot della scheda Certificati eliminati gestiti usata per ripristinare un certificato Key Vault eliminato.

Codice di errore - "UserAssignedManagedIdentityNotFound"

Description

L'identità gestita associata assegnata dall'utente viene eliminata.

Soluzione

Crea una nuova identità gestita e usala con il Key Vault. A tale scopo, eseguire le operazioni seguenti:

  1. Ricreare un'identità gestita con lo stesso nome usato in precedenza e nello stesso gruppo di risorse. Per informazioni dettagliate sulla denominazione, vedere Log attività delle risorse.
  2. Passare alla risorsa dell'insieme di credenziali delle chiavi desiderata e impostarne i criteri di accesso per concedere a questa nuova identità gestita l'autorizzazione necessaria. Per ulteriori informazioni, vedere Codice di errore: UserAssignedIdentityDoesNotHaveGetPermissionOnKeyVault.

Codice errore - "KeyVaultHasRestrictedAccess"

Description

Key Vault ha un'impostazione di rete con restrizioni.

Soluzione

Questo errore si verifica quando si abilita il firewall Key Vault per l'accesso limitato. Configurare Application Gateway in una rete con restrizioni di accesso di Key Vault. A tale scopo, eseguire le operazioni seguenti:

  1. In Key Vault selezionare Rete.
  2. Selezionare la scheda Firewall e reti virtuali e quindi selezionare Endpoint privato e reti selezionate.
  3. Usa Rete virtuale di Azure per aggiungere la rete virtuale e la subnet di Application Gateway.
  4. Selezionare la casella di controllo Microsoft.KeyVault.
  5. Selezionare . Questa azione consente ai servizi attendibili di ignorare il firewall Key Vault.

Screenshot delle impostazioni di rete di Key Vault utilizzate per configurare l'accesso di rete limitato.

Codice errore - "KeyVaultSoftDeleted"

Description

L'insieme di credenziali delle chiavi associato è in stato di eliminazione temporanea.

Soluzione

Trovare la risorsa dell'insieme di credenziali delle chiavi eliminata. A tale scopo, eseguire le operazioni seguenti:

  1. Nel portale di Azure cercare Key Vault.
  2. In Servizi, seleziona Insiemi di credenziali.

Screenshot della ricerca del servizio Key Vault nel portale di Azure.

  1. Selezionare Insiemi di credenziali eliminati gestiti.
  2. Trova la risorsa dell'insieme di credenziali delle chiavi eliminata e ripristinala.

Schermata degli insiemi di credenziali eliminati gestiti con l'opzione per ripristinare un insieme di credenziali delle chiavi eliminato.

Codice errore - "CustomerKeyVaultSubscriptionDisabled"

Description

La sottoscrizione per Key Vault è disabilitata.

Soluzione

Vari motivi possono causare Azure disabilitare la sottoscrizione. Per eseguire l'azione necessaria per risolvere questo problema, vedere Riattivare una sottoscrizione di Azure disabilitata.

Codici di errore del gateway di applicazione

Codice errore : "ApplicationGatewayCertificateDataOrKeyVaultSecretIdMustBeSpecified/ApplicationGatewaySslCertificateDataMustBeSpecified"

Description

Questo errore si verifica quando si tenta di aggiornare un certificato del listener. Quando si verifica questo errore, la modifica per aggiornare il certificato viene rimossa e il listener continua a gestire il traffico con la configurazione definita in precedenza.

Soluzione

Per risolvere questo problema, provare a caricare di nuovo il certificato. Ad esempio, usare i comandi di PowerShell seguenti per aggiornare i certificati caricati nel gateway applicazione o a cui viene fatto riferimento tramite Azure Key Vault.

Aggiornamento del certificato caricato direttamente in 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 

Aggiornare il certificato a cui si fa riferimento da 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 

Riferimenti