Miglioramento: supporto delle identità gestite di Microsoft Entra per le operazioni di backup e ripristino del database e per EKM con AKV in SQL Server su macchine virtuali di Azure

Sintomi

L'istanza di SQL Server potrebbe smettere di rispondere se si esegue un'operazione di backup o di ripristino del database nell'archiviazione Azure o si usa Extensible Key Management (EKM) con Azure Key Vault (AKV) usando credenziali a livello di server con identità gestite. Anche se questa operazione non è supportata per SQL Server 2022, la sintassi T-SQL corrente la consente.

Risoluzione

Questo problema è stato risolto nell'aggiornamento cumulativo seguente per SQL Server nelle macchine virtuali di Azure:

Aggiornamento cumulativo 17 per SQL Server 2022

In SQL Server 2022 CU17 e versioni successive, l'autenticazione dell'identità gestita di Microsoft Entra con SQL Server nelle macchine virtuali Windows di Azure supporta le credenziali a livello di server per le operazioni di backup e ripristino del database in Archiviazione di Azure e per EKM con AKV.

Per abilitare il supporto delle identità gestite per le operazioni di backup o ripristino del database per SQL Server nelle macchine virtuali Windows di Azure, sono necessari i passaggi seguenti:

  1. Assegnare l'identità gestita primaria per SQL Server nelle macchine virtuali Windows di Azure.
  2. Creare o usare Archiviazione di Azure con un contenitore BLOB.
  3. Assegnare ruoli di controllo degli accessi in base ai ruoli per l'identità gestita primaria per accedere ad Archiviazione di Azure.
  4. Eseguire il comando CREATE CREDENTIAL T-SQL con la WITH IDENTITY = 'Managed Identity' clausola usando l'URL di archiviazione di Azure come nome delle credenziali.
  5. Eseguire il comando BACKUP DATABASE T-SQL o RESTORE DATABASE usare l'URL di archiviazione di Azure.
-- Create credential with managed identity and credential name set to
-- URL= https://<storageaccountname>.blob.core.windows.net/<container>   
CREATE CREDENTIAL [https://<storageaccountname>.blob.core.windows.net/<container>]  
 WITH IDENTITY = 'Managed Identity'  
-- Backup the database mydb to URL 
BACKUP DATABASE mydb 
 TO URL = 'https://<storageaccount>.blob.core.windows.net/<container>/mydb.bak'  
-- Restore the database mydb1 from URL
RESTORE DATABASE mydb1  
 FROM URL ='https://<storageaccount>.blob.core.windows.net/<container>/mydb.bak'  

Per altre informazioni, vedere Backup e ripristino nell'URL usando le identità gestite.

Per abilitare il supporto delle identità gestite per EKM con AKV per SQL Server nelle macchine virtuali Windows di Azure, sono necessari i passaggi seguenti:

  1. Assegnare l'identità gestita primaria per SQL Server nelle macchine virtuali Windows di Azure.
  2. Creare o usare un insieme di credenziali delle chiavi.
  3. Assegnare ruoli di controllo degli accessi in base ai ruoli per l'identità gestita primaria per accedere al ricevitore AKV.
  4. Scarica l'ultima Connettore SQL Server per Microsoft Azure Key Vault (1.0.5.0 (novembre 2024) o versioni successive). Per supportare l'identità gestita è necessaria la versione più recente di SQL Server Connector.
  5. Eseguire il comando CREATE CREDENTIAL T-SQL con la WITH IDENTITY = 'Managed Identity' clausola usando il percorso AKV come nome delle credenziali.
-- Create credential with managed identity and the credential name for the AKV called 'contoso'
-- with the AKV path = 'contoso.vault.azure.net'  
CREATE CREDENTIAL [contoso.vault.azure.net]  
 WITH IDENTITY = 'Managed Identity'  
 FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov 
  1. Eseguire il resto della configurazione T-SQL di EKM con AKV.

Per altre informazioni, vedere Supporto delle identità gestite per la gestione delle chiavi estendibili con Azure Key Vault.

Nota

  • Il flag di traccia 4675, disabilitato per impostazione predefinita, consente la risoluzione dei problemi relativi alle credenziali a livello di server e può essere usato per confermare l'identità gestita primaria assegnata all'istanza di SQL Server.
  • Il supporto dell'identità gestita non introduce alcuna modifica alla sintassi T-SQL o alla visualizzazione del sistema, poiché questa funzionalità esiste già per l'istanza gestita di SQL di Azure.
  • Le identità gestite non sono supportate per le credenziali a livello di server in SQL Server locale. Se usato accidentalmente con il backup o il ripristino in Archiviazione di Azure o EKM con AKV, viene visualizzato il messaggio di errore "L'identità gestita primaria non è impostata per il server..." e sono rinviate alla documentazione pubblica.

Informazioni sugli aggiornamenti cumulativi per SQL Server

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutte le correzioni a caldo e di sicurezza presenti nella build precedente. È consigliabile installare la build più recente per la versione di SQL Server:

Aggiornamento cumulativo più recente per SQL Server 2022

Stato

Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".

Riferimenti