Visão geral
O TencentDB for MySQL vem com o recurso de criptografia de dados transparente (TDE). A criptografia transparente significa que a criptografia e a descriptografia de dados são transparentes para os usuários. A TDE permite a criptografia e a descriptografia de arquivos de dados de E/S em tempo real. Ele criptografa os dados antes de serem gravados no disco e descriptografa os dados quando são lidos na memória a partir do disco, o que atende aos requisitos de conformidade da criptografia de dados estáticos.
Descrição de gerenciamento de chaves secretas
TencentDB for MySQL não fornece as chaves secretas e os certificados necessários para a criptografia. As chaves secretas utilizadas pela funcionalidade de criptografia transparente de dados são geradas e gerenciadas pelo Key Management Service (KMS), e as informações relevantes sobre as chaves secretas são as seguintes. A funcionalidade de criptografia transparente de dados não tem custos adicionais, mas o KMS gera custos adicionais. Consulte visão geral de cobrança. O KMS (versão de pós-pagamento) encerrará o serviço em 30 de dezembro de 2024, ou seja, o KMS deixará de suportar o modo de pós-pagamento com cobrança por consumo, e suportará apenas o modo de pré-pagamento.
Para os usuários existentes que utilizam o KMS (versão de pós-pagamento), quando uma conta estiver com pagamento em atraso, não poderão obter as chaves secretas do KMS, o que pode causar que as tarefas como migração e atualização não possam ser realizadas normalmente.
Para os usuários que adquirem recentemente o KMS (versão de pré-pagamento), quando sua conta estiver com pagamento em atraso, pois o KMS tendo sido pré-pago por um determinado período, no qual, não será afetada obtenção das chaves KMS, e as tarefas como migração e atualização também não serão afetadas durante esse período. Tenha cuidado com o tempo de renovação das chaves KMS. Se as chaves KMS não forem renovadas após sua expiração, também afetará o uso da funcionalidade de criptografia transparente de dados. Para gerenciar as chaves KMS, acesse o console do KMS. As regiões suportadas pelas instâncias de TencentDB for MySQL e pelo KMS são diferentes. Ao criar chaves secretas, se não houver nenhuma região correspondente no KMS para o território doméstico, pode escolher criar na região de Guangzhou; se não houver uma região correspondente para o território estrangeiro, pode escolher criar na região de Hong Kong, China.
Após ativar a funcionalidade da criptografia TDE, se uma conta (UIN) não tiver criado nenhuma tabela criptografada, as informações correspondentes da chave secreta podem não ser exibidas na lista de chaves secretas; se uma conta (UIN) tiver criado tabelas criptografadas, as informações correspondentes da chave secreta serão visíveis. Para operações de criação de tabelas criptografadas, consulte as perguntas frequentes. Condição de limitação
A arquitetura da instância deve ser de nó duplo ou nó triplo, do tipo geral ou dedicado.
A versão do banco de dados da instância deve ser MySQL 5.7 ou MySQL 8.0.
O serviço KMS já está ativado. Se não estiver ativado, pode ativá-lo durante o processo de ativação da criptografia de dados seguindo as instruções fornecidas.
A permissão da chave KMS já foi concedida. Se não estiver concedida, a permissão pode ser concedida durante o processo de ativação da encriptação de dados seguindo as instruções fornecidas.
Operação da conta necessita de permissões QcloudAccessForMySQLRole. Se não tiver as permissões necessárias, podem ser concedidas durante o processo de ativação da criptografia de dados seguindo as instruções fornecidas.
Notas importantes
Após a revogação da relação de concessão, a reinicialização fará com que o banco de dados MySQL fique indisponível.
A funcionalidade de criptografia TDE não pode ser desativada depois de ativada.
Após ativar a funcionalidade de criptografia TDE, se os usuários pretenderem restaurar dados para um lugar local, precisam descriptografar os dados primeiro.
Embora a ativação da funcionalidade de criptografia TDE possa melhorar a segurança dos dados estáticos, afetará o desempenho de leitura e escrita ao acessar bancos de dados criptografados. Ative a funcionalidade de criptografia TDE consoante a situação real.
Se a instância primária estiver associada a instâncias no modo somente leitura ou instâncias no modo de recuperação de desastres, só precisa ativar a funcionalidade TDE na instância primária, a criptografia de dados das instâncias no modo somente leitura e no modo de recuperação de desastres será ativada em conjunto.
Ao utilizar a funcionalidade TDE, certifique-se de que a chave KMS esteja em estado de utilização normal. Caso contrário, não será possível obter a chave do KMS, o que pode causar que as tarefas como migração e atualização não possam ser realizadas normalmente.
A ativação da funcionalidade de criptografia TDE aumentará o consumo de recursos da CPU, afetando aproximadamente 5% do desempenho.
Após ativar a funcionalidade de criptografia TDE, os aplicativos e usuários autenticados pelo banco de dados podem acessar transparentemente os dados do aplicativo.
A ativação da funcionalidade de criptografia TDE pode reduzir a eficácia da compressão do backup.
Após ativar a funcionalidade de criptografia TDE, as instâncias da versão MySQL 8.0 serão criptografadas automaticamente, ou seja, as tabelas criadas após a ativação da funcionalidade de criptografia TDE estarão criptografadas por padrão.
Instruções
Ativação da TDE
1. Faça login no console MySQL, e na lista de instâncias, clique em ID da instância ou em gerenciar na coluna de operação para acessar a página de gerenciamento. 2. Na guia Data Encryption (Criptografia de dados), ative a opção Encryption Status (Status da criptografia).
Atenção:
Uma instância com TDE habilitada não pode ser restaurada de um backup físico para um banco de dados autocriado em outro servidor.
Depois de ativar a TDE, você não pode desativá-la.
3. Na caixa de diálogo pop-up, ative o KMS, conceda as permissões de chave KMS, selecione uma chave e clique em Encrypt (Criptografar).
Se você selecionar Use key auto-generated by Tencent Cloud (Usar chave gerada automaticamente pela Tencent Cloud), a chave será gerada automaticamente pela Tencent Cloud.
Se você selecionar Use existing custom key (Usar chave personalizada existente), poderá selecionar uma chave criada por você.
Nota:
Se não houver chaves personalizadas, clique em go to create (criar) para criar chaves no console KMS. Para mais informações, consulte Criação de chave. Criptografia de uma tabela
Depois de habilitar a TDE, você pode criptografar uma tabela de uma instância MySQL executando as instruções DDL de exemplo na tabela.
Para criptografar uma tabela na criação, execute a seguinte instrução:
CREATE TABLE t1 (c1 INT) ENCRYPTION=’Y’;
Para criptografar uma tabela existente, execute a seguinte instrução:
ALTER TABLE t1 ENCRYPTION=’Y’;
Descriptografando uma tabela
Depois de habilitar a TDE, você pode descriptografar uma tabela de uma instância MySQL executando a instrução DDL de exemplo na tabela.
Para descriptografar uma tabela criptografada, execute a seguinte instrução:
ALTER TABLE t1 ENCRYPTION=’N’;
Perguntas frequentes
Por que não há informações da chave secreta na lista de chaves secretas depois de ativar a criptografia TDE?
Fenômeno do problema
Lista normal de chaves secretas após a ativação da criptografia TDE
Recomendações de tratamento
1. Primeiro, verifique se o estado de criptografia do KMS está normal, se a conta está em atraso com pagamentos, e se a instância de TencentDB for MySQL e KMS têm pagamentos em atraso. Certifique-se de que todos estes itens estejam normais e tente novamente.
2. Se estiver utilizando a criptografia TDE pela primeira vez e não tiver criado nenhuma tabela criptografada na sua conta (UIN), não haverá informações de chaves secretas na lista de chaves secretas. Consulte os seguintes comandos, crie uma tabela criptografada na sua instância de dados e tente novamente.
CREATE TABLE `user_test` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`userId` int(11) NOT NULL,
`age` int(11) NOT NULL,
`name` varchar(64) DEFAULT NULL,
`ins_date` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_ins_date` (`ins_date`),
KEY `idx_userId` (`userId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ENCRYPTION='Y';
Por que a chave secreta não pode ser utilizada depois de ativar a criptografia TDE?
Confirme se o estado de criptografia do KMS está normal, se a conta está em atraso com pagamentos, e se a instância de TencentDB for MySQL e KMS têm pagamentos em atraso. Devido ao fato de o KMS (versão de pós-pagamento) não poder mais ser criado, e o novo KMS comprado somente suportam a versão de pré-pagamento. Portanto, para os usuários existentes que utilizam o KMS (versão de pós-pagamento), quando o estado de criptografia KMS estiver anormal ou a conta estiver em atraso, as chaves secretas não poderão ser utilizadas, por favor, recarregue antes de tentar novamente.