O Data Security Center (DSC) permite configurar a criptografia de colunas para diversos tipos de banco de dados, como RDS for MySQL, RDS for PostgreSQL, PolarDB for MySQL, PolarDB for PostgreSQL, PolarDB for PostgreSQL (Compatible with Oracle) e PolarDB-X 2.0. Isso garante que apenas usuários autorizados descriptografem e acessem dados em colunas sensíveis por meio de um cliente sempre confidencial, impedindo a exposição do texto simples a partes não autorizadas.
O recurso de criptografia de colunas está disponível apenas para usuários do Data Security Center nas edições Free Edition, Advanced Edition, Enterprise Edition, versão de teste de 7 dias e Value-added Services Only Edition. Se a criptografia de colunas não estiver ativada ou se sua cota for insuficiente, faça upgrade da sua edição.
Quando um cliente consulta uma coluna criptografada usando SQL, a consulta ignora o tipo de dados original da coluna e sempre retorna os dados no formato de string. Configure a criptografia de colunas com cautela.
Procedimento
Após ativar uma instância do DSC, ao usar a criptografia de colunas pela primeira vez no console, conclua as etapas a seguir nesta ordem: autorizar o **DSC a acessar recursos de nuvem, sincronizar ativos de banco de dados, executar uma tarefa de descoberta de dados sensíveis e ativar a criptografia de colunas**.
Etapa 1: Autorizar o DSC a acessar recursos
Após a autorização, a instância do DSC pode acessar recursos em serviços de nuvem como Object Storage Service (OSS), ApsaraDB RDS e MaxCompute.
Faça login no console do Data Security Center.
Na caixa de diálogo RAM-based Authorization, clique em Authorize.
Etapa 2: Sincronizar ativos de banco de dados
Sincronize seus ativos antes de usar o DSC para detectar dados sensíveis ou auditar atividades de banco de dados em produtos de nuvem como ApsaraDB RDS e PolarDB.
No painel de navegação à esquerda, escolha Asset Center.
-
Na página Asset Center, clique em Asset synchronization.
NotaApós adquirir uma instância do DSC, o serviço sincroniza automaticamente sua lista de ativos de nuvem na primeira vez que você faz login no console, sem necessidade de ação manual. O DSC verifica e sincroniza a lista de ativos automaticamente todos os dias às 00:00.
Etapa 3: Ativar classificação e graduação de dados
Para utilizar a criptografia de colunas, autorize primeiro uma conexão de banco de dados e conclua uma tarefa de descoberta de dados. O DSC oferece suporte aos métodos Connect e Account Logon.
Escolha o método de conexão conforme seus requisitos de segurança de dados e a compatibilidade do seu banco de dados, conforme listado na tabela abaixo.
Utilize a conexão com um clique caso seu banco de dados ofereça suporte a ela e você não precise usá-lo como destino para tarefas de mascaramento de dados.
Caso seja necessário usar o banco de dados como destino para tarefas de mascaramento, utilize uma conexão baseada em credenciais com uma conta que possua permissões de leitura e gravação.
Tipos de conexão e ativos suportados
No painel de navegação à esquerda, escolha Asset Center.
Na seção Structured Data, clique no tipo de dados para o qual deseja configurar a criptografia de colunas.
-
Clique no ícone
na coluna Data Classification da instância de ativo desejada.NotaCertifique-se de que a instância possua um banco de dados e que seu Instance Status esteja como Running. Caso nenhum banco de dados tenha sido criado, não será possível ativar a classificação e graduação de dados nem criar a tarefa de descoberta correspondente.
-
Na caixa de diálogo Enable Classification and Grading, configure os parâmetros conforme descrito na tabela a seguir.
Parâmetro
Descrição
Activation Method
Configure as informações da conta usada para conectar-se ao banco de dados para detecção de dados. Dois métodos são suportados:
Automatically create database accounts : O DSC cria automaticamente uma conta somente leitura com o prefixo
sddp_autono ativo de dados de destino. Essa conta é usada pelo DSC para se conectar ao banco de dados alvo e executar tarefas de detecção.NotaEste método está disponível apenas para tipos de dados que suportam ativação com um clique.
Manually enter username and password: Insira a conta e a senha utilizadas para conectar-se ao banco de dados.
Authorization Scope
Defina o escopo de autorização para a detecção de dados.
Entire data source.
Manage authorization scope in the data source list: Selecione o escopo de autorização desejado.
Automatically create and start a default scan task
Ao selecionar esta opção, o DSC cria automaticamente uma tarefa de verificação padrão após a conexão bem-sucedida com o banco de dados.
Na aba , clique em Default Tasks para visualizar o status de execução da tarefa de verificação. Para mais informações, consulte Verificar dados sensíveis usando uma tarefa de detecção.
Automatically connect to new databases.
Se esta opção for selecionada, o DSC conectará automaticamente novos bancos de dados detectados na sua instância após uma sincronização de ativos manual ou automática.
Após concluir a configuração, clique em OK.
Etapa 4: Visualizar detalhes do banco de dados
Depois que a tarefa de descoberta de dados sensíveis for concluída, visualize as informações sobre a instância de banco de dados conectada ao DSC, incluindo o número total de colunas, o status de criptografia das colunas e as informações da conta do banco de dados.
No painel de navegação à esquerda, escolha .
-
Na página Column Encryption, visualize as informações abaixo. Utilize o componente de busca acima da lista de bancos de dados para pesquisar e visualizar informações de uma instância específica por tipo de ativo, status de criptografia (como colunas criptografadas, não criptografadas ou falha na criptografia) ou nível de sensibilidade.
Item
Descrição
Columns
Indica o número total de colunas nas tabelas de uma instância de banco de dados conectada com sucesso ao DSC.
Sensitive Data (S3 and Higher)
Colunas cujo nível de sensibilidade é S3 ou superior com base nos resultados da descoberta de dados. Inclui informações como colunas sensíveis, colunas criptografadas, colunas não criptografadas e colunas cuja criptografia falhou.
Accounts
-
Total Accounts: Cada par banco de dados-conta é contado como um. Por exemplo, se a Conta C existir tanto no Banco de Dados A quanto no Banco de Dados B, ela será contada como duas contas de banco de dados.
-
Accounts For Which No Encryption Configured: Se a criptografia não estiver habilitada para nenhuma coluna no banco de dados, a permissão da conta será classificada como Accounts For Which No Encryption Configured.
-
Número de contas com Plaintext Permissions ou Ciphertext Permission: Ao ativar a criptografia de colunas para um banco de dados, é possível definir permissões para que as contas acessem os dados das colunas criptografadas.
Clique em qualquer número nas estatísticas ou em Permission Settings. No painel Permission Settings, pesquise e visualize todas as informações de conta da instância de banco de dados alvo para confirmar as permissões de acesso das diferentes contas.
Informações da lista
Exibe informações como Instance name, Asset Type, Region, Encryption Algorithm, Plaintext Permission Accounts e Encryption Check para a instância do DSC.
-
A configuração de criptografia de colunas só é possível em instâncias que obtiveram status Passed na verificação de criptografia.
-
Caso o Encryption Check apresente status "Failed" devido a uma versão incompatível do banco de dados, clique em Upgrade na coluna Encryption Check. Isso redirecionará você para a página de upgrade correspondente no console do ApsaraDB RDS ou PolarDB para atualizar a versão do banco de dados. Para mais informações, consulte Perguntas frequentes sobre falhas na verificação.
Após atualizar a versão ou quando o status for atualizado, execute a Asset synchronization no console do DSC para obter as informações mais recentes do banco de dados.
-
No painel de navegação à esquerda, escolha Asset Center. Na aba Authorization Management, clique em Asset Authorization Management.
-
No painel Asset Authorization Management, clique no tipo de instância desejado (RDS ou PolarDB) no painel de navegação de nomes de produtos à esquerda e, em seguida, clique em Asset synchronization.
-
Etapa 5: Configurar criptografia de colunas
Após confirmar as informações da instância de banco de dados alvo e verificar que o resultado do Encryption Check é Passed, conclua a configuração da criptografia de colunas.
Ativar criptografia com um clique
Antes de ativar a criptografia com um clique para um banco de dados, o algoritmo e o método de criptografia não estão configurados. Nesse estado, não é possível ativar a criptografia para colunas individuais do banco de dados.
-
O DSC oferece três métodos para ativar a criptografia de colunas.
Clique em Rapid Encryption acima da lista de instâncias de banco de dados para configurar a criptografia para todas as colunas não criptografadas.
Clique em Rapid Encryption na coluna Actions da instância de banco de dados desejada para configurar a criptografia especificamente para essa instância.
Na página Asset Center, clique no ícone
na coluna Column Encryption da instância de banco de dados alvo.
-
No painel Encryption Configuration, selecione o Asset Type, Instance name, Encryption Algorithm, Encryption Method e as Plaintext Permission Accounts. Em seguida, selecione os Databases, a Table e a Column de destino para criptografar e clique em OK.
Observe as seguintes configurações de parâmetros:
-
Outras operações
Modificar permissões de conta de banco de dados
Exceto pelas contas com Ciphertext Permission (No Decryption Permission), todas as outras contas da instância de banco de dados possuem permissão de texto cifrado. Modifique as permissões da conta para Plaintext Permissions, Plaintext Permissions ou Ciphertext Permission (JDBC Decryption) conforme suas necessidades de negócios.
-
Na página , clique em Column Encryption na seção Permission Settings.
Alternativamente, na coluna Accounts da lista de instâncias, clique em Edit. No painel Edit, clique em Configure em Account Permissions.
-
No painel Permission Settings, pesquise a instância e a conta desejadas para visualizar as permissões atuais.
NotaCaso uma conta de banco de dados recém-adicionada não apareça na lista, execute uma Asset synchronization e verifique novamente.
-
Clique em Asset synchronization na coluna Actions da conta alvo.
Também é possível selecionar várias contas alvo com a mesma permissão e clicar em Actions abaixo da lista.
Na caixa de diálogo Modify Permissions, selecione a permissão desejada e clique em Batch Modify Permissions.
Modificar configurações de criptografia de colunas
Após concluir a configuração de criptografia:
Na lista de instâncias, expanda a instância alvo. Na lista de bancos de dados, localize os OK, a Databases e a Table desejados e clique em Column ou Disable Encryption para configurar a criptografia de uma única coluna.
-
Na coluna Actions da lista de instâncias, clique em Actions. No painel Edit, modifique o algoritmo de criptografia, o método de criptografia e o escopo das colunas criptografadas.
-
Clique em Edit em Modify ou Encryption Algorithm para atualizar o algoritmo ou método de criptografia.
ImportanteModificar o método de criptografia reinicia a tarefa de criptografia. Durante a reinicialização, os dados nas colunas originalmente criptografadas são armazenados em texto simples, o que representa um risco de segurança de exposição de dados. Prossiga com cautela.
Na lista de bancos de dados para configuração de colunas criptografadas, localize os Encryption Method, a Databases e a Table desejados e clique em Enable Encryption ou Enable Encryption para atualizar o escopo das colunas criptografadas.
-
Exemplo de criptografia de colunas MySQL
Após configurar a criptografia de colunas e as permissões de conta, verifique o acesso aos dados nas colunas criptografadas. Se uma conta com permissão de texto cifrado recuperar texto cifrado ao acessar uma coluna criptografada, isso indica que a configuração está efetiva.
As contas de banco de dados ApsaraDB RDS for PostgreSQL suportam apenas permissão de texto simples e permissão de texto cifrado (descriptografia JDBC). O método para verificar dados de criptografia de colunas é o mesmo utilizado para o ApsaraDB RDS for MySQL. A seção a seguir usa o ApsaraDB RDS for MySQL como exemplo para demonstrar como verificar o acesso a dados de colunas criptografadas em um banco de dados ApsaraDB RDS.
ApsaraDB RDS for MySQL
Pré-requisitos
Você conectou uma instância do ApsaraDB RDS for MySQL 8.0 ao DSC e concluiu a classificação e graduação de dados sensíveis.
Os resultados da verificação mostram que a tabela users no banco de dados sddp_em_db contém três colunas: a coluna phone tem nível de sensibilidade S3 (Informações Pessoais - Número de Celular), enquanto as colunas username e id têm nível de sensibilidade N/A. Todas as colunas estão atualmente não criptografadas, e a verificação de criptografia obteve status Passed.
Configurar criptografia de colunas
Siga as etapas em Ativar criptografia com um clique para configurar a criptografia de colunas nesta instância de banco de dados:
Ative a criptografia para a coluna phone na tabela users.
-
Defina as seguintes permissões de acesso para as contas de banco de dados vinculadas.
Defina permissão de texto simples para a conta sddp_em01, permissão de texto cifrado (descriptografia JDBC) para a conta sddp_em03 e permissão de texto cifrado (sem descriptografia) para a conta sddp_em02.
Acessar dados criptografados
Faça login no banco de dados usando uma conta com Disable Encryption. Para mais informações, consulte Fazer login em um banco de dados ApsaraDB RDS usando o DMS.
Execute uma instrução SELECT para visualizar a tabela de dados. A coluna criptografada retornará dados em texto simples.
Mude para a conta com Ciphertext Permission (No Decryption Permission) e faça login no banco de dados. Execute uma instrução SELECT para visualizar a tabela de dados. A coluna criptografada retornará dados cifrados.
Mude para a conta com Ciphertext Permission (No Decryption Permission) e faça login no banco de dados. Execute uma instrução SELECT para visualizar a tabela de dados. A coluna criptografada retornará dados cifrados.
PolarDB for MySQL
Pré-requisitos
Um cluster PolarDB for MySQL 5.7 foi conectado ao DSC para classificação e graduação de dados sensíveis. Os resultados da verificação são os seguintes.
Os resultados indicam que, na tabela user3 do banco de dados sddp_test, a coluna password tem nível de sensibilidade S4 (Informações Pessoais Sensíveis - Senha), a coluna age tem nível de sensibilidade S2 (Informações Pessoais - Idade) e as colunas restantes têm nível de sensibilidade N/A. Todas as colunas estão atualmente não criptografadas, e a verificação de criptografia obteve status Passed.
Configurar criptografia de colunas
Siga as etapas em Ativar criptografia com um clique para configurar a criptografia de colunas nesta instância de banco de dados:
Ative a criptografia para a coluna password na tabela user3.
-
Defina as seguintes permissões de acesso para as contas de banco de dados vinculadas.
Defina permissão de texto simples para a conta sddp_polardb e permissão de texto cifrado (descriptografia JDBC) para a conta sddp_03.
Acessar dados criptografados
Como o DMS se conecta ao cluster PolarDB for MySQL através do endpoint primário, a política de criptografia de colunas não entra em vigor. Portanto, este exemplo utiliza a linha de comando para conectar-se ao cluster PolarDB for MySQL via endpoint de proxy de banco de dados e verificar os resultados da criptografia de colunas.
Instale uma versão do MySQL no seu servidor que seja compatível com seu sistema operacional.
-
Conecte-se ao cluster de banco de dados executando o seguinte comando:
mysql -h<endpoint> -P<port> -u<username> -p<password>Endpoint e porta: Use o endpoint do cluster e certifique-se de que seu servidor possa acessá-lo. Para informações detalhadas sobre como configurar e visualizar endpoints de conexão, consulte Configurar um proxy de banco de dados e Gerenciar endpoints.
Nome de usuário e senha: Este exemplo utiliza o nome de usuário e a senha das contas de banco de dados com permissão de texto simples e permissão de texto cifrado (descriptografia JDBC), respectivamente.
Exemplos de comandos de conexão:
Usando uma conta com permissão de texto simples: mysql -hpc-bp1fd7v6f.rwlb.rds.aliyuncs.com -P3306 -usddp_polardb -pH4.
Usando uma conta com permissão de texto cifrado (descriptografia JDBC): mysql -hpc-bp1fd7v6f.rwlb.rds.aliyuncs.com -P3306 -usddp_03 -pP3.
-
Execute os seguintes comandos para visualizar a tabela de dados.
-
Execute o comando
use <database_name>;para entrar no banco de dados alvo. Neste exemplo, o banco de dados sddp_test é selecionado.use sddp_test; -
Execute uma instrução SELECT para visualizar a tabela de dados.
SELECT * FROM user3 LIMIT 0, 3;
Exemplos de resultados:
-
Para a conta com permissão de texto simples, a coluna criptografada retorna dados em texto simples.
mysql> use sddp_test; Database changed mysql> SELECT * FROM user3 LIMIT 0, 3; +-----+------+----------+------+ | age | name | password | name | +-----+------+----------+------+ | xxx | xxx | xxx | xxx | | xxx | xxx | xxx | xxx | | xxx | xxx | xxx | xxx | +-----+------+----------+------+ 3 rows in set (0.01 sec) -
Para a conta com permissão de texto cifrado (descriptografia JDBC), a coluna criptografada retorna dados cifrados.
mysql> use sddp_test; Database changed mysql> SELECT * FROM user3 LIMIT 0, 3; +-----+------+----------------------------------------------+------+ | age | name | password | name | +-----+------+----------------------------------------------+------+ | xxx | xxx | /0D9Pxxx... | xxx | | xxx | xxx | Q0D9Pxxx... | xxx | | xxx | xxx | 7kD9Pxxx... | xxx | +-----+------+----------------------------------------------+------+ 3 rows in set (0.01 sec)
-
Descriptografia no lado do cliente
Para acessar texto simples em uma coluna criptografada, utilize uma conta com Ciphertext Permission (JDBC Decryption) e descriptografe os dados usando um cliente para descriptografia no lado do cliente em Java ou Go.
|
Linguagem |
Tipo de banco de dados |
Documentação |
|
Java |
|
Integrar EncJDBC (Suporta descriptografia com chave local e chave KMS) |
|
Go |
|
Integrar driver GoLang (Suporta descriptografia apenas com chave local) |
Perguntas frequentes sobre falhas na verificação
-
A versão do banco de dados ApsaraDB RDS ou PolarDB não é suportada
Clique em Ciphertext Permission (JDBC Decryption) na coluna Upgrade para acessar a página de upgrade correspondente no console do ApsaraDB RDS ou PolarDB e atualizar a versão do banco de dados.
-
A versão secundária do mecanismo ApsaraDB RDS ou a versão do proxy de banco de dados PolarDB não é suportada
Atualizar a versão secundária do mecanismo de uma instância ApsaraDB RDS for MySQL
Atualizar a versão secundária do mecanismo de uma instância ApsaraDB RDS for PostgreSQL
Gerenciar versões de proxy de banco de dados para um cluster PolarDB for MySQL
Gerenciar a versão do mecanismo de BD de um cluster PolarDB for PostgreSQL
-
A instância de banco de dados ApsaraDB RDS é uma instância somente leitura
Quando uma instância somente leitura é criada, os dados são replicados de uma instância secundária, tornando-a consistente com a instância primária. As atualizações de dados na instância primária também são sincronizadas automaticamente com todas as instâncias somente leitura imediatamente após a conclusão da operação na instância primária. Portanto, configure a criptografia de colunas na instância primária.
-
A instância de banco de dados não está no estado "Running"
Por exemplo, instâncias de banco de dados suspensas ou em manutenção não suportam a configuração de criptografia de colunas. inicie a instância ou aguarde a conclusão da manutenção. Confirme se o status da instância de banco de dados está como Encryption Check antes de configurar a criptografia de colunas.
Cotas e limitações
Limitações de região: Certifique-se de que a região da sua instância suporte o recurso de criptografia de colunas. Para mais informações, consulte Regiões suportadas.
-
Limitações de banco de dados:
Tipo de banco de dados
Versão
Algoritmo de criptografia
Método de criptografia
Permissão
ApsaraDB RDS for MySQL
A versão principal do mecanismo é MySQL 5.7 ou MySQL 8.0, e a versão secundária do mecanismo é 20240731 ou posterior.
-
AES-128-GCM.
-
AES-256-GCM: Suportado apenas se a versão secundária do mecanismo for 20241231 ou posterior.
-
SM4-128-GCM: Suportado apenas se a versão secundária do mecanismo for 20241231 ou posterior.
-
Chave local.
-
Chave KMS: Suportado apenas se a versão secundária do mecanismo for 20241231 ou posterior e o tipo de armazenamento for disco em nuvem.
-
Permissão de texto cifrado (sem permissão de descriptografia): Suportado apenas quando uma chave local é usada. Esta é a permissão padrão.
-
Permissão de texto cifrado (descriptografia JDBC): Esta é a permissão padrão quando uma chave KMS é usada.
-
Permissão de texto simples.
ApsaraDB RDS for PostgreSQL
A versão principal do mecanismo é PostgreSQL 16, e a versão secundária do mecanismo deve ser 20241230 ou posterior.
AES-256-GCM.
Chave local.
-
Permissão de texto cifrado (descriptografia JDBC) (Padrão).
-
Permissão de texto simples.
PolarDB for MySQL
A versão principal do mecanismo é MySQL 5.7 ou MySQL 8.0, e a versão do proxy de banco de dados deve ser 2.8.36 ou posterior.
ImportanteSe você configurar políticas de criptografia de colunas para um cluster PolarDB for MySQL, deverá usar um endpoint de cluster de leitura/gravação. Endpoints primários não suportam políticas de criptografia de colunas. Configurar proxy de banco de dados e Gerenciar endpoints.
AES-128-GCM.
Chave local.
PolarDB for PostgreSQL
A versão principal do mecanismo é PostgreSQL 14, e a versão do banco de dados é 2.0.14.15.31.0 ou posterior.
AES-256-GCM.
Chave local.
PolarDB for PostgreSQL (Oracle Compatible)
Apenas a versão 2.0 compatível com sintaxe Oracle é suportada. A versão principal do mecanismo é PostgreSQL 14, e a versão do banco de dados é 2.0.14.15.31.0 ou posterior.
AES-256-GCM.
Chave local.
PolarDB-X 2.0
A série deve ser Enterprise Edition. A versão do banco de dados deve ser polardb-2.5.0_5.4.20-20250714 ou posterior.
-
AES-128-GCM.
-
AES-256-GCM: Suportado apenas se a versão do banco de dados for polardb-2.5.0_5.4.21-20260414 ou posterior.
-
SM4-128-GCM.
-
Chave local.
-
Chave KMS: Suportado apenas se a versão do banco de dados for polardb-2.5.0_5.4.21-20260414 ou posterior.
-
Documentos relacionados
Para informações sobre os recursos e princípios de funcionamento da criptografia de colunas de banco de dados, consulte Visão geral da criptografia de colunas.
Para instruções detalhadas sobre autorização e conexão de banco de dados, consulte Autorização geral de banco de dados.
Para instruções detalhadas sobre como visualizar e corrigir os resultados da descoberta de dados sensíveis, consulte Verificar dados sensíveis usando uma tarefa de descoberta.
Se os dados de colunas sensíveis em um banco de dados forem alterados após a autorização, será necessário verificá-los novamente. Para mais informações, consulte Verificar dados sensíveis usando uma tarefa de descoberta.