Partilhar via


Suporte de identidade gerenciada para gerenciamento extensível de chaves com o Azure Key Vault

Aplica-se a: SQL Server 2025 (17.x)

Este artigo mostra como usar identidades gerenciadas para Gerenciamento Extensível de Chaves (EKM) com o Azure Key Vault (AKV) no SQL Server habilitado pelo Azure Arc.

Visão geral

A partir do SQL Server 2025 (17.x), identidades geridas são suportadas para EKM com AKV e Módulos de Segurança de Hardware Gerido (HSM) no SQL Server habilitados pelo Azure Arc. As identidades geridas são o método de autenticação recomendado para permitir que diferentes serviços Azure autentiquem o SQL Server habilitado pelo recurso Azure Arc sem usar palavras-passe ou segredos. Para obter mais informações sobre identidades gerenciadas, consulte Tipos de identidade gerenciados.

Pré-requisitos

Etapa 1: Adicionar a chave de registo para o fornecedor de EKM

Antes de criar uma credencial usando uma identidade gerenciada, você precisa adicionar uma chave do Registro para permitir que o provedor EKM use identidades gerenciadas. Esta etapa precisa ser executada pelo administrador do computador. Para obter etapas detalhadas, consulte Etapa 4: Adicionar chave do registo para dar suporte ao fornecedor de EKM.

Etapa 2: Configurar o master banco de dados

  1. Abra o SQL Server Management Studio.

  2. Configure o SQL Server para usar o EKM executando o seguinte script Transact-SQL:

    -- Enable advanced options.
    USE master;
    GO
    
    EXECUTE sp_configure 'show advanced options', 1;
    GO
    
    RECONFIGURE;
    GO
    
    -- Enable EKM provider
    EXECUTE sp_configure 'EKM provider enabled', 1;
    GO
    
    RECONFIGURE;
    GO
    
  3. Registre o SQL Server Connector como um provedor EKM com o SQL Server.

    Crie um provedor criptográfico usando o SQL Server Connector, que é um provedor EKM para o Cofre de Chaves do Azure. Neste exemplo, o nome do provedor é AzureKeyVault_EKM.

    CREATE CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM
    FROM FILE = 'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll';
    GO
    

    Observação

    O comprimento do caminho do arquivo não pode exceder 256 caracteres.

Etapa 3: Criar uma credencial de servidor usando uma identidade gerenciada

O exemplo a seguir mostra como criar uma credencial para uma identidade gerenciada a ser usada com o Cofre da Chave do Azure:

CREATE CREDENTIAL [<akv-name>.vault.azure.net]
    WITH IDENTITY = 'Managed Identity'
    FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;

Você pode verificar o nome AKV consultando sys.credentials:

SELECT name, credential_identity
FROM sys.credentials;

A WITH IDENTITY = 'Managed Identity' cláusula requer uma identidade gerenciada primária atribuída ao SQL Server habilitado pelo Azure Arc.

Para obter mais informações sobre como configurar o EKM com AKV, consulte Configurar o Gerenciamento Extensível de Chaves TDE do SQL Server usando o Azure Key Vault.

Criar uma credencial para usar com HSMs (Managed Hardware Security Modules, módulos de segurança de hardware gerenciados)

Para criar uma credencial para usar com os HSMs (Módulos de Segurança de Hardware Gerenciados) do Cofre da Chave do Azure, use a seguinte sintaxe:

CREATE CREDENTIAL [<akv-name>.managedhsm.azure.net]
    WITH IDENTITY = 'Managed Identity'
    FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;

Para obter mais informações sobre como configurar o EKM com AKV, consulte Configurar o Gerenciamento Extensível de Chaves TDE do SQL Server usando o Azure Key Vault.

Comandos T-SQL para atualizar a configuração EKM existente para usar identidades gerenciadas

Se sua configuração atual estiver usando EKM com AKV usando um segredo, você precisará descartar a credencial existente e criar uma nova credencial usando uma identidade gerenciada. Os seguintes comandos T-SQL mostram como atualizar sua configuração EKM existente para usar identidades gerenciadas:

  1. Crie a credencial usando uma identidade gerenciada:

    CREATE CREDENTIAL [<akv-name>.vault.azure.net]
        WITH IDENTITY = 'Managed Identity'
        FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM;
    
  2. Se houver uma credencial usando um segredo associado ao logon de domínio de administração do SQL Server, remova a credencial existente:

    ALTER LOGIN [<domain>\<login>]
    DROP CREDENTIAL [<existing-credential-name>];
    
  3. Associe a nova credencial ao logon de domínio de administração do SQL Server:

    ALTER LOGIN [<domain>\<login>]
    ADD CREDENTIAL [<akv-name>.vault.azure.net];
    

Você pode verificar a exibição do banco de dados criptografado para verificar a criptografia do banco de dados usando a seguinte consulta:

SELECT *
FROM sys.dm_database_encryption_keys
WHERE database_id = db_id('<your-database-name>');

Para obter mais informações sobre como configurar o EKM com AKV, consulte Configurar o Gerenciamento Extensível de Chaves TDE do SQL Server usando o Azure Key Vault.

Mensagens de erro

Indicador de rastreamento 4675 pode ser usado para verificar credenciais criadas com uma identidade gerida. Se a instrução CREATE CREDENTIAL foi executada sem o sinalizador de rastreamento 4675 habilitado, nenhuma mensagem de erro será emitida se a identidade gerenciada primária não estiver definida para o servidor. Para solucionar esse cenário, a credencial deve ser excluída e recriada novamente quando o sinalizador de rastreamento estiver habilitado.

Limitações

  • A identidade gerenciada no nível do servidor só tem suporte para o SQL Server 2025 habilitado pelo Azure Arc, e não no SQL Server local. A identidade gerenciada no nível do servidor não é suportada para Linux.
  • O suporte de identidade gerenciada para EKM com AKV requer a versão prévia mais recente do SQL Server Connector.