A criptografia de colunas, fornecida pelo Data Security Center (DSC), protege dados sensíveis em colunas do ApsaraDB RDS for PostgreSQL ao mantê-los criptografados no nível do banco de dados. Os proprietários dos dados podem lê-los em texto simples por meio de um cliente sempre confidencial, enquanto administradores de banco de dados e operadores da plataforma em nuvem — mesmo com acesso direto ao banco — visualizam apenas o texto cifrado. Essa separação entre a propriedade dos dados e o gerenciamento da infraestrutura do banco de dados constitui a garantia central de segurança deste recurso.
Pré-requisitos
Antes de começar, verifique se você possui:
Uma instância do ApsaraDB RDS for PostgreSQL 16 com versão secundária do mecanismo 20250228 ou posterior
-
Uma instância em execução em uma das regiões suportadas:
China continental: China (Qingdao), China (Pequim), China (Zhangjiakou), China (Hohhot), China (Hangzhou), China (Xangai), China (Shenzhen), China (Guangzhou), China (Chengdu)
Fora da China continental: China (Hong Kong), Singapura, Malásia (Kuala Lumpur), Indonésia (Jacarta), Alemanha (Frankfurt)
Como funciona
O DSC utiliza o algoritmo de criptografia AES-256-GCM com método de criptografia de chave local. As colunas sensíveis são armazenadas como texto cifrado no banco de dados. As contas do banco de dados dividem-se em dois tipos de permissão:
Plaintext Permission — a conta pode consultar colunas criptografadas e receber diretamente o texto simples. Atribua esta permissão aos proprietários dos dados que precisam ler informações sensíveis.
Ciphertext Permission (JDBC Decryption) — a conta recebe o texto cifrado e pode descriptografá-lo localmente por meio do driver JDBC de criptografia de colunas. Esta é a configuração padrão para todas as contas após a ativação da criptografia. Utilize esta opção para aplicações que acessam o banco de dados via código Java.
Se a instância falhar na verificação de criptografia no DSC, não será possível configurar a criptografia de colunas. As causas comuns incluem: versão principal do banco de dados diferente do PostgreSQL 16, versão secundária do mecanismo anterior a 20250228 ou instância do tipo somente leitura. Consulte as Perguntas frequentes para obter as etapas de resolução.
Configure a criptografia de colunas
A configuração da criptografia de colunas envolve cinco etapas: ativar o DSC, autorizar o DSC a acessar recursos em nuvem, autorizar a instância RDS, conectar-se ao banco de dados e habilitar a criptografia em colunas específicas.
Etapa 1: Ativar ou atualizar o DSC
Etapa 2: Autorizar o DSC a acessar recursos em nuvem
Etapa 3: Autorizar a instância de banco de dados RDS
Etapa 4: Conectar ao banco de dados e execute uma tarefa de identificação de dados sensíveis
Etapa 5: Habilitar a criptografia de colunas
-
Faça login no console do Data Security Center. No painel de navegação à esquerda, escolha Risk Governance > Column Encryption.
ImportanteA coluna Encryption Check deve exibir Passed antes que você possa habilitar e configurar a criptografia de colunas. Se ela exibir Failed, consulte as Perguntas frequentes.
-
Clique em Rapid Encryption acima da lista de instâncias de banco de dados para configurar a criptografia de todas as colunas não criptografadas nas instâncias. Como alternativa, clique em Rapid Encryption na coluna Actions de uma instância específica para limitar o escopo a essa instância.

-
No painel Encryption Configuration, selecione o Asset Type, Instance name, Plaintext Permission Accounts, bem como os Databases, Table e Column de destino; em seguida, clique em OK. Observe o seguinte:
O RDS PostgreSQL suporta apenas o algoritmo AES-256-GCM e o método de local encryption.
Após a configuração da criptografia, todas as contas do banco de dados assumem, por padrão, a Ciphertext Permission (JDBC Decryption). Contas com essa permissão acessam o texto cifrado por padrão e o descriptografam localmente usando um cliente JDBC.
Para conceder acesso direto em texto simples a uma conta, adicione-a em Plaintext Permission Accounts.
Modifique a configuração de criptografia
Alterar o escopo das colunas criptografadas
Após habilitar a criptografia de colunas, ajuste as colunas criptografadas a qualquer momento.
Faça login no console do Data Security Center. No painel de navegação à esquerda, escolha Risk Governance > Column Encryption.
-
Na lista de instâncias, expanda a instância de destino. Localize os Databases, Table e Column desejados e clique em Enable Encryption ou Disable Encryption.

Alterar permissões de conta
Todas as contas assumem, por padrão, a Ciphertext Permission (JDBC Decryption), a menos que sejam explicitamente definidas com Plaintext Permission. Altere as permissões com base na função de cada conta:
Plaintext Permission: Destinada a proprietários de dados que precisam ler informações sensíveis diretamente pelo console ou DMS.
Ciphertext Permission (JDBC Decryption): Indicada para aplicações e administradores que acessam o banco de dados via JDBC e descriptografam localmente.
Para alterar as permissões:
Faça login no console do Data Security Center.
Na página Risk Governance > Column Encryption, clique em Accounts na seção Permission Settings. Como alternativa, clique em Edit na coluna Actions de uma instância e, em seguida, clique em Account Permissions no painel Configure.
-
No painel Permission Settings, pesquise a instância e a conta de destino para visualizar a permissão atual.
NotaCaso uma conta de banco de dados recém-adicionada não apareça na lista, execute a
Asset synchronization
primeiro e verifique novamente.
Clique em Modify Permissions na coluna Actions da conta de destino. Para atualizar várias contas com as mesmas permissões simultaneamente, selecione-as e clique em Batch Modify Permissions.
Na caixa de diálogo Modify Permissions, selecione a permissão desejada e clique em OK.
Verifique a criptografia de colunas
Este exemplo utiliza a coluna birth_date na tabela students01. Uma conta do banco de dados possui Plaintext Permission; outra possui Ciphertext Permission (JDBC Decryption).
-
Conecte uma instância do RDS PostgreSQL 16 ao DSC, conclua a classificação de dados sensíveis e habilite a criptografia de colunas na coluna de destino. Defina uma conta com Plaintext Permission e mantenha a outra com Ciphertext Permission (JDBC Decryption).

-
Faça login no Data Management Service (DMS) com a conta que possui Ciphertext Permission (JDBC Decryption). Execute
SELECT * FROM students01;. A coluna criptografada retornará o texto cifrado.
-
Faça login no Data Management Service (DMS) com a conta que possui Plaintext Permission. Execute
SELECT * FROM students01;. A coluna criptografada retornará o texto simples.
Acessar colunas criptografadas a partir de aplicações
Para contas com Ciphertext Permission (JDBC Decryption), utilize o driver de criptografia de colunas (JDBC) para acessar dados de colunas criptografadas a partir de aplicações Java. O driver descriptografa o texto cifrado automaticamente antes de retornar os resultados, tornando o processo transparente para a aplicação.
Perguntas frequentes
O que fazer se a instância RDS falhar na verificação de criptografia?
Próximos passos
Para entender a arquitetura e os princípios da criptografia de colunas, consulte a Visão geral da criptografia de colunas.
Caso os dados sensíveis das colunas sejam alterados após a autorização, realize nova varredura no banco de dados. Para mais detalhes, consulte Verificar dados sensíveis por meio de tarefas de detecção.




