Guia de migração de enclaves Always Encrypted com Intel SGX

Banco de Dados SQL do Azure

Importante

Enclaves Always Encrypted com Intel Software Guard Extensions (Intel SGX) chegam ao fim do suporte em 31 de outubro de 2027. Migre os bancos de dados afetados antes dessa data. Após 31 de outubro de 2027, o Azure automaticamente moverá qualquer banco de dados que permaneça na camada de computação da série DC para uma camada de computação da série padrão suportada (não DC) e habilitará enclaves de segurança baseada em virtualização (VBS).

Este artigo descreve as alternativas ao Always Encrypted com enclaves Intel SGX e as mudanças necessárias para cada alternativa. Revise as considerações de segurança antes de escolher uma alternativa. Os enclaves Intel SGX e VBS oferecem diferentes proteções contra ataques originados no sistema operacional convidado e no host.

Antes de começar, confirme se você pode exibir e modificar os servidores lógicos do SQL do Azure de destino, bancos de dados e pools elásticos. Para o PowerShell, instale os módulos do Az PowerShell e entre no Azure. Para a CLI do Azure, instale-a e entre no Azure. Faça um inventário dos aplicativos que se conectam aos bancos de dados afetados para que você possa atualizar seus drivers, cadeias de conexão e configurações de atestado durante a migração.

Identificar bancos de dados que utilizam a série DC

Identifique todos os bancos de dados independentes e pools elásticos que usam a série DC antes de planejar a migração. Todo banco de dados em um pool elástico série DC é afetado.

  1. No portal do Azure, acesse o servidor lógico do SQL do Azure.
  2. Na página Visão Geral, localize Recursos disponíveis. Esta tabela lista os bancos de dados no servidor lógico.
  3. Na coluna Camada de preço, selecione o filtro e depois filtre a lista por DC-series.
  4. Registre cada banco de dados na lista filtrada. Esses bancos de dados usam enclaves da série DC e Intel SGX.
  5. Repita essas etapas para cada servidor lógico que hospeda bancos de dados SQL do Azure no seu ambiente.

Escolher um caminho de migração

Escolha o caminho de migração que atenda aos requisitos de segurança e do aplicativo da sua carga de trabalho. Use a comparação a seguir como ponto de partida e revise as orientações detalhadas para o caminho selecionado antes de fazer alterações na produção.

Caminho de migração Use essa opção quando Attestation
Banco de Dados SQL do Azure com enclaves de VBS Você quer permanecer no Banco de Dados SQL do Azure e os enclaves VBS atendem aos seus requisitos de segurança. Os enclaves VBS no Banco de Dados SQL do Azure não oferecem suporte à atestação.
SQL Server em uma VM confidencial do Azure com enclaves VBS Você precisa de uma barreira reforçada por hardware que ajuda a proteger o sistema operacional convidado contra o acesso do operador do host. A atestação do HGS (Serviço Guardião de Host) é opcional.

Migrar um banco de dados individual para enclaves VBS

Use esse caminho para manter os recursos habilitados para enclave no Banco de Dados SQL do Azure.

  1. Selecione uma configuração de hardware suportada da série padrão (não DC) que atenda aos requisitos de desempenho e disponibilidade da sua carga de trabalho.
  2. Migre o banco de dados para a configuração de hardware selecionada.
  3. Habilite enclaves VBS para o banco de dados. Habilitar enclaves VBS define a propriedade preferredEnclaveType do banco de dados como VBS.
  4. Analise os requisitos do driver de cliente para enclaves VBS sem atestação e atualize o driver do seu aplicativo, se necessário.
  5. Atualize cada conexão do aplicativo para usar o None protocolo de atestado de enclave e remova a URL do Atestado do Microsoft Azure. As palavras-chave exatas da string de conexão dependem do driver usado pelo cliente.
  6. Conclua a validação pós-migração.

Migrar um pool elástico para enclaves VBS

Todos os bancos de dados em um pool elástico herdam a configuração do enclave do pool. Use esse caminho para manter os recursos habilitados para enclave para bancos de dados em um pool elástico do SQL do Azure.

  1. Selecione uma configuração de série padrão suportada (não DC) que atenda aos requisitos de desempenho e disponibilidade do pool. Para informações sobre como alterar a configuração do pool, veja Gerenciar um pool elástico no Banco de Dados SQL do Azure.
  2. Ative enclaves VBS para o pool elástico. Habilitar enclaves VBS define a propriedade do pool preferredEnclaveType como VBS.
  3. Revise os requisitos dos drivers do cliente para enclaves VBS sem atestação e atualize os drivers da sua aplicação se necessário.
  4. Atualize cada conexão de aplicação para usar o None protocolo de atestação enclave e remova o URL do Microsoft Atestado do Azure. As palavras-chave exatas da string de conexão dependem do driver do cliente.
  5. Conclua a validação pós-migração para cada banco de dados do pool.

Migrar para um SQL Server em uma VM confidencial do Azure

Considere esse caminho se você precisar de um limite imposto por hardware que ajude a proteger o sistema operacional convidado contra o acesso de operadores de host. As VMs confidenciais do Azure criptografam a memória da VM e fornecem diferentes propriedades de segurança dos enclaves Intel SGX. Avalie essas diferenças com base nos seus requisitos de segurança e conformidade.

  1. Implante o SQL Server em uma VM confidencial do Azure.
  2. Escolha se deve usar o atestado de enclave:
  3. Configure o Always Encrypted com enclaves VBS na instância do SQL Server seguindo as orientações da opção de atestação que você selecionou.
  4. Planeje a migração do seu banco de dados, logins, chaves, conectividade de aplicativos e recursos dependentes.
  5. Escolha uma opção de migração de dados com base no tamanho do seu banco de dados, na configuração de rede, nos requisitos de indisponibilidade e nos objetos de banco de dados suportados. As opções comuns incluem:
  6. Atualize as cadeias de conexão do aplicativo para a instância do SQL Server e a opção de atestado selecionada.
  7. Conclua a validação pós-migração.

Validar a migração

Antes de transferir a carga de trabalho para produção:

  1. Verifique se os aplicativos conseguem se conectar com o recurso Always Encrypted habilitado.
  2. Execute consultas representativas que usam colunas criptografadas, incluindo consultas que exigem computações de enclave, se o ambiente de destino usar enclaves seguros.
  3. Verifique se as inserções, atualizações, exclusões e operações em índices em colunas criptografadas se comportam como esperado.
  4. Teste o desempenho do aplicativo e ajuste a configuração de computação de destino, se necessário.
  5. Teste a continuidade de negócios, a recuperação de desastres e os procedimentos de failover. Todas as réplicas de banco de dados devem suportar enclaves seguros se a carga de trabalho usar operações habilitadas pelo enclave.
  6. Monitore o aplicativo para erros de enclave, atestado e consulta antes de concluir a substituição.