El cifrado de columnas, proporcionado por Data Security Center (DSC), protege los datos sensibles de las columnas en ApsaraDB RDS for PostgreSQL al mantenerlos cifrados a nivel de base de datos. Los propietarios de los datos pueden leer su información en texto plano mediante un cliente siempre confidencial, mientras que los administradores de la base de datos y los operadores de la plataforma en la nube —incluso aquellos con acceso directo a la base de datos— solo ven texto cifrado. Esta separación entre quien posee los datos y quien administra la infraestructura de la base de datos constituye la garantía de seguridad fundamental de esta función.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una instancia de ApsaraDB RDS for PostgreSQL 16 con una versión menor del motor 20250228 o posterior
-
Una instancia que se ejecute en una de las regiones compatibles:
China continental: China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Hangzhou), China (Shanghai), China (Shenzhen), China (Guangzhou), China (Chengdu)
Fuera de China continental: China (Hong Kong), Singapore, Malaysia (Kuala Lumpur), Indonesia (Jakarta), Germany (Frankfurt)
Funcionamiento
DSC utiliza el algoritmo de cifrado AES-256-GCM con un método de cifrado de clave local. Las columnas sensibles se almacenan como texto cifrado en la base de datos. Las cuentas de la base de datos se dividen en dos tipos de permisos:
Plaintext Permission: la cuenta puede consultar columnas cifradas y recibir texto plano directamente. Asigne este permiso a los propietarios de datos que necesiten leer información sensible.
Ciphertext Permission (JDBC Decryption): la cuenta recibe texto cifrado y puede descifrarlo localmente mediante el controlador JDBC de cifrado de columnas. Este es el valor predeterminado para todas las cuentas después de habilitar el cifrado. Asigne este permiso a las aplicaciones que acceden a la base de datos mediante código Java.
Si la instancia no pasa la comprobación de cifrado en DSC, no se puede configurar el cifrado de columnas. Las causas más comunes son: la versión principal de la base de datos no es PostgreSQL 16, la versión menor del motor es anterior a 20250228 o la instancia es de solo lectura. Consulte FAQ para conocer los pasos de resolución.
Configurar el cifrado de columnas
La configuración del cifrado de columnas consta de cinco pasos: activar DSC, autorizar a DSC para acceder a los recursos en la nube, autorizar la instancia de RDS, conectarse a la base de datos y habilitar el cifrado en columnas específicas.
Paso 1: Activar o actualizar DSC
Paso 2: Autorizar a DSC para acceder a recursos en la nube
Paso 3: Autorizar la instancia de base de datos RDS
Paso 4: Conectarse a la base de datos y ejecutar una tarea de identificación de datos sensibles
Paso 5: Habilitar el cifrado de columnas
-
Inicie sesión en la consola de Data Security Center. En el panel de navegación izquierdo, elija Risk Governance > Column Encryption.
ImportanteLa columna Encryption Check debe mostrar Passed antes de poder habilitar y configurar el cifrado de columnas. Si muestra Failed, consulte FAQ.
-
Haga clic en Rapid Encryption encima de la lista de instancias de base de datos para configurar el cifrado de todas las columnas no cifradas en todas las instancias. Alternativamente, haga clic en Rapid Encryption en la columna Actions de una instancia de base de datos específica para limitar el alcance a dicha instancia.

-
En el panel Encryption Configuration, seleccione Asset Type, Instance name, Plaintext Permission Accounts, y las Databases, Table y Column objetivo; luego haga clic en OK. Tenga en cuenta lo siguiente:
RDS PostgreSQL solo admite el algoritmo AES-256-GCM y el método de cifrado local.
Después de configurar el cifrado, todas las cuentas de la base de datos tienen de forma predeterminada Ciphertext Permission (JDBC Decryption). Las cuentas con este permiso acceden al texto cifrado de forma predeterminada y lo descifran localmente mediante un cliente JDBC.
Para otorgar a una cuenta acceso directo a texto plano, agréguela en Plaintext Permission Accounts.
Modificar la configuración de cifrado
Cambiar el alcance de las columnas cifradas
Después de habilitar el cifrado de columnas, puede ajustar en cualquier momento qué columnas se cifran.
Inicie sesión en la consola de Data Security Center. En el panel de navegación izquierdo, elija Risk Governance > Column Encryption.
-
En la lista de instancias, expanda la instancia objetivo. Busque las Databases, Table y Column objetivo, y luego haga clic en Enable Encryption o Disable Encryption.

Cambiar permisos de cuenta
Todas las cuentas tienen de forma predeterminada Ciphertext Permission (JDBC Decryption) a menos que se establezca explícitamente Plaintext Permission. Modifique los permisos según la función de cada cuenta:
Plaintext Permission: Para propietarios de datos que necesitan leer datos sensibles directamente a través de la consola o DMS.
Ciphertext Permission (JDBC Decryption): Para aplicaciones y administradores que acceden a la base de datos mediante JDBC y descifran localmente.
Para cambiar los permisos:
Inicie sesión en la consola de Data Security Center.
En la página Risk Governance > Column Encryption, haga clic en Accounts en la sección Permission Settings. Alternativamente, haga clic en Edit en la columna Actions de una instancia y luego haga clic en Account Permissions en el panel Configure.
-
En el panel Permission Settings, busque la instancia y la cuenta objetivo para ver el permiso actual.
NotaSi una cuenta de base de datos recién agregada no aparece en la lista, ejecute primero
Asset synchronization
y vuelva a comprobar.
Haga clic en Modify Permissions en la columna Actions de la cuenta objetivo. Para actualizar varias cuentas con los mismos permisos a la vez, selecciónelas y haga clic en Batch Modify Permissions.
En el cuadro de diálogo Modify Permissions, seleccione el permiso objetivo y haga clic en OK.
Verificar el cifrado de columnas
Este ejemplo utiliza la columna birth_date de la tabla students01. Una cuenta de la base de datos tiene Plaintext Permission; otra tiene Ciphertext Permission (JDBC Decryption).
-
Conecte una instancia de RDS PostgreSQL 16 a DSC, complete la clasificación de datos sensibles y habilite el cifrado de columnas en la columna objetivo. Configure una cuenta con Plaintext Permission y mantenga la otra con Ciphertext Permission (JDBC Decryption).

-
Inicie sesión en Data Management Service (DMS) con la cuenta que tiene Ciphertext Permission (JDBC Decryption). Ejecute
SELECT * FROM students01;. La columna cifrada devuelve texto cifrado.
-
Inicie sesión en Data Management Service (DMS) con la cuenta que tiene Plaintext Permission. Ejecute
SELECT * FROM students01;. La columna cifrada devuelve texto plano.
Acceder a columnas cifradas desde aplicaciones
Para las cuentas con Ciphertext Permission (JDBC Decryption), utilice column encryption driver (JDBC) para acceder a los datos de columnas cifradas desde aplicaciones Java. El controlador descifra el texto cifrado automáticamente antes de devolver los resultados, lo que hace que el proceso sea transparente para la aplicación.
Preguntas frecuentes
¿Qué debo hacer si la instancia de RDS no pasa la comprobación de cifrado?
Pasos siguientes
Para conocer la arquitectura y los principios detrás del cifrado de columnas, consulte Column encryption overview.
Si los datos de columnas sensibles cambian después de la autorización, vuelva a examinar la base de datos. Para obtener más información, consulte Scan sensitive data through detection tasks.




