Configurar a criptografia de coluna usando o Assistente do Always EncryptedConfigure column encryption using Always Encrypted Wizard

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure SQL nãoAzure Synapse Analytics (SQL DW) nãoData Warehouse Paralelo APPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

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.The Always Encrypted Wizard is a powerful tool that allows you to set the desired Always Encrypted configuration for selected database columns. 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).Depending on the current configuration and the desired target configuration, the wizard can encrypt a column, decrypt it (remove encryption), or re-encrypt it (for example, using a new column encryption key or an encryption type that is different from the current type, configured for the column). É possível configurar várias colunas em uma única execução do assistente.Multiple columns can be configured in a single run of the wizard.

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.The wizard allows you to encrypt columns with existing column encryption keys, or you can choose to generate a new column encryption key or both a new column encryption key and a new column master key.

O assistente funciona movendo dados para fora do banco de dados e executando operações criptográficas no processo do SSMS.The wizard works by moving data out of the database and performing cryptographic operations within the SSMS process. 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.The wizard creates a new table (or tables) with the desired encryption configuration in the database, loads all data from the original tables, performs the requested cryptographic operations, uploads the data to the new table(s), and then swaps the original table(s) with the new table(s).

Observação

A execução de operações criptográficas pode levar muito tempo.Running cryptographic operations can take a long time. Durante esse tempo, o banco de dados não estará disponível para gravar transações.During that time, your database is not available to write transactions. O PowerShell é uma ferramenta recomendada para operações criptográficas em tabelas maiores.PowerShell is a recommended tool for cryptographic operations on larger tables. Confira Configurar a criptografia de coluna usando o Always Encrypted com o PowerShell.See Configure column encryption using Always Encrypted with PowerShell.

Observação

Se estiver usando SQL Server 2019 (15.x)SQL Server 2019 (15.x) e sua instância do SQL Server estiver configurada com um enclave seguro, você poderá executar operações criptográficas in-loco, sem mover os dados para fora do banco de dados.If you are using SQL Server 2019 (15.x)SQL Server 2019 (15.x) and your SQL Server instance is configured with a secure enclave, you can run cryptographic operations in-place, without moving data out of the database. Confira Configurar a criptografia de coluna in-loco usando o Always Encrypted com enclaves seguros.See Configure column encryption in-place using Always Encrypted with secure enclaves. Note que o assistente não dá suporte à criptografia in-loco.Note that the wizard does not support in-place encryption.

Usar o PowerShell é recomendadoUse PowerShell is a recommended

PermissõesPermissions

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.To perform cryptographic operations using the wizard, you must have the VIEW ANY COLUMN MASTER KEY DEFINITION and VIEW ANY COLUMN ENCRYPTION KEY DEFINITION permissions. Você também precisa ter permissões para acessar as chaves mestras de coluna que está usando nos repositórios de chaves que contêm as chaves:You also must have permissions to access column master keys, you are using, in the key stores holding the keys:

  • Repositório de Certificados – Computador local: você precisa ter acesso de leitura para o certificado que é usado como a chave mestra da coluna ou ser o administrador do computador.Certificate Store - Local computer - you must have the Read access to the certificate that is used a column master key, or be the administrator on the computer.
  • Azure Key Vault: você precisa das permissões get, unwrapKey e verify no cofre que contém a chave mestra da coluna.Azure Key Vault - you need the get, unwrapKey, and verify permissions on the vault containing the column master key.
  • Provedor do Repositório de Chaves (CNG) : a permissão e as credenciais necessárias poderão ser solicitadas quando você usar um repositório de chaves ou uma chave, dependendo do repositório e da configuração do KSP.Key Store Provider (CNG) - you might be prompted for the required permission and credentials when using a key store or a key, depending on the store and the KSP configuration.
  • Provedor de Serviços de Criptografia (CAPI) : a permissão e as credenciais necessárias poderão ser solicitadas quando você usar um repositório de chaves ou uma chave, dependendo do repositório e da configuração do CSP.Cryptographic Service Provider (CAPI) - you might be prompted for the required permission and credentials when using a key store or a key, depending on the store and the CSP configuration.

Além disso, se estiver criando chaves usando o assistente, você deverá ter as permissões adicionais listadas em Provisionar chaves mestras de coluna com a caixa de diálogo Nova Chave Mestra da Coluna e Provisionar chaves de criptografia de coluna com a caixa de diálogo Nova Chave de Criptografia da Coluna.In addition, if you are creating new keys using the wizard, you must have additional permissions listed in Provision Column Master Keys with the New Column Master Key Dialog and Provision Column Encryption Keys with the New Column Encryption Key Dialog.

Abrir o Assistente do Always EncryptedOpen the Always Encrypted Wizard

Você pode iniciar o assistente em três níveis diferentes:You can launch the wizard at three different levels:

  • No nível do banco de dados, se quiser criptografar várias colunas localizadas em tabelas diferentes.At a database level - if you want to encrypt multiple columns located in different tables.
  • No nível da tabela, se quiser criptografar várias colunas localizadas na mesma tabela.At a table level - if you want to encrypt multiple columns located in the same table.
  • No nível da coluna, se quiser criptografar uma coluna específica.At a column level - if you want to encrypt one specific column.
  1. Conecte-se ao seu SQL ServerSQL Server com o componente do Pesquisador de objetos do SQL Server Management StudioSQL Server Management Studio.Connect to your SQL ServerSQL Server with the Object Explorer component of SQL Server Management StudioSQL Server Management Studio.

  2. Para criptografar:To encrypt:

    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.Multiple columns located in different table in a database, right-click your database, point to Tasks, and then select Encrypt Columns.
    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.Multiple columns located in the same table, navigate to the table, right-click on it, and then select Encrypt Columns.
    3. Uma coluna individual, navegue até a coluna, clique nela com o botão direito do mouse e selecione Criptografar Colunas.An individual column, navigate to the column, right-click on it, and then select Encrypt Columns.

Página de seleção de colunaColumn Selection Page

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.In this page, you select columns you want to encrypt, re-encrypt, or decrypt, and you define the target encryption configuration for the selected columns.

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.To encrypt a plaintext column (a column that isn't encrypted), select an encryption type (Deterministic or Randomized) and an encryption key for the column.

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.To change an encryption type or to rotate (change) a column encryption key for an already encrypted column, select the desired encryption type and the key.

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.If you want the wizard to encrypt or re-encrypt one or more columns using a new column encryption key, pick a key containing (New) in its name. O assistente gerará a chave.The wizard will generate the key.

Para descriptografar uma coluna criptografada, selecione Texto não criptografado para o tipo de criptografia.To decrypt a column that is currently encrypted, select Plaintext for the encryption type.

Observação

O assistente não dá suporte a operações criptográficas em tabelas temporais e na memória.The wizard does not support cryptographic operations on temporal and in-memory tables. Você pode criar tabelas temporais ou na memória vazias usando Transact-SQL e inserir dados usando seu aplicativo.You can create empty temporal or in-memory tables using Transact-SQL and insert data using your application.

Página de configuração de chave mestraMaster Key Configuration Page

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.If you have selected an autogenerated column encryption key for any column on the previous page, in this page you need to either select an existing column master key or configure a new column master key that will encrypt the column encryption key.

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.When configuring a new column master key, you can either pick an existing key in Windows Certificate Store or in Azure Key Vault and have the wizard to create just a metadata object for the key in the database, or you can choose to generate both the key and the metadata object describing the key in the database.

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.For more information about creating and storing column master keys in Windows Certificate Store, Azure Key Vault or other key stores, see Create and store column master keys for Always Encrypted.

Dica

O assistente permite que você procure e crie chaves somente no Repositório de Certificados do Windows e no Azure Key Vault.The wizard allows you to browse and create keys only in Windows Certificate Store and 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.It also auto-generates the names of both the new keys and the database metadata objects describing the keys. 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.If you need more control for how your keys are provisioned (and more choices for a key store containing your column master key), you can use the New Column Master Key and New Column Encryption Key dialogs to create the keys first, and then run the wizard and pick the keys you have created. Confira Provisionar chaves mestras de coluna com a caixa de diálogo Nova Chave Mestra da Coluna e Provisionar chaves de criptografia de coluna com a caixa de diálogo Nova Chave de Criptografia da Coluna.See Provision Column Master Keys with the New Column Master Key Dialog and Provision Column Encryption Keys with the New Column Encryption Key Dialog.

Próximas etapasNext Steps

Consulte TambémSee Also