Partilhar via


Erros comuns para criptografia de dados transparente com chaves gerenciadas pelo cliente no Cofre de Chaves do Azure

Aplica-se a:Banco de Dados SQL do AzureInstância Gerenciada SQL do AzureAzure Synapse Analytics

Este artigo descreve como identificar e resolver problemas de acesso à chave do Cofre de Chaves do Azure que fizeram com que um banco de dados configurado para usar TDE (criptografia de dados transparente) com chaves gerenciadas pelo cliente no Cofre de Chaves do Azure se tornasse inacessível.

Observação

O Microsoft Entra ID era conhecido anteriormente como Azure Ative Directory (Azure AD).

Introdução

Quando a TDE é configurada para usar uma chave gerenciada pelo cliente no Cofre de Chaves do Azure, o acesso contínuo a esse Protetor TDE é necessário para que o banco de dados permaneça online. Se o servidor SQL lógico ou a instância gerenciada perder o acesso ao protetor TDE gerenciado pelo cliente no Cofre de Chaves do Azure, um banco de dados começará a negar todas as conexões com a mensagem de erro apropriada e alterará seu estado para Inacessível no portal do Azure.

Nos primeiros 30 minutos, se o problema de acesso à chave subjacente do cofre de chaves do Azure for resolvido, o banco de dados será recuperado automaticamente e ficará online automaticamente. Isso significa que, para todos os cenários de interrupção intermitente e temporária da rede, nenhuma ação do usuário é necessária e o banco de dados ficará online automaticamente. Na maioria dos casos, a ação do usuário é necessária para resolver o problema subjacente de acesso à chave do cofre de chaves.

Se um banco de dados inacessível não for mais necessário, ele poderá ser excluído imediatamente para parar de incorrer em custos. Todas as outras ações no banco de dados não são permitidas até que o acesso à chave do cofre de chaves do Azure tenha sido restaurado e o banco de dados esteja online novamente. Alterar a opção TDE de chaves gerenciadas pelo cliente para chaves gerenciadas pelo serviço no servidor também não é possível enquanto um banco de dados criptografado com chaves gerenciadas pelo cliente estiver inacessível. Isso é necessário para proteger os dados de acesso não autorizado enquanto as permissões para o TDE Protetor foram revogadas.

Depois que um banco de dados ficar inacessível por mais de 30 minutos, ele não será mais recuperado automaticamente. Se o acesso necessário à chave do cofre de chaves do Azure tiver sido restaurado após esse período, você deverá revalidar o acesso à chave manualmente para colocar o banco de dados online novamente. Colocar o banco de dados on-line novamente, neste caso, pode levar uma quantidade significativa de tempo, dependendo do tamanho do banco de dados. Quando o banco de dados estiver online novamente, as configurações previamente configuradas, como grupo de failover, histórico PITR e quaisquer tags, serão perdidas. Portanto, recomendamos a implementação de um sistema de notificação usando Grupos de Ação que permita tomar conhecimento e resolver os problemas subjacentes de acesso à chave do cofre de chaves o mais rápido possível.

Erros comuns que fazem com que os bancos de dados se tornem inacessíveis

A maioria dos problemas que ocorrem quando você usa TDE com Key Vault são causados por uma das seguintes configurações incorretas:

O cofre de chaves não está disponível ou não existe

  • O cofre da chave foi excluído acidentalmente.
  • O firewall foi configurado para o Cofre da Chave do Azure, mas não permite acesso aos serviços da Microsoft.
  • Um erro de rede intermitente faz com que o cofre de chaves não esteja disponível.

Não há permissões para acessar o cofre de chaves ou a chave não existe

  • A chave foi excluída acidentalmente, desativada ou a chave expirou.
  • A identidade gerenciada do servidor (atribuída pelo sistema ou atribuída pelo usuário) foi excluída acidentalmente.
  • O servidor foi movido para uma assinatura diferente. Uma nova identidade gerenciada (atribuída pelo sistema ou atribuída pelo usuário) deve ser atribuída ao servidor quando ele é movido para uma assinatura diferente.
  • As permissões concedidas à identidade gerenciada do servidor para as chaves não são suficientes (elas não incluem as permissões Get, Wrap e Unwrap).
  • As permissões para a identidade gerenciada do servidor foram revogadas do cofre de chaves.

Identificar e resolver erros comuns

Nesta seção, listamos as etapas de solução de problemas para os erros mais comuns.

Identidade do servidor ausente

Mensagem de erro

401 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured on server. Please contact support.

Deteção

Use o seguinte cmdlet ou comando para garantir que uma identidade tenha sido atribuída ao servidor:

Atenuação

Use o seguinte cmdlet ou comando para configurar uma identidade gerenciada atribuída pelo usuário ou pelo sistema para o servidor:

No portal do Azure, vá para o cofre da chave e, em seguida, vá para Políticas do Access. Conclua estas etapas:

  1. Use o botão Adicionar Novo para adicionar o AppId para o servidor criado na etapa anterior.
  2. Atribua as seguintes permissões de chave: Get, Wrap e Unwrap

Para saber mais, consulte Atribuir uma identidade gerenciada ao seu servidor.

Importante

Se o servidor lógico do Banco de Dados SQL do Azure ou da Instância Gerenciada SQL do Azure for movido para um novo locatário do Microsoft Entra após a configuração inicial do TDE com o Cofre da Chave, essa configuração de identidade gerenciada deverá ser refeita no novo locatário.

Cofre de chaves ausente

Mensagem de erro

503 AzureKeyVaultConnectionFailed - The operation could not be completed on the server because attempts to connect to Azure Key Vault have failed.

Deteção

Para identificar o URI de chave e o cofre de chaves:

  1. Use o seguinte cmdlet ou comando para obter o URI de chave de uma instância de servidor específica:

  2. Use o URI da chave para identificar o cofre de chaves:

    • Azure PowerShell: Você pode inspecionar as propriedades da variável $MyServerKeyVaultKey para obter detalhes sobre o cofre de chaves.
    • CLI do Azure: inspecione o protetor de criptografia do servidor retornado para obter detalhes sobre o cofre de chaves.

Atenuação

Confirme se o cofre de chaves está disponível:

  • Verifique se o cofre de chaves está disponível e se o servidor tem acesso.
  • Se o cofre de chaves estiver protegido por um firewall, verifique se a caixa de seleção para permitir que os serviços da Microsoft acessem o cofre de chaves está marcada.
  • Se o cofre de chaves tiver sido excluído acidentalmente, você deverá concluir a configuração desde o início.

Chave em falta

Mensagens de erro

404 ServerKeyNotFound - The requested server key was not found on the current subscription.
409 ServerKeyDoesNotExists - The server key does not exist.

Deteção

Para identificar o URI de chave e o cofre de chaves:

  • Use o cmdlet ou comandos em Cofre de chaves ausentes para identificar o URI de chave adicionado à instância lógica do SQL Server. A execução dos comandos retorna a lista de chaves.

Atenuação

Confirme se o protetor TDE está presente no Cofre de Chaves:

  1. Identifique o cofre de chaves e, em seguida, vá para o cofre de chaves no portal do Azure.
  2. Verifique se a chave identificada pelo URI de chave está presente.

Chave expirada

Mensagens de erro

The server <server_name> requires the Key Vault Crypto Service Encryption User permission for the RBAC policy or following Azure Key Vault permissions: Get, WrapKey, UnwrapKey. Please grant the missing permissions to the service principal with ID <akv_key>. Ensure the key is active, not expired or disabled, set with the key activation date no later than the current date, and that trusted Microsoft services can bypass the firewall if applicable.

Deteção

Para identificar a chave expirada no cofre de chaves:

  • Use o portal do Azure, vá para o menu> Chaves > de objetos do serviço Cofre de chaves e verifique a expiração da chave.
  • Use o comando PowerShell, Get-AzKeyVaultKey.
  • Use o comando da CLI do Azure, az keyvault key show.

Atenuação

  • Verifique a data de expiração da chave do cofre da chave para confirmar que a chave expirou.
  • Estenda a data de expiração da chave.
  • Coloque o banco de dados online novamente selecionando a opção de revalidação de chave com 1 das seguintes opções:
    • Tente novamente a chave existente.
    • Selecione a chave de backup.

Para obter mais informações, consulte Protetor TDE inacessível.

Observação

As chaves devem ser giradas em um número especificado de dias antes da expiração para fornecer tempo suficiente para reagir a uma falha. Para obter mais informações, consulte Definições internas da Política do Azure para o Cofre da Chave.

Permissões ausentes

Mensagem de erro

401 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault.

Deteção

Para identificar o URI da chave e o cofre da chave:

  • Use o cmdlet ou os comandos em Cofre de chaves ausentes para identificar o cofre de chaves usado pela instância lógica do SQL Server.

Atenuação

Confirme se o servidor tem permissões para o cofre de chaves e as permissões corretas para acessar a chave:

  • No portal do Azure, vá para as políticas de acesso ao cofre > de chaves. Encontre a identidade gerenciada do servidor (atribuída pelo sistema ou atribuída pelo usuário).
  • Se a identidade do servidor estiver presente, verifique se ele tem as seguintes permissões de chave: Get, WrapKey e UnwrapKey.
  • Se a identidade do servidor não estiver presente, adicione-a usando o botão Adicionar Novo .

Obter o status TDE do registro de atividades

Para permitir o monitoramento do status do banco de dados devido a problemas de acesso à chave do Cofre da Chave do Azure, os eventos a seguir serão registrados no Log de Atividades para a ID do recurso com base na URL do Azure Resource Manager.

Observação

Os eventos podem levar pelo menos 15 a 30 minutos para aparecer no Registro de Atividades a partir do momento em que ocorre o problema de acesso ao cofre de chaves.

Evento quando o serviço perde o acesso à chave do Cofre da Chave do Azure

Banco de Dados SQL do Azure

EventName: MakeDatabaseInaccessible

Estado: Iniciado

Descrição: A Base de Dados {database_name} no Servidor {server_name} perdeu o acesso à Chave do Cofre da Chave do Azure e está agora a transitar para um estado inacessível.

Instância Gerenciada SQL do Azure

EventName: MakeManagedDbInaccessible

Estado: Iniciado

Descrição: A Base de Dados { database_name} no servidor gerido {server_name} perdeu o acesso à Chave do Cofre da Chave do Azure e está agora a transitar para um estado inacessível.

Evento em que o problema não foi resolvido em 30 minutos e o acesso à chave do Cofre da Chave do Azure tem de ser validado manualmente

Banco de Dados SQL do Azure

EventName: MakeDatabaseInaccessible

Estado: Sucedido

Descrição: O banco de dados está inacessível e exige que o usuário resolva erros do cofre de chaves do Azure e restabeleça o acesso à chave do cofre de chaves do Azure usando Revalidar chave.

Instância Gerenciada SQL do Azure

EventName: MakeManagedDbInaccessible

Estado: Sucedido

Descrição: O Banco de Dados { database_name} no servidor gerenciado {server_name} está inacessível e exige que o usuário restabeleça o acesso à Chave do Cofre da Chave do Azure.

Evento quando a revalidação do acesso à chave do Cofre da Chave do Azure tiver sido bem-sucedida e o banco de dados estiver voltando a ficar online

Banco de Dados SQL do Azure

EventName: MakeDatabaseAccessible

Estado: Iniciado

Descrição: O acesso à Chave do Cofre da Chave do Azure foi restabelecido, a operação para tornar acessível a base de dados {database_name} no servidor {server_name} foi iniciada.

Instância Gerenciada SQL do Azure

EventName: MakeManagedDatabaseAccessible

Estado: Iniciado

Descrição: O acesso à Chave do Cofre da Chave do Azure foi restabelecido, a operação para tornar acessível a base de dados {database_name} no servidor gerido {server_name} foi iniciada.

Evento em que o banco de dados voltou a ficar online com êxito

Banco de Dados SQL do Azure

EventName: MakeDatabaseAccessible

Estado: Sucedido

Descrição: O acesso à Chave do Cofre da Chave do Azure foi restabelecido e a base de dados {database_name} no servidor {server_name} está agora online.

Instância Gerenciada SQL do Azure

EventName: MakeManagedDatabaseAccessible

Estado: Sucedido

Descrição: O acesso à Chave do Cofre da Chave do Azure foi restabelecido e o banco de dados {database_name} no servidor gerenciado {server_name} agora está online.

Evento quando a revalidação do acesso à chave do Cofre da Chave do Azure falhou

Banco de Dados SQL do Azure

EventName: MakeDatabaseAccessible

Estado: Falha

Descrição: O acesso à Chave do Cofre da Chave do Azure foi restabelecido, a operação para tornar o banco de dados {database_name} acessível no servidor {server_name} falhou

Instância Gerenciada SQL do Azure

EventName: MakeManagedDatabaseAccessible

Estado: Falha

Descrição: O acesso à Chave do Cofre da Chave do Azure foi restabelecido, a operação para tornar o banco de dados {database_name} acessível no servidor gerenciado {server_name} falhou