Provisionar chaves Always Encrypted usando o SQL Server Management Studio
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure
Este artigo fornece as etapas usadas para provisionar chaves mestras de coluna e chaves de criptografia de coluna para o Always Encrypted usando o SSMS (SQL Server Management Studio). Certifique-se de instalar a versão de disponibilidade geral (GA) mais recente do SSMS ao provisionar chaves de criptografia.
Para obter uma visão geral do gerenciamento de chaves do Always Encrypted, incluindo recomendações de melhor prática e considerações importantes sobre segurança, confira Visão geral do gerenciamento de chaves do Always Encrypted.
Provisionar chaves mestras de coluna com a caixa de diálogo Nova Chave Mestra de Coluna
A caixa de diálogo Nova Chave Mestra da Coluna permite que você gere uma chave mestra da coluna ou escolha uma chave existente em um repositório de chaves e crie metadados de chave mestra da coluna para a chave criada ou selecionada no banco de dados.
Usando o Pesquisador de Objetos, navegue até o nó Segurança -> Always Encrypted Keys em seu banco de dados.
Clique com o botão direito do mouse no nó Chaves Mestras de Coluna e selecione Nova Chave Mestra de Coluna....
Na caixa de diálogo Nova Chave Mestra de Coluna , digite o nome do objeto de metadados de chave mestra de coluna.
Selecione um repositório de chaves:
Repositório de Certificados – Usuário atual: indica a localização do repositório de certificados do usuário atual no Repositório de Certificados do Windows, que é seu repositório pessoal.
Repositório de Certificados – Computador local: indica a localização do repositório de certificados do computador local no Repositório de Certificados do Windows.
Cofre de chaves do Azure – você precisará entrar no Azure (clique em Fazer logon). Depois de fazer logon, você poderá escolher uma das suas assinaturas do Azure e um cofre de chaves ou um HSM gerenciado (requer o SSMS 18.9 ou posterior).
Observação
O uso de chaves mestras de coluna armazenadas em um HSM gerenciado no Azure Key Vault requer o SSMS 18.9 ou uma versão posterior.
Provedor do Repositório de Chaves (KSP): indica um repositório de chaves que pode ser acessado pelo KSP (provedor do repositório de chaves) que implementa a API CNG (Cryptography Next Generation). Normalmente, esse tipo de repositório é um HSM (módulo de segurança de hardware). Depois de selecionar essa opção, você precisará escolher um KSP. Provedor de Armazenamento de Chaves do Software Microsoft é selecionado por padrão. Se você desejar usar uma chave mestra de coluna armazenada em um HSM, selecione um KSP para seu dispositivo (deve ser instalado e configurado no computador antes de abrir a caixa de diálogo).
Provedor de Serviços de Criptografia (CSP): um repositório de chaves que é acessível por meio de um CSP (provedor de serviços de criptografia) que implementa a CAPI (Cryptography API). Normalmente, esse tipo de repositório é um HSM (módulo de segurança de hardware). Depois de selecionar essa opção, você precisará escolher um CSP. Se você desejar usar uma chave mestra de coluna armazenada em um HSM, selecione um CSP para seu dispositivo (deve ser instalado e configurado no computador antes de abrir a caixa de diálogo).
Observação
Como a CAPI é uma API preterida, a opção Provedor de Serviços de Criptografia (CAPI) é desabilitada por padrão. Você pode habilitar criando o valor CAPI Provider Enabled DWORD na chave [HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\sql13\Tools\Client\Always Encrypted] no Registro do Windows e definindo-o como 1. Você deve usar o CNG em vez de CAPI, a menos que seu repositório de chaves não dê suporte ao CNG.
Para obter mais informações sobre os repositórios de chaves acima, confira Criar e armazenar chaves mestras de coluna do Always Encrypted.
Se você estiver usando o SQL Server 2019 (15.x) e a Instância do SQL Server estiver configurada com um enclave seguro, marque a caixa de seleção Permitir cálculos de enclave para tornar a chave mestra habilitada para enclave. Confira Always Encrypted com enclaves seguros para obter detalhes.
Observação
A caixa de seleção Permitir cálculos de enclave não é exibida se a Instância do SQL Server não está configurada corretamente com um enclave seguro.
Selecione uma chave existente no seu repositório de chaves ou clique no botão Gerar Chave ou Gerar Certificado para criar uma chave no repositório de chaves.
Clique em OK e a nova chave aparecerá na lista.
Depois que você concluir a caixa de diálogo, o SQL Server Management Studio criará metadados para a chave mestra de coluna no banco de dados. A caixa de diálogo gera e emite uma instrução CREATE COLUMN MASTER KEY (Transact-SQL).
Se você está configurando uma chave mestra de coluna habilitada para enclave, o SSMS também assina os metadados usando a chave mestra de coluna.
Permissões para provisionar uma chave mestra de coluna
Você precisará da permissão de banco de dados ALTER ANY COLUMN MASTER KEY no banco de dados para que a caixa de diálogo crie uma chave mestra de coluna. Você também precisa de permissões do repositório de chaves para acessar e usar sua chave mestra de coluna principal. Para obter informações detalhadas sobre permissões do repositório de chaves necessárias para operações de gerenciamento de chaves, vá até Criar e armazenar chaves mestras de coluna para o Always Encrypted e encontre uma seção relevante para o seu repositório de chaves.
Provisionar chaves de criptografia de coluna com a caixa de diálogo Nova Chave de Criptografia de Coluna
A caixa de diálogo Nova Chave de Criptografia de Coluna permite gerar uma nova chave de criptografia de coluna, criptografá-la com uma chave mestra da coluna e criar metadados de chave de criptografia de coluna no banco de dados.
- Usando o Pesquisador de Objetos, navegue até a pasta Segurança/Chaves Always Encrypted em seu banco de dados.
- Clique com o botão direito do mouse na pasta Chaves de Criptografia de Coluna e selecione Nova Chave de Criptografia de Coluna....
- Na caixa de diálogo Nova Chave de Criptografia da Coluna , digite o nome do objeto de metadados de chave de criptografia da coluna.
- Selecione um objeto de metadados que representa a chave mestra da coluna no banco de dados.
- Clique em OK.
Depois de completar a caixa de diálogo, o SQL Server Management Studio (SSMS) gera uma nova chave de criptografia de coluna. Em seguida, o SSMS recupera os metadados da chave mestra de coluna selecionada no banco de dados. Em seguida, o SSMS usará os metadados da chave mestra de coluna para contatar o repositório de chaves que contém a chave mestra de coluna e criptografará a chave de criptografia de coluna. Por fim, o SSMS criará os dados de metadados para a nova criptografia de coluna no banco de dados gerando e emitindo uma instrução CREATE COLUMN ENCRYPTION KEY (Transact-SQL).
Observação
O uso de chaves mestras de coluna armazenadas em um HSM gerenciado no Azure Key Vault requer o SSMS 18.9 ou uma versão posterior.
Permissões para o provisionamento de uma chave de criptografia de coluna
Você precisará das permissões de banco de dados ALTER ANY COLUMN ENCRYPTION KEY e VIEW ANY COLUMN MASTER KEY DEFINITION no banco de dados para que a caixa de diálogo crie os metadados da chave de criptografia de coluna e acesse os metadados da chave mestra de coluna. Você também precisa de permissões do repositório de chaves para acessar e usar sua chave mestra de coluna. Saiba mais sobre as permissões do repositório de chaves necessárias para operações de gerenciamento de chaves, vá até Criar e armazenar chaves mestras de coluna para Always Encrypted e encontre uma seção relevante para o seu repositório de chaves.
Provisionar chaves do Always Encrypted usando o Assistente do Always Encrypted
O Assistente do Always Encrypted é uma ferramenta usada para criptografar, descriptografar e criptografar novamente colunas de banco de dados selecionadas. Embora ele possa usar chaves já configuradas, também permite que você gere uma nova chave mestra de coluna e uma nova criptografia de coluna.
Próximas etapas
- Configurar a criptografia de coluna usando o Assistente do Always Encrypted
- Configurar a criptografia de coluna usando o Always Encrypted com um pacote de DAC
- Girar chaves do Always Encrypted usando o SQL Server Management Studio
- Desenvolver aplicativos usando o Always Encrypted
- Migrar dados para ou de colunas usando Always Encrypted com o Assistente de Importação e Exportação do SQL Server
Confira também
- Always Encrypted
- Visão geral do gerenciamento de chaves do Always Encrypted
- Criar e armazenar chaves mestras de coluna para Always Encrypted
- Configurar o Always Encrypted usando o SQL Server Management Studio
- Provisionar chaves do Always Encrypted usando o PowerShell
- CREATE COLUMN MASTER KEY (Transact-SQL)
- DROP COLUMN MASTER KEY (Transact-SQL)
- CREATE COLUMN ENCRYPTION KEY (Transact-SQL)
- ALTER COLUMN ENCRYPTION KEY (Transact-SQL)
- DROP COLUMN ENCRYPTION KEY (Transact-SQL)
- sys.column_master_keys (Transact-SQL)
- sys.column_encryption_keys (Transact-SQL)