Compartilhar via


Melhoria: suporte à identidade gerenciada do Microsoft Entra para operações de banco de dados de backup e restauração e para EKM com AKV no SQL Server em VMs do Azure

Sintomas

A instância do SQL Server pode parar de responder se você executar uma operação de backup ou restauração de banco de dados no Armazenamento do Azure ou usar o EKM (Gerenciamento Extensível de Chaves) com o AKV (Azure Key Vault) usando credenciais no nível do servidor com identidades gerenciadas. Embora essa operação não tenha suporte para SQL Server 2022, a sintaxe T-SQL atual permite isso.

Solução

Esse problema foi corrigido na seguinte atualização cumulativa do SQL Server em VMs (máquinas virtuais) do Azure:

Atualização cumulativa 17 para SQL Server 2022

No SQL Server 2022 CU17 e versões posteriores, a autenticação de identidade gerenciada do Microsoft Entra com SQL Server em VMs somente Windows do Azure dá suporte à credencial no nível do servidor para operações de backup e restauração de banco de dados no Armazenamento do Azure e para EKM com AKV.

Para habilitar o suporte de identidade gerenciada para operações de banco de dados de backup ou restauração para SQL Server em VMs do Windows do Azure, as seguintes etapas são necessárias:

  1. Atribua a identidade gerenciada primária para o SQL Server em VMs do Windows do Azure.
  2. Crie ou use o Armazenamento do Azure com um contêiner de blob.
  3. Atribua funções RBAC (controle de acesso baseado em função) para a identidade gerenciada primária acessar o Armazenamento do Azure.
  4. Execute o comando CREATE CREDENTIAL T-SQL com a WITH IDENTITY = 'Managed Identity' cláusula usando a URL de Armazenamento do Azure como um nome de credencial.
  5. Execute o comando BACKUP DATABASE T-SQL ou RESTORE DATABASE usando a URL do Armazenamento do 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'  

Para obter mais informações, consulte Backup e restauração para URL usando identidades gerenciadas.

Para habilitar o suporte de identidade gerenciada para EKM com AKV para SQL Server em VMs do Windows do Azure, as seguintes etapas são necessárias:

  1. Atribua a identidade gerenciada primária para o SQL Server em VMs do Windows do Azure.
  2. Crie ou use um cofre de chaves.
  3. Atribua funções RBAC (controle de acesso baseado em função) para a identidade gerenciada primária acessar o AKV.
  4. Baixe o SQL Server Connector mais recente para Microsoft Azure Key Vault (a versão 1.0.5.0 (novembro de 2024) ou posterior). A versão mais recente do SQL Server Connector é necessária para dar suporte à identidade gerenciada.
  5. Execute o comando CREATE CREDENTIAL T-SQL com a WITH IDENTITY = 'Managed Identity' cláusula usando o caminho AKV como um nome de credencial.
-- 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. Execute o restante da configuração do T-SQL do EKM com AKV.

Para obter mais informações, consulte Suporte de identidade gerenciada para gerenciamento extensível de chaves com o Azure Key Vault.

Observação

  • O sinalizador de rastreamento 4675, desabilitado por padrão, permite solucionar problemas da credencial no nível do servidor e pode ser usado para confirmar a identidade gerenciada primária atribuída à instância do SQL Server.
  • O suporte à identidade gerenciada não introduz nenhuma sintaxe T-SQL ou alterações de exibição do sistema, pois essa funcionalidade já existe para a Instância Gerenciada de SQL do Azure.
  • Não há suporte para identidades gerenciadas para a credencial no nível do servidor no SQL Server local. Quando usado acidentalmente com backup ou restauração no Armazenamento do Azure ou no EKM com AKV, você verá a mensagem de erro "A identidade gerenciada primária não está definida para o servidor..." e são encaminhados para a documentação pública.

Sobre atualizações cumulativas para SQL Server

Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e correções de segurança que estavam na compilação anterior. Recomendamos que você instale o build mais recente para sua versão do SQL Server:

Atualização cumulativa mais recente do SQL Server 2022

Status

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

Referências