Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Applies to:Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Este artigo descreve como identificar e resolver problemas de acesso às chaves do Azure Key Vault que fizeram com que um banco de dados configurado para usar transparent data encryption (TDE) com chaves gerenciadas pelo cliente no Azure Key Vault se tornasse inacessível.
Observação
Microsoft Entra ID era conhecido anteriormente como Azure Active Directory (Azure AD).
Introdução
Quando você configura o TDE para usar uma chave gerenciada pelo cliente em Azure Key Vault, o banco de dados requer acesso contínuo ao protetor de TDE para permanecer online. Se o SQL Server lógico ou a instância gerenciada perder o acesso ao protetor de TDE gerenciado pelo cliente no Azure Key Vault, um banco de dados começará a negar todas as conexões com a mensagem de erro apropriada e alterará seu estado para Inaccessible no portal Azure.
Durante os primeiros 30 minutos, se o problema de acesso à chave do cofre de chaves Azure subjacente for resolvido, o banco de dados se recupera automaticamente e fica online. Para todos os cenários intermitentes e temporários de interrupção de rede, você não precisa executar nenhuma ação e o banco de dados fica online automaticamente. Na maioria das vezes, você precisa tomar uma ação para resolver o problema de acesso à chave do cofre de chaves subjacente.
Se você não precisar mais de um banco de dados inacessível, poderá excluí-lo imediatamente para parar de incorrer em custos. Não é possível executar outras ações no banco de dados até restaurar o acesso à chave do cofre de chaves Azure e o banco de dados ficar online novamente. Você também não pode alterar a opção TDE de gerenciada pelo cliente para chaves gerenciadas pelo serviço no servidor enquanto um banco de dados criptografado com chaves gerenciadas pelo cliente está inacessível. Essa restrição protege os dados contra acesso não autorizado quando as permissões para o protetor de TDE são revogadas.
Depois que um banco de dados estiver inacessível por mais de 30 minutos, ele não se auto-recupera mais. Se você restaurar o acesso necessário à chave do Cofre de Chaves do Azure após esse período, deverá revalidar o acesso à chave manualmente para recolocar o banco de dados online. Nesse caso, colocar novamente o banco de dados online pode demorar, dependendo do tamanho do banco de dados. Depois que o banco de dados estiver online novamente, as configurações definidas anteriormente, como grupo de failover, histórico pitr e quaisquer marcas , serão perdidas. Portanto, implemente um sistema de notificação usando Grupos de Ações que alerta você para problemas de acesso à chave do cofre de chaves subjacente 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 o TDE com Key Vault é causada por uma das seguintes configurações incorretas:
O cofre de chaves não está disponível ou não existe
- O cofre de chaves foi excluído por engano.
- O firewall foi configurado para Azure Key Vault, mas não permite o acesso aos serviços da Microsoft.
- Um erro de rede intermitente faz com que o cofre de chaves fique indisponível.
Sem permissão para acessar o cofre de chaves ou a chave não existe
- A chave foi excluída acidentalmente, desabilitada ou expirada.
- A identidade gerenciada do servidor (atribuída pelo sistema ou pelo usuário) foi excluída acidentalmente.
- O servidor foi movido para uma assinatura diferente. Atribua uma nova identidade gerenciada (atribuída pelo sistema ou atribuída pelo usuário) ao servidor ao movê-la 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
Esta seção descreve as etapas de solução de problemas para os erros mais comuns.
Identidade de servidor ausente
Mensagem de erro
401 AzureKeyVaultNoServerIdentity - The server identity is not correctly configured on server. Please contact support.
Detecção
Use o seguinte cmdlet ou comando para garantir que uma identidade tenha sido atribuída ao servidor:
- Azure PowerShell: Get-AzSqlServer
- Azure CLI: az-sql-server-show
Mitigação
Use o cmdlet ou o comando a seguir para configurar uma identidade gerenciada atribuída pelo usuário ou pelo sistema para o servidor:
- Azure PowerShell: Set-AzSqlServer com a opção
-AssignIdentity. - Azure CLI: az sql server update com a opção
--assign_identity.
No portal do Azure, acesse o cofre de chaves e vá para Políticas de acesso. Conclua estas etapas:
- Use o botão Adicionar Novo para adicionar a AppId ao servidor criado na etapa anterior.
- Atribua as seguintes permissões de chave: Get, Wrap e Unwrap
Para saber mais, confira Atribuir uma identidade gerenciada ao servidor.
Importante
Se o servidor lógico para Azure SQL Database ou Azure SQL Managed Instance for movido para um novo locatário Microsoft Entra após a configuração inicial do TDE com o Key Vault, essa configuração de identidade gerenciada deverá ser refeita no novo locatário.
Repositório 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.
Detecção
Para identificar o URI da chave e o cofre de chaves:
Use o seguinte cmdlet ou comando para obter o URI de chave de uma instância de servidor específica:
- Azure PowerShell: Get-AzSqlServerKeyVaultKey
- Azure CLI: az-sql-server-tde-key-show
Use o URI da chave criptográfica para identificar o repositório de chaves.
- Azure PowerShell: você pode inspecionar as propriedades da variável $MyServerKeyVaultKey para obter detalhes sobre o cofre de chaves.
- Azure CLI: inspecione o protetor de criptografia do servidor retornado para obter detalhes sobre o cofre de chaves.
Mitigação
Confirme se o cofre de chaves está disponível:
- Garanta que o cofre de chaves esteja disponível e que o servidor tenha 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 for excluído por engano, será necessário refazer a configuração desde o início.
Chave ausente
Mensagens de erro
404 ServerKeyNotFound - The requested server key was not found on the current subscription.
409 ServerKeyDoesNotExists - The server key does not exist.
Detecção
Para identificar o URI da chave e o cofre de chaves:
- Use o cmdlet ou comando no Missing key vault para identificar o URI da chave que foi adicionado à instância lógica do SQL Server. Executar os comandos retorna a lista de chaves.
Mitigação
Confirme se o protetor de TDE está presente no Key Vault:
- Identifique o cofre de chaves e vá para o cofre de chaves no portal Azure.
- Certifique-se de que a chave identificada pelo URI da chave esteja 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.
Detecção
Para identificar a chave expirada no cofre de chaves:
- Use o portal Azure, vá para o Key vault menu de serviço >Objects>Keys e verifique a expiração da chave.
- Use o comando Get-AzKeyVaultKey do PowerShell.
- Use o comando Azure CLI, az keyvault key show.
Mitigação
- Verifique a data de expiração da chave do cofre de chaves para confirmar se a chave expirou.
- Estenda a data de expiração da chave.
- Coloque o banco de dados online outra vez selecionando a opção Revalidação da chave com 1 das seguintes opções:
- Repetir chave existente.
- Selecionar chave de backup.
Revalidar a chave no portal do Azure
Para revalidar a chave protetora de TDE usando o portal Azure:
- No portal Azure, navegue até o recurso SQL server ou SQL managed instance.
- No menu de recursos em Segurança, selecione Transparent data encryption.
- Se o banco de dados estiver em um estado inacessível devido a um problema de acesso à chave, o portal exibirá uma faixa de revalidação de chave ou uma opção na página TDE.
- Selecione Repetir a chave existente para tentar restabelecer o acesso com a chave atual ou selecione Selecionar chave de backup para configurar uma chave diferente do cofre de chaves.
- Depois que a revalidação for bem-sucedida, o banco de dados fará a transição de volta para um estado acessível. Esse processo pode levar tempo dependendo do tamanho do banco de dados.
Dica
Se você não vir a opção de revalidação de chave na página de criptografia de dados transparente , verifique se o problema de acesso ao cofre de chaves subjacente foi resolvido primeiro. A opção de revalidação aparece somente quando o servidor detecta que a chave protetora de TDE está inacessível.
Para obter mais informações, confira Protetor de TDE inacessível.
Observação
As chaves devem ser rotacionadas em um número de dias especificado antes do vencimento para garantir tempo suficiente para reagir a uma falha. Para obter mais informações, consulte as definições integradas do Azure Policy para o Key Vault.
Permissões ausentes
Mensagem de erro
401 AzureKeyVaultMissingPermissions - The server is missing required permissions on the Azure Key Vault.
Detecção
Como identificar o URI da chave e o cofre de chaves:
- Use o cmdlet ou os comandos em Missing key vault para identificar o cofre de chaves que a instância lógica do SQL Server utiliza.
Mitigaçã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 o cofre de chaves >Access policies. Localize a identidade gerenciada do servidor (atribuída pelo sistema ou atribuída pelo usuário).
- Se a identidade do servidor estiver presente, certifique-se de que ela tenha 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.
Obter o status do TDE a partir do Log de Atividades
Para permitir o monitoramento do status do banco de dados devido a problemas de acesso à chave do Azure Key Vault, os eventos a seguir são registrados no Activity Log para a ID de recurso com base na URL do Azure Resource Manager.
Observação
Os eventos podem levar pelo menos 15-30 minutos para aparecer no log de atividades, a partir do momento em que ocorre o problema de acesso ao Key Vault.
Evento quando o serviço perde acesso à chave do Azure Key Vault
Azure SQL Database
NomeDoEvento: TornarBancoDeDadosInacessível
Status: Iniciado
Descrição: o banco de dados {database_name} no servidor {server_name} perdeu o acesso à chave Azure Key Vault e agora está fazendo a transição para o estado inacessível.
Azure SQL Managed Instance
EventName: MakeManagedDbInaccessible
Status: Iniciado
Descrição: o banco de dados { database_name} no servidor gerenciado {server_name} perdeu o acesso ao Azure Key Vault Key e agora está fazendo a transição para o estado inacessível.
Evento quando o problema não é resolvido em 30 minutos e o acesso à chave do Azure Key Vault precisa ser validado manualmente
Azure SQL Database
NomeDoEvento: TornarBancoDeDadosInacessível
Status: Concluído com sucesso
Descrição: o banco de dados está inacessível e exige que o usuário resolva os erros do cofre de chaves do Azure e restabeleça o acesso ao cofre de chaves do Azure usando Revalidar chave.
Azure SQL Managed Instance
EventName: MakeManagedDbInaccessible
Status: Concluído com sucesso
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 ao Azure Key Vault Key.
Evento quando a revalidação do acesso à chave do Azure Key Vault tiver sido bem-sucedida e o banco de dados estiver voltando a ficar online
Azure SQL Database
NomeDoEvento: TornarBancoDeDadosAcessível
Status: Iniciado
Descrição: O acesso ao Azure Key Vault Key foi restabelecido, a operação para tornar o banco de dados {database_name} no servidor {server_name} acessível foi iniciada.
Azure SQL Managed Instance
EventName: MakeManagedDatabaseAccessible
Status: Iniciado
Descrição: O acesso ao Azure Key Vault Key foi restabelecido, a operação para tornar o banco de dados {database_name} no servidor gerenciado {server_name} acessível foi iniciada.
Evento quando o banco de dados voltou a ficar online com sucesso
Azure SQL Database
NomeDoEvento: TornarBancoDeDadosAcessível
Status: Concluído com sucesso
Descrição: O acesso à chave Azure Key Vault foi restabelecida e o banco de dados {database_name} no servidor {server_name} agora está online.
Azure SQL Managed Instance
EventName: MakeManagedDatabaseAccessible
Status: Concluído com sucesso
Descrição: O acesso ao Azure Key Vault Key foi restabelecida e o banco de dados {database_name} no servidor gerenciado {server_name} agora está online.
Evento quando a revalidação do acesso à chave do Azure Key Vault falhou
Azure SQL Database
EventName: MakeDatabaseAccessible
Status: Falha
Descrição: O acesso ao Azure Key Vault Key foi restabelecida, a operação para tornar o banco de dados {database_name} acessível no servidor {server_name} falhou
Azure SQL Managed Instance
EventName: MakeManagedDatabaseAccessible
Status: Falha
Descrição: O acesso ao Azure Key Vault Key foi restabelecido. A operação para tornar o banco de dados {database_name} acessível no servidor gerido {server_name} falhou.