Errori comuni relativi a Transparent Data Encryption con chiavi gestite dal cliente in Azure Key Vault

Si applica a:database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics

Questo articolo descrive come identificare e risolvere problemi di accesso alle chiavi di Azure Key Vault che hanno reso inaccessibile un database configurato per l'uso di Transparent Data Encryption (TDE) con chiavi gestite dai clienti in Azure Key Vault.

Nota

Microsoft Entra ID era precedentemente noto come Azure Active Directory (Azure AD).

Introduzione

Quando la tecnologia TDE è configurata per l'uso di una chiave gestita dal cliente in Azure Key Vault, per mantenere online il database è necessario disporre dell'accesso continuo alla protezione TDE. Se il server SQL logico o l'istanza gestita perde l'accesso alla protezione TDE gestita dal cliente in Azure Key Vault, un database inizierà a negare tutte le connessioni con il messaggio di errore appropriato e ne cambierà lo stato in Inaccessibile nella portale di Azure.

Per i primi 30 minuti, se il problema di accesso alle chiavi dell'insieme di credenziali delle chiavi di Azure sottostante viene risolto, il database verrà ripristinato automaticamente e verrà online automaticamente. Ciò significa che per tutti i casi di interruzione intermittente e temporanea della connessione di rete non è richiesta alcuna azione da parte dell'utente e il database viene riportato online automaticamente. Nella maggior parte dei casi, per risolvere il problema sottostante di accesso alla chiave di Key Vault è necessario l'intervento dell'utente.

Se un database inaccessibile non è più necessario, è possibile eliminarlo immediatamente per evitare l'addebito di costi. Tutte le altre azioni sul database non sono consentite fino a quando non viene ripristinato l'accesso alla chiave di Azure Key Vault e il database non è di nuovo online. Quando un database crittografato con chiavi gestite dal cliente non è accessibile, non è nemmeno possibile modificare l'opzione TDE da chiavi gestite dal cliente a chiavi gestite dal servizio nel server. Questo vincolo è necessario per proteggere i dati da accessi non autorizzati mentre le autorizzazioni alla tecnologia di protezione TDE sono state revocate.

Dopo che un database è stato inaccessibile per più di 30 minuti, non verrà più ripristinato automaticamente. Se l'accesso alla chiave di Azure Key Vault richiesta viene ripristinato dopo tale periodo, è necessario riconvalidare manualmente l'accesso alla chiave per riportare online il database. Il ripristino dello stato online del database in questo caso può richiedere una notevole quantità di tempo a seconda delle dimensioni del database. Quando il database tornerà di nuovo online, le impostazioni configurate in precedenza, come il gruppo di failover, la cronologia del recupero temporizzato e i tag, andranno perse. È pertanto consigliabile implementare un sistema di notifica basato su Gruppi di azioni che consenta di venire a conoscenza della situazione e di risolvere quanto prima i problemi di accesso sottostanti relativi all'insieme di credenziali delle chiavi.

Errori comuni che causano l'inaccessibilità dei database

La maggior parte dei problemi che si verificano quando si usa TDE con Azure Key Vault è causata da uno degli errori di configurazione seguenti:

L'insieme di credenziali delle chiavi non è disponibile o non esiste

  • L'insieme di credenziali delle chiavi è stato eliminato per errore.
  • Il firewall è stato configurato per Azure Key Vault, ma non consente l'accesso ai servizi Microsoft.
  • Un errore di rete intermittente rende non disponibile l'insieme di credenziali delle chiavi.

Non sono disponibili le autorizzazioni per accedere all'insieme di credenziali delle chiavi o la chiave non esiste

  • La chiave è stata accidentalmente eliminata o disabilitata oppure è scaduta.
  • L'identità gestita del server (assegnata dal sistema o assegnata dall'utente) è stata eliminata accidentalmente.
  • Il server è stato spostato in una sottoscrizione diversa. Una nuova identità gestita (assegnata dal sistema o assegnata dall'utente) deve essere assegnata al server quando viene spostata in una sottoscrizione diversa.
  • Le autorizzazioni concesse all'identità gestita del server per le chiavi non sono sufficienti (non includono le autorizzazioni Get, Wrap e Unwrap).
  • Le autorizzazioni per l'identità gestita del server sono state revocate dall'insieme di credenziali delle chiavi.

Identificare e risolvere gli errori comuni

In questa sezione sono elencati i passaggi di risoluzione dei problemi per gli errori più comuni.

Identità del server mancante

Messaggio di errore

401 AzureKeyVaultNoServerIdentity - L'identità del server non è configurata correttamente nel server. Contattare il supporto tecnico.

Rilevamento

Usare il cmdlet o il comando seguente per assicurarsi che al server sia stata assegnata un'identità:

Mitigazione

Usare il cmdlet o il comando seguente per configurare un'identità gestita assegnata dall'utente o assegnata dal sistema per il server:

Nel portale di Azure passare all'insieme di credenziali delle chiavi e quindi passare a Criteri di accesso. Seguire questa procedura:

  1. Usare il pulsante Aggiungi nuovo per aggiungere l'AppId per il server creato nel passaggio precedente.
  2. Assegnare le autorizzazioni di chiave seguenti: Get, Wrap e Unwrap

Per altre informazioni, vedere Assegnare un'identità gestita al server.

Importante

Se il server logico per database SQL di Azure o Istanza gestita di SQL di Azure viene spostato in un nuovo tenant di Microsoft Entra dopo la configurazione iniziale di TDE con Key Vault, questa configurazione dell'identità gestita deve essere di nuovo nel nuovo tenant.

Insieme di credenziali delle chiavi mancante

Messaggio di errore

503 AzureKeyVaultConnectionFailed - Non è stato possibile completare l'operazione nel server perché i tentativi di connettersi all'insieme di credenziali delle chiavi di Azure non sono riusciti.

Rilevamento

Per identificare l'URI della chiave e l'insieme di credenziali delle chiavi:

  1. Usare il cmdlet o il comando seguente per ottenere l'URI della chiave di un'istanza del server specifica:

  2. Usare l'URI della chiave per identificare l'insieme di credenziali delle chiavi:

    • Azure PowerShell: è possibile esaminare le proprietà della variabile $MyServerKeyVaultKey per ottenere informazioni dettagliate sull'insieme di credenziali delle chiavi.

    • Interfaccia della riga di comando di Azure: esaminare la protezione di crittografia del server restituita per informazioni dettagliate sull'insieme di credenziali delle chiavi.

Mitigazione

Verificare che l'insieme di credenziali delle chiavi sia disponibile:

  • Assicurarsi che l'insieme di credenziali delle chiavi sia disponibile e che il server abbia accesso.
  • Se l'insieme di credenziali delle chiavi è protetto da un firewall, assicurarsi che sia selezionata la casella di controllo per consentire ai servizi Microsoft di accedere all'insieme di credenziali delle chiavi.
  • Se l'insieme di credenziali delle chiavi è stato eliminato per errore, è necessario ripetere la configurazione dall'inizio.

Chiave mancante

Messaggi di errore

404 ServerKeyNotFound - La chiave server richiesta non è stata trovata nella sottoscrizione corrente.

409 ServerKeyDoesNotExists - La chiave server non esiste.

Rilevamento

Per identificare l'URI della chiave e l'insieme di credenziali delle chiavi:

Mitigazione

Verificare che la protezione TDE sia presente in Azure Key Vault:

  1. Identificare l'insieme di credenziali delle chiavi, quindi passare all'insieme di credenziali delle chiavi nel portale di Azure.
  2. Assicurarsi che la chiave identificata dall'URI della chiave sia presente.

Autorizzazioni mancanti

Messaggio di errore

401 AzureKeyVaultMissingPermissions - Nel server mancano le autorizzazioni obbligatorie per Azure Key Vault.

Rilevamento

Per identificare l'URI della chiave e l'insieme di credenziali delle chiavi:

Mitigazione

Verificare che il server disponga delle autorizzazioni per l'insieme di credenziali delle chiavi e le autorizzazioni corrette per accedere alla chiave:

  • Nella portale di Azure passare ai criteri di accesso dell'insieme di credenziali >delle chiavi. Trovare l'identità gestita del server (assegnata dal sistema o assegnata dall'utente).
  • Se l'identità del server è presente, verificare che disponga delle autorizzazioni di chiave seguenti: Get, WrapKey e UnwrapKey.
  • Se l'identità del server non è presente, aggiungerla usando il pulsante Aggiungi nuovo .

Recupero dello stato di TDE dal log attività

Per consentire il monitoraggio dello stato del database a causa di problemi di accesso alle chiavi di Azure Key Vault, gli eventi seguenti verranno registrati nel log attività per l'ID risorsa in base all'URL di Azure Resource Manager.

Nota

Gli eventi possono richiedere almeno 15-30 minuti per essere visualizzati nel log attività dal momento in cui si verifica un problema di accesso all'insieme di credenziali delle chiavi.

Evento registrato quando il servizio non ha più accesso alla chiave di Azure Key Vault

Database SQL di Azure

EventName: MakeDatabaseInaccessible

Stato: Avviato

Descrizione: il database {database_name} nel server {server_name} ha perso l'accesso alla chiave di Azure Key Vault e ora passa allo stato inaccessibile.

Istanza gestita di database SQL di Azure

EventName: MakeManagedDbInaccessible

Stato: Avviato

Descrizione: il database { database_name} nel server gestito {server_name} ha perso l'accesso alla chiave di Azure Key Vault e ora passa allo stato inaccessibile.

Evento quando il problema non è stato risolto entro 30 minuti e l'accesso alle chiavi di Azure Key Vault deve essere convalidato manualmente

Database SQL di Azure

EventName: MakeDatabaseInaccessible

Stato: operazione completata

Descrizione: il database non è accessibile e richiede all'utente di risolvere gli errori dell'insieme di credenziali delle chiavi di Azure e ristabilire l'accesso alla chiave dell'insieme di credenziali delle chiavi di Azure usando la chiave di riconvalida.

Istanza gestita di database SQL di Azure

EventName: MakeManagedDbInaccessible

Stato: operazione completata

Descrizione: database { database_name} nel server gestito {server_name} non è accessibile e richiede all'utente di ristabilire l'accesso alla chiave di Azure Key Vault.

Evento registrato quando la riconvalida dell'accesso alla chiave di Azure Key Vault ha esito positivo e il database viene riportato online

Database SQL di Azure

EventName: MakeDatabaseAccessible

Stato: Avviato

Descrizione: l'accesso alla chiave di Azure Key Vault è stato ristabilito, operazione per rendere accessibile il database {database_name} nel server {server_name}.

Istanza gestita di database SQL di Azure

EventName: MakeManagedDatabaseAccessible

Stato: Avviato

Descrizione: l'accesso alla chiave di Azure Key Vault è stato ristabilito per rendere accessibile il database {database_name} nel server gestito {server_name}.

Evento quando il database è tornato online

Database SQL di Azure

EventName: MakeDatabaseAccessible

Stato: operazione completata

Descrizione: l'accesso alla chiave di Azure Key Vault è stato riabilitato e il database {database_name} nel server {server_name} è ora online.

Istanza gestita di database SQL di Azure

EventName: MakeManagedDatabaseAccessible

Stato: operazione completata

Descrizione: l'accesso alla chiave di Azure Key Vault è stato ristabilito e il database {database_name} nel server gestito {server_name} è ora online.

Evento registrato quando la riconvalida dell'accesso alla chiave di Azure Key Vault ha esito negativo

Database SQL di Azure

EventName: MakeDatabaseAccessible

Stato: Non riuscito

Descrizione: l'accesso alla chiave di Azure Key Vault è stato ristabilito, operazione per rendere accessibile il database {database_name} nel server {server_name} non riuscito

Istanza gestita di database SQL di Azure

EventName: MakeManagedDatabaseAccessible

Stato: Non riuscito

Descrizione: l'accesso alla chiave di Azure Key Vault è stato ristabilito, operazione per rendere accessibile il database {database_name} nel server gestito {server_name} non riuscito

Passaggi successivi

  • Scoprire Integrità risorse di Azure.
  • Configurare Gruppi di azioni per ricevere notifiche e avvisi in base alle preferenze, ad esempio Posta elettronica/SMS/Push/Messaggio vocale, App per la logica, Webhook, Gestione dei servizi IT o Runbook di Automazione.