Compartilhar via


Suporte à 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 eKM (Gerenciamento extensível de chaves) com o AKV (Azure Key Vault) no SQL Server habilitado pelo Azure Arc.

Visão geral

A partir do SQL Server 2025 (17.x), há suporte para identidades gerenciadas para EKM com AKV e HSM (Managed Hardware Security Modules) no SQL Server habilitado pelo Azure Arc. As identidades gerenciadas são o método de autenticação recomendado para permitir que diferentes serviços do Azure autentiquem o SQL Server habilitado pelo recurso do Azure Arc sem usar senhas ou segredos. Para obter mais informações sobre identidades gerenciadas, consulte Tipos de identidade gerenciada.

Pré-requisitos

Etapa 1: Adicionar chave do Registro para o provedor 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. Essa etapa precisa ser executada pelo administrador do computador. Para obter etapas detalhadas, consulte a Etapa 4: Adicionar chave do Registro para dar suporte ao provedor 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 do 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 Conector do SQL Server como um provedor EKM com o SQL Server.

    Crie um provedor criptográfico usando o Conector do SQL Server, que é um provedor EKM do Azure Key Vault. 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 tamanho do caminho do arquivo não pode ultrapassar 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 Azure Key Vault:

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

Você pode verificar o nome do 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 o 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 (Módulos de Segurança de Hardware Gerenciado)

Para criar uma credencial a ser usada com HSMs (Módulos de Segurança de Hardware Gerenciados) do Azure Key Vault, 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 o 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 a configuração atual estiver usando EKM com AKV usando um segredo, você precisará remover a credencial existente e criar uma nova credencial usando uma identidade gerenciada. Os comandos T-SQL a seguir 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 do 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 do 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 de 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 o AKV, consulte Configurar o Gerenciamento extensível de chaves TDE do SQL Server usando o Azure Key Vault.

Mensagens de erro

sinalizador de rastreamento 4675 pode ser usado para verificar as credenciais criadas com uma identidade gerenciada. 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. Não há suporte para a identidade gerenciada no nível do servidor para Linux.
  • O suporte à identidade gerenciada para EKM com AKV requer a versão mais recente da versão prévia do Conector do SQL Server.