Cómo otorgar privilegios de cifrado a un usuario

Esta tarea forma parte de la tarea más importante de Cifrado de datos locales. Después de completar estos pasos, vuelva al apartado Visión general del cifrado local de los datos.

Procedimiento

Antes de crear la primera tabla cifrada, la aplicación debe otorgar privilegios de cifrado a un usuario. Por ejemplo, la aplicación puede emitir la sentencia siguiente de SQL:

 rc = SQLExecDirect(..., "GRANT ENCRYPT ON DATABSE TO \" usuario1\"" +
                          " using \"pwd1\" new \"pwd1\"", SQL_NTS)

Al ejecutar esta sentencia de SQL, DB2 Everyplace creará una tabla de catálogos del sistema llamada DB2eSYSUSERS, y se insertará una fila en dicha tabla. Esto significa que el usuario "usuario1 ya estará registrado con la contraseña correspondiente y ahora tendrá todos los privilegios de cifrado, como por ejemplo para crear tablas cifradas y acceder a ellas.

Esta tabla está fuertemente vinculada a la base de datos y a los datos cifrados, por lo que no basta con moverla a otra base de datos DB2 Everyplace para acceder a datos cifrados. Esto es debido a que las distintas bases de datos tendrán claves diferentes para el cifrado o descifrado. Como consecuencia, si una persona tiene permitido acceder a tablas cifradas de una base de datos, dicha persona no puede acceder a otra base de datos utilizando un ID de usuario y una contraseña iguales. Al igual que con otras tablas de catálogos del sistema, una aplicación puede recuperar filas utilizando la sentencia de selección de SQL, pero no puede modificar los datos de esta tabla mediante las sentencias INSERT, DELETE, UPDATE, CREATE y DROP.

Conceptos relacionados

Tareas relacionadas