Configurar a criptografia de coluna usando o Assistente do Always Encrypted

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

O Assistente do Always Encrypted é uma ferramenta avançada que permite a você definir a configuração desejada do Always Encrypted para as colunas selecionadas do banco de dados. Dependendo da configuração atual e da configuração de destino desejada, o assistente pode criptografar uma coluna, descriptografá-la ou recriptografá-la (por exemplo, usando uma nova chave de criptografia de coluna ou um tipo de criptografia diferente do tipo atual, configurado para a coluna). É possível configurar várias colunas em uma única execução do assistente.

O assistente permite criptografar colunas com chaves de criptografia de coluna existentes. Você também pode optar por gerar uma nova chave de criptografia de coluna ou, ainda, uma nova chave de criptografia de coluna e uma nova chave mestra de coluna.

Quando o banco de dados estiver configurado com um enclave seguro, você poderá executar operações criptográficas in-loco, sem mover os dados para fora do banco de dados. O assistente remove todas as dependências que bloqueiam a alteração de esquema da coluna a ser criptografada. Ele emite uma criptografia no local para cada coluna usando o enclave dentro do mecanismo de banco de dados. Quando a criptografia é concluída, o assistente recria as dependências. Para obter mais informações sobre o Always Encrypted com enclaves seguros, confira o artigo Always Encrypted com enclaves seguros.

Quando seu banco de dados não estiver configurado com um enclave seguro, o assistente lhe dará a oportunidade de habilitar um enclave seguro. Se você optar por não habilitar um enclave seguro ou não estiver usando chaves habilitadas para enclave, o assistente funcionará movendo os dados para fora do banco de dados e executando operações criptográficas no processo do SSMS. O assistente cria uma ou mais tabelas com a configuração de criptografia desejada no banco de dados, carrega todos os dados das tabelas originais, executa as operações de criptografia solicitadas, carrega os dados nas novas tabelas e troca as tabelas originais pelas novas.

Dica

Usar criptografia no local usando Always Encrypted com enclaves seguros, se disponível em seu ambiente, pode reduzir substancialmente o tempo e a confiabilidade das operações criptográficas.

Observação

A execução de operações criptográficas pode levar muito tempo. Durante esse tempo, o banco de dados não estará disponível para gravar transações. O PowerShell é uma ferramenta recomendada para operações criptográficas em tabelas maiores. Confira Configurar criptografia de coluna usando Always Encrypted com o PowerShell ou Configurar criptografia de coluna no local com o PowerShell.

Permissões

Para executar operações criptográficas usando o assistente, você precisa ter as permissões VIEW ANY COLUMN MASTER KEY DEFINITION e VIEW ANY COLUMN ENCRYPTION KEY DEFINITION. Você também precisa de permissões do repositório de chaves para criar, acessar e usar sua chave mestra de coluna. Saiba mais sobre as permissões do repositório de chaves, vá até Criar e armazenar chaves mestras de coluna para Always Encrypted ou encontre uma seção relevante para o seu repositório de chaves.

Abrir o Assistente do Always Encrypted

Você pode iniciar o assistente em três níveis diferentes:

  • No nível do banco de dados, se quiser criptografar várias colunas localizadas em tabelas diferentes.
  • No nível da tabela, se quiser criptografar várias colunas localizadas na mesma tabela.
  • No nível da coluna, se quiser criptografar uma coluna específica.
  1. Conecte-se ao SQL Server com o componente Pesquisador de Objetos do SQL Server Management Studio.

  2. Para criptografar:

    1. Várias colunas localizadas em tabelas diferentes em um banco de dados, clique com o botão direito do mouse no banco de dados, aponte para Tarefas e selecione Criptografar Colunas.
    2. Várias colunas localizadas na mesma tabela, navegue até a tabela, clique nela com o botão direito do mouse e selecione Criptografar Colunas.
    3. Uma coluna individual, navegue até a coluna, clique nela com o botão direito do mouse e selecione Criptografar Colunas.

Página de seleção de coluna

Nessa página, você seleciona as colunas que deseja criptografar, recriptografar ou descriptografar e define a configuração de criptografia de destino para as colunas selecionadas.

Para criptografar uma coluna de texto não criptografado, selecione um tipo de criptografia (Determinística ou Aleatória) e uma chave de criptografia para a coluna.

Para alterar um tipo de criptografia ou girar (alterar) uma chave de criptografia de coluna para uma coluna já criptografada, selecione o tipo de criptografia desejado e a chave.

Se quiser que o assistente criptografe ou recriptografe uma ou mais colunas usando uma nova chave de criptografia de coluna, escolha uma chave que contenha (Novo) no nome. O assistente gerará a chave.

Para descriptografar uma coluna criptografada, selecione Texto não criptografado para o tipo de criptografia.

Observação

Se você quiser aproveitar a criptografia no local e estiver usando chaves existentes, selecione chaves habilitadas para enclave – anotadas com (habilitadas para enclave).

Observação

O assistente não dá suporte a operações criptográficas em tabelas temporais e na memória. Você pode criar tabelas temporais ou na memória vazias usando Transact-SQL e inserir dados usando seu aplicativo.

Página de configuração de chave mestra

Se tiver selecionado uma chave de criptografia de coluna gerada automaticamente para alguma coluna na página anterior, nessa página, você precisará selecionar uma chave mestra de coluna ou configurar uma nova chave mestra de coluna que criptografará a chave de criptografia de coluna.

Ao configurar uma nova chave mestra de coluna, você pode escolher uma chave existente no Repositório de Certificados do Windows ou no Azure Key Vault e fazer com que o assistente crie apenas um objeto de metadados para a chave no banco de dados ou pode optar por gerar a chave e o objeto de metadados que descreve a chave no banco de dados.

Para usar a criptografia no local, selecione Permitir cálculos de enclave para uma nova chave mestra de coluna. Marcar essa caixa de seleção será permitido apenas se o banco de dados estiver configurado com um enclave seguro.

Para obter mais informações sobre como criar e armazenar chaves mestras de coluna no Repositório de Certificados do Windows, no Azure Key Vault ou em outros repositórios de chaves, confira Criar e armazenar chaves mestras de coluna para o Always Encrypted ou Gerenciar chaves para Always Encrypted com enclaves seguros.

Dica

O assistente permite que você procure e crie chaves somente no Repositório de Certificados do Windows e no Azure Key Vault. Ele também gera automaticamente os nomes das novas chaves e dos objetos de metadados do banco de dados que descrevem as chaves. Se precisar ter mais controle sobre como as chaves são provisionadas (e mais opções para um repositório de chaves que contém uma chave mestra de coluna), você poderá usar as caixas de diálogo Nova Chave Mestra da Coluna e Nova Chave de Criptografia da Coluna para criar as chaves primeiro e, em seguida, executar o assistente e escolher as chaves criadas. Confira Provisionar chaves mestras de coluna com a caixa de diálogo Nova Chave Mestra da Coluna e Provisionar chaves habilitadas para enclave e Provisionar chaves de criptografia de coluna com a caixa de diálogo Nova Chave de Criptografia de Coluna.

Página Configurações de criptografia no local

Se você configurou um enclave seguro no banco de dados e está usando chaves habilitadas para enclave, esta página permitirá que você especifique os parâmetros de atestado de enclave, necessários para a criptografia no local. Se você não quiser usar a criptografia no local, desmarque Usar criptografia no local para colunas qualificadas para prosseguir com a criptografia do lado do cliente. Recomendamos que você deixe essa caixa de seleção habilitada para que o assistente possa usar a criptografia no local.

Para obter mais informações sobre atestado de enclave, confira Configurar atestado para Always Encrypted usando o atestado do Azure

Próximas etapas

Confira também