Para atender a requisitos de conformidade de segurança ou criptografar dados em repouso, use o Transparent Data Encryption (TDE) para criptografar e descriptografar arquivos de dados em tempo real. O TDE criptografa os dados na camada do banco de dados, impedindo que possíveis invasores contornem o banco e leiam informações confidenciais diretamente do armazenamento. Isso melhora significativamente a segurança dos seus dados confidenciais.
Informações de contexto
Introdução: Após ativar o TDE, os dados são criptografados antes de serem gravados no disco e descriptografados ao serem lidos para a memória. Aplicações e usuários autenticados podem continuar acessando os dados da aplicação de forma transparente (não é necessário alterar o código ou as configurações da aplicação). Isso impede que usuários não autorizados acessem os dados em texto simples nos arquivos de tablespace, nos discos ou nos backups.
Chaves: O Key Management Service (KMS) gera e gerencia as chaves usadas no TDE. O ApsaraDB RDS não fornece as chaves ou certificados necessários para a criptografia. Você pode usar uma chave gerada automaticamente pela Alibaba Cloud ou usar suas próprias chaves mestras de cliente (CMKs) e autorizar o ApsaraDB RDS a utilizá-las.
Algoritmos de criptografia: O algoritmo de criptografia utilizado depende da versão do mecanismo do banco de dados. A tabela a seguir descreve os algoritmos de criptografia.
|
Versão do mecanismo do banco de dados |
Algoritmos de criptografia suportados |
Modificação do algoritmo |
|
MySQL 5.6 |
|
Não é possível modificar o algoritmo de criptografia. |
|
MySQL 5.7 e 8.0 |
|
Use o parâmetro |
Modifique o parâmetro innodb_encrypt_algorithm é uma operação de alto risco. Essa alteração afeta o algoritmo de criptografia e descriptografia de todos os dados criptografados na instância, como tabelas e logs criptografados. Se o valor desse parâmetro for diferente do algoritmo de criptografia dos dados, a descriptografia falhará. O parâmetro innodb_encrypt_algorithm não é exibido no console. Para modificar esse parâmetro, envie um ticket.
Pré-requisitos
-
Para usar o recurso TDE, sua instância do ApsaraDB RDS deve atender aos seguintes requisitos:
Versão do mecanismo do banco de dados: MySQL 8.0, 5.7 ou 5.6 com versão secundária do mecanismo 20191015 ou posterior.
Edição: High-availability Edition ou Cluster Edition.
O Key Management Service (KMS) deve estar ativado. Caso contrário, siga as instruções na tela para ativá-lo ao ativar o TDE.
Use sua conta da Alibaba Cloud para authorize ApsaraDB RDS to access Key Management Service (KMS).
Considerações
Após a ativação do TDE, não é possível desativá-lo, a chave não pode ser alterada e o uso da CPU aumenta significativamente.
Alternância de instância: Ao ativar o TDE, sua instância do ApsaraDB RDS é reiniciada e ocorre uma alternância de instância. A instância fica indisponível por cerca de 15 segundos. Execute esta operação em horários de baixa demanda e certifique-se de que sua aplicação suporte reconexão automática.
Nenhuma alteração de código necessária: A ativação do TDE não aumenta o tamanho dos arquivos de dados nem exige alterações no código ou nas configurações da sua aplicação.
-
EN_EDIT: Atualizado para diferenciar o suporte a backup e restauração entre regiões para instâncias com disco em cloud e disco local, e adicionado link para a documentação de backup entre regiões (nodeId: 328067)
Backup e restauração entre regiões: Após a ativação do TDE, o suporte a backup e restauração entre regiões varia conforme o tipo de armazenamento:
Instâncias com disco em cloud: Suportam tanto backup quanto restauração entre regiões.
Instâncias com disco local: Suportam apenas backup entre regiões. A restauração entre regiões não é suportada.
Para obter mais informações sobre backup entre regiões, consulte Cross-region backup. Para restaurar dados em uma máquina local, você deve primeiro decrypt the data.
Limites de alteração de configuração: Após a ativação do TDE, não é possível alterar a edição da instância de High-availability Edition para Cluster Edition.
-
Limites de CMK: Se você usar uma CMK existente, observe o seguinte:
Você pode usar apenas symmetric keys. Chaves assimétricas não são suportadas.
Uma chave fica indisponível se a instância do KMS estiver indisponível por expiração ou exclusão, se a chave estiver desativada, se houver uma exclusão agendada para a chave ou se o material da chave for excluído. Nesses casos, os dados da instância do ApsaraDB RDS não podem ser restaurados.
Se você revogar a autorização e reiniciar a instância do ApsaraDB RDS, a instância ficará indisponível.
Atualização da versão secundária do mecanismo: Para garantir a estabilidade da sua instância, recomendamos que você upgrade the minor engine version da instância primária e de suas instâncias somente leitura, se houver, para a versão mais recente.
Ative o TDE
Você pode ativar o TDE usando uma chave gerada automaticamente pela Alibaba Cloud ou usando sua própria CMK e autorizando o ApsaraDB RDS a utilizá-la. Para ativar o TDE, você deve usar uma conta da Alibaba Cloud ou uma conta com a permissão AliyunSTSAssumeRoleAccess.
Acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância do RDS está localizada. Em seguida, encontre a instância do RDS e clique em ID da instância.
No painel de navegação à esquerda, clique em Data Security. Em seguida, clique em TDE.
Na seção
-
Selecione um tipo de chave.
Use an Automatically Generated Key: Esta opção usa uma chave de service do KMS.
-
Use Existing Custom Key : Selecione uma CMK existente. Apenas symmetric keys são suportadas.
NotaSe nenhuma chave estiver disponível, clique em create now. para acessar o console do KMS e crie uma chave e importe seu próprio material de chave. Ao criar a chave, selecione Symmetric Key para o parâmetro Key Type.
Clique em OK para ativar o TDE.
Criptografar e descriptografar dados
Criptografar dados
Faça login no banco de dados e execute o seguinte comando para criptografar uma tabela.
Após ativar o TDE, as tabelas existentes não são criptografadas automaticamente. Você deve criptografar manualmente as tabelas existentes executando os seguintes comandos.
-
MySQL 5.6:
ALTER TABLE <tablename> engine=innodb,block_format=encrypted; -
MySQL 5.7 ou 8.0:
ALTER TABLE <tablename> encryption='Y';
Descriptografar dados
Faça login no banco de dados e execute o comando apropriado para descriptografar uma tabela.
-
MySQL 5.6:
ALTER TABLE <tablename> engine=innodb,block_format=default; -
MySQL 5.7 ou 8.0:
ALTER TABLE <tablename> encryption='N';
Perguntas frequentes
-
P1: Posso continuar usando ferramentas comuns de banco de dados, como o Navicat, após ativar o TDE?
R: Sim, você pode. O TDE é transparente para conexões autenticadas. Ferramentas de banco de dados como o Navicat se conectam como usuários autorizados. Portanto, os dados são descriptografados automaticamente na memória quando acessados. Suas ferramentas cliente não precisam de alterações.
-
P2: Ainda posso migrar dados para outras instâncias do ApsaraDB RDS após ativar o TDE?
R: Sim, você pode. As ferramentas de migração de dados se conectam ao banco de dados source como um usuário autenticado e leem os dados após o mecanismo do banco de dados descriptografá-los de forma transparente. O processo de migração é o mesmo de uma instância não criptografada.
-
P3: Por que os dados são exibidos em texto simples quando consulto uma tabela criptografada?
R: Este é o comportamento esperado do TDE. Ele protege dados em repouso (dados em disco) em vez de dados em uso (dados na memória). Quando um usuário autorizado consulta uma tabela criptografada, o mecanismo do banco de dados descriptografa os dados na memória antes de retornar os resultados. Os arquivos de dados no disco e em quaisquer backups permanecem criptografados. Isso impede o acesso não autorizado a informações confidenciais caso uma parte não autorizada obtenha acesso ao armazenamento físico ou aos arquivos de backup. Os backups são criptografados e não podem ser restaurados diretamente em um ambiente local. Para restaurar dados em uma máquina local, você deve primeiro descriptografar os dados no banco de dados source.
Referências
Para comparar diferentes tecnologias de criptografia de banco de dados, consulte Comparison of database encryption technologies.
Para criptografar dados em trânsito, você pode ativar a criptografia SSL. Para obter mais informações, consulte Use a cloud certificate to enable SSL encryption.
Para obter mais informações sobre operações relacionadas a chaves, consulte Key Management Service.
Referência da API REST
|
API |
Descrição |
|
Para ativar o TDE em uma instância do ApsaraDB RDS, defina o parâmetro TDEStatus como Enabled. Configure outros parâmetros conforme necessário. |