Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Este artigo descreve como identificar e resolver Azure Key Vault problemas de acesso às chaves que causaram que uma base de dados configurada para usar encriptação de dados transparente (TDE) com chaves geridas pelo cliente em Azure Key Vault se tornasse inacessível.
Observação
Microsoft Entra ID era anteriormente conhecido como Azure Active Directory (Azure d.C.).
Introdução
Quando configura o TDE para usar uma chave gerida pelo cliente no Azure Key Vault, a base de dados requer acesso contínuo ao protetor TDE para se manter online. Se o servidor SQL lógico ou a instância gerida perderem o acesso ao protetor TDE gerido pelo cliente em Azure Key Vault, uma base de dados começa a negar todas as ligações com a mensagem de erro apropriada e altera o seu estado para Inacessível no portal Azure.
Nos primeiros 30 minutos, se o problema de acesso subjacente ao cofre de chaves do Azure for resolvido, a base de dados cura-se automaticamente e entra em funcionamento automaticamente. Para todos os cenários de falhas de rede intermitentes e temporárias, não precisa de tomar qualquer ação, e a base de dados fica online automaticamente. Na maioria dos casos, é necessário agir para resolver o problema subjacente de acesso à chave do cofre de chaves.
Se já não precisar de uma base de dados inacessível, pode eliminá-la imediatamente para evitar custos incorridos. Não podes realizar outras ações na base de dados até restaurares o acesso à chave do cofre de chaves do Azure e a base de dados voltar a estar online. Também não pode alterar a opção TDE de chaves geridas pelo cliente para geridas pelo serviço no servidor enquanto uma base de dados encriptada com chaves geridas pelo cliente está inacessível. Esta restrição protege os dados contra acessos não autorizados quando as permissões ao protetor TDE são revogadas.
Depois de uma base de dados estar inacessível durante mais de 30 minutos, deixa de se autocurar. Se você restaurar o acesso necessário ao Key Vault do Azure após esse período, terá de revalidar manualmente o acesso à chave para voltar a colocar a base de dados online. Colocar o banco de dados on-line novamente, neste caso, pode levar uma quantidade significativa de tempo, dependendo do tamanho do banco de dados. Assim que a base de dados volta a estar online, as definições previamente configuradas como grupo de failover, histórico PITR e quaisquer etiquetas são perdidas. Por isso, implemente um sistema de notificações usando Grupos de Ação que o alerte para problemas de acesso às chaves subjacentes ao cofre de chaves o mais rapidamente possível.
Erros comuns que fazem com que os bancos de dados se tornem inacessíveis
A maioria dos problemas que ocorrem ao usar o TDE com o Key Vault são causados por uma das seguintes configurações erradas:
O cofre de chaves não está disponível ou não existe
- O cofre de chaves foi eliminado acidentalmente.
- O firewall foi configurado para o Azure Key Vault, mas não permite o acesso aos serviços da Microsoft.
- Um erro de rede intermitente torna o cofre de chaves indisponível.
Não há permissões para acessar o cofre de chaves ou a chave não existe
- A chave foi apagada, desativada ou expirada acidentalmente.
- 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. Atribui uma nova identidade gerida (atribuída pelo sistema ou pelo utilizador) ao servidor quando o transferires para uma subscrição 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 secção descreve os passos de resoluçã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:
- Azure PowerShell: Get-AzSqlServer
- Azure CLI: az-sql-server-show
Atenuação
Use o seguinte cmdlet ou comando 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. - CLI do Azure: az sql server update com a opção
--assign_identity.
No portal Azure, vai ao cofre de chaves e depois a Políticas de acesso. Conclua estas etapas:
- Use o botão Adicionar Novo para adicionar o AppId para o servidor criado na etapa anterior.
- 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 para Azure SQL Database ou Azure SQL Managed Instance for movido para um novo inquilino Microsoft Entra após a configuração inicial do TDE com Key Vault, esta configuração de identidade gerida deve ser refeita no novo inquilino.
Key Vault em falta
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 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 para identificar o cofre de chaves:
- Azure PowerShell: Pode inspecionar as propriedades da variável $MyServerKeyVaultKey para obter detalhes sobre o cofre da chave.
- Azure CLI: Inspecione o protetor de encriptação 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 da chave e o cofre de chaves:
- Use o cmdlet ou os comandos em Missing key vault para identificar o URI da chave que é adicionado à instância lógica do SQL Server. A execução dos comandos retorna a lista de chaves.
Atenuação
Confirme que o protetor TDE está presente no Key Vault:
- Identifique o cofre de chaves e depois vá ao cofre de chaves no portal Azure.
- 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:
- Usa o portal Azure, vai ao menu de serviço Key Vault>Objects>Keys, e verifica a expiração da chave.
- Use o comando PowerShell, Get-AzKeyVaultKey.
- Use o comando Azure CLI, az keyvault key show.
Atenuação
- Verifique a data de expiração da chave do cofre de chaves para confirmar que a chave está expirada.
- 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.
Revalidar a chave no portal do Azure
Para revalidar a chave protetora TDE usando o portal Azure:
- No portal Azure, navegue até ao seu recurso SQL server ou SQL managed instance.
- No menu de recursos em Segurança, selecione Encriptação de dados transparentes.
- Se a base de dados estiver num estado inacessível devido a um problema de acesso à chave, o portal exibe um banner ou opção de revalidação de chave na página TDE.
- Selecione Retentar a chave existente para tentar restabelecer o acesso com a chave atual, ou selecione Selecionar chave de backup para configurar uma chave diferente do seu cofre de chaves.
- Após o sucesso da revalidação, a base de dados volta a um estado acessível. Este processo pode demorar dependendo do tamanho da base de dados.
Sugestão
Se não vir a opção de revalidação de chaves na página de encriptação de dados transparentes , verifique primeiro se o problema de acesso subjacente ao cofre de chaves foi resolvido. A opção de revalidação aparece apenas quando o servidor deteta que a chave protetora TDE está inacessível.
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 mais informações, consulte as definições incorporadas do Azure Policy para Key Vault.
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 de chaves:
- Utilize o cmdlet ou os comandos em Missing key vault para identificar o key vault que a instância lógica do SQL Server utiliza.
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 Azure, vai ao cofre de chaves >Políticas de acesso. 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 .
Obtenha o estado do TDE a partir do Registo de Atividades
Para permitir a monitorização do estado da base de dados devido a Azure Key Vault problemas de acesso-chave, os seguintes eventos são registados no Registo de Atividade para obter o ID do recurso com base no URL 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 Azure Key Vault
Azure SQL Database
NomeDeEvento: MakeDatabaseInaccessible
Estado: Iniciado
Descrição: A base de dados {database_name} no servidor {server_name} perdeu o acesso à chave Azure Key Vault e está agora a transitar para um estado inacessível.
Azure SQL Managed Instance
NomeDeEvento: MakeManagedDbInaccessible
Estado: Iniciado
Descrição: A base de dados { database_name} no servidor gerido {server_name} perdeu o acesso à chave Azure Key Vault e está agora a transitar para o estado inacessível.
Evento quando o problema não foi resolvido em 30 minutos e o acesso à chave do Azure Key Vault deve ser validado manualmente
Azure SQL Database
NomeDeEvento: MakeDatabaseInaccessible
Estado: Bem-sucedido
Descrição: A base de dados é inacessível e exige que o utilizador resolva erros no cofre de chaves da Azure e restabeleça o acesso à chave do cofre da Azure usando Revalidar chave.
Azure SQL Managed Instance
NomeDeEvento: MakeManagedDbInaccessible
Estado: Bem-sucedido
Descrição: A base de dados { database_name} no servidor gerido {server_name} é inacessível e requer que o utilizador restabelece o acesso à Azure Key Vault Chave.
Evento quando a revalidação do acesso à chave do Azure Key Vault é bem-sucedida e a base de dados está a voltar online
Azure SQL Database
NomeDeEvento: MakeDatabaseAccessible
Estado: Iniciado
Descrição: O acesso à Azure Key Vault Chave foi restabelecido, iniciada a operação para tornar a base de dados {database_name} acessível no servidor {server_name}.
Azure SQL Managed Instance
NomeDeEvento: MakeManagedDatabaseAccessible
Estado: Iniciado
Descrição: O acesso à Azure Key Vault Chave foi restabelecido, iniciada a operação para tornar a base de dados {database_name} acessível no servidor gerido {server_name}.
Evento em que o banco de dados voltou a ficar online com êxito
Azure SQL Database
NomeDeEvento: MakeDatabaseAccessible
Estado: Bem-sucedido
Descrição: O acesso à Azure Key Vault Chave foi restabelecido e a base de dados {database_name} no servidor {server_name} está agora online.
Azure SQL Managed Instance
NomeDeEvento: MakeManagedDatabaseAccessible
Estado: Bem-sucedido
Descrição: O acesso ao Azure Key Vault foi restabelecido e a base de dados {database_name} no servidor gerido {server_name} está agora online.
Evento em que a revalidação do acesso à chave do Azure Key Vault falhou
Azure SQL Database
NomeDeEvento: MakeDatabaseAccessible
Estado: Falha
Descrição: O acesso à Azure Key Vault Chave foi restabelecido, a operação para tornar a base de dados {database_name} acessível no servidor {server_name} falhou
Azure SQL Managed Instance
NomeDeEvento: MakeManagedDatabaseAccessible
Estado: Falha
Descrição: O acesso à chave do Azure Key Vault foi restabelecido, mas a operação para tornar a base de dados {database_name} acessível no servidor gerido {server_name} falhou.