sql >> Base de Datos >  >> RDS >> Database

Cómo enmascarar tablas y preservar la integridad referencial

El “Nuevo trabajo de protección de varias tablas…” El asistente en IRI Workbench descrito en este artículo es una de las formas en que los usuarios del producto IRI FieldShield (o la plataforma IRI Voracity) pueden enmascarar automáticamente la información de identificación personal (PII) en las columnas de la base de datos que forman parte de una relación de clave externa y, por lo tanto, preservar la integridad referencial. entre las mesas. Esto garantiza que los registros permanezcan vinculados incluso después de que se anulen.

Tenga en cuenta que desde 2018, se publica un método más nuevo y más sólido para lograr el mismo resultado en nuestro artículo sobre la clasificación, el descubrimiento y el enmascaramiento de varias tablas de bases de datos aquí, y se demuestra en los videos de Youtube 1, 2, 3, 5 y 7 aquí.

Pero en este asistente original y aún popular, los usuarios preservan la integridad referencial definiendo reglas de enmascaramiento a nivel de campo que se aplican de manera automática y consistente a columnas con nombres similares. Cualquiera de las aproximadamente 14 categorías de funciones de enmascaramiento de datos  disponibles para los usuarios de FieldShield, incluido el cifrado, la seudonimización y la redacción, se pueden aplicar sobre la base de dichas reglas.

Este asistente es más apropiado para los usuarios que enmascaran y asignan varias tablas en un esquema que no contienen todos PII. Por ejemplo, IRI recomendaría este asistente si tiene 50 tablas y necesita moverlas todas a un entorno más bajo, pero solo tiene 20 de las tablas que contienen PII para enmascarar de manera consistente (las otras 30 no tienen PII).

Este ejemplo utiliza solo tres tablas de Oracle (Departamentos, Empleados y Job_History) para mostrar cómo funciona este asistente. Cuando se diseñaron originalmente las tablas, se utilizó el Número de Seguro Social del Empleado para su identificación. Esto crea un riesgo de seguridad al ejecutar cualquier informe que muestre el campo ID.

El diagrama E-R anterior para esas tablas, y la consulta SQL y sus resultados a continuación se muestran en varias vistas de IRI Workbench GUI para FieldShield. Consulte este artículo sobre:​​creación de ERD en IRI Workbench. La consulta unió información sobre empleados, gerentes y departamentos, pero expone los valores del número de seguro social (SSN) en las columnas SID del empleado y SID del gerente. Consulte este artículo sobre la codificación y ejecución de trabajos de SQL en IRI Workbench.

Uso del trabajo de protección de varias tablas de FieldShield asistente, estos campos se pueden cifrar (o de otra manera desidentificar) para que los SSN reales se enmascaren en las tablas y consultas posteriores. La integridad referencial se conserva porque se aplica el mismo cifrado a todas las tablas mediante una regla.

En la página de configuración del asistente, se selecciona ODBC como cargador. Las tres tablas antes mencionadas se seleccionan en la página de Extracción de datos. La página siguiente es la página Reglas de modificación de campos. En esta página se pueden diseñar las reglas que se aplicarán a todas las tablas extraídas seleccionadas.

Al hacer clic en Crear  abrirá la página Coincidencia de reglas de campo. Aquí es donde se ingresan los detalles del emparejador. Comience ingresando un nombre de emparejador.

Después de hacer clic en Crear  junto a Nombre de regla , se muestra la página Selección del asistente de regla de nuevo campo de protección. Seleccione Funciones de cifrado o descifrado . Esta selección garantiza que se aplique el mismo algoritmo de protección a todos los datos, lo que garantiza la integridad referencial.

La página siguiente es donde se selecciona el tipo de cifrado. En este caso,  enc_fp_aes256_ascii se usa Este algoritmo de cifrado que conserva el formato utiliza el conjunto de caracteres ASCII para reemplazar los datos reales. Se utiliza en esta demostración para que el cifrado se note en la salida. Una opción más realista normalmente sería el alfanum  versión, que también preservaría la apariencia real de los SSN (9 números en este caso).

Aunque este ejemplo usa una frase de contraseña incrustada, también se puede usar un archivo de contraseña para la clave de cifrado, al igual que una variable de entorno.

Al hacer clic en Finalizar  introducirá esta regla en el comparador. A continuación, se debe crear el comparador en sí. Haz clic en Añadir  en los Coincidencias sección. Esto abrirá la página de detalles del comparador de reglas de campo. Aquí se puede usar un patrón o una clase de datos. Consulte el artículo Aplicación de reglas de campo mediante clasificación para obtener detalles sobre la segunda opción.

En este ejemplo, Patrón  se selecciona y .*SID se ingresa en los detalles. Esta expresión regular coincidirá con todos los nombres de columna que terminan en SID.

El emparejador termina con los detalles que se muestran a continuación. La prueba  El botón se puede usar para probar los emparejadores y asegurarse de que coincidan con todas las columnas previstas. Se pueden ingresar múltiples detalles de comparación y se puede utilizar la lógica Y/O para producir comparaciones detalladas. Por ejemplo, hay una columna adicional llamada VP_SSN . El mismo comparador anterior podría usarse con otro emparejador con un patrón de .*SSN y el operador  para hacer coincidir en esta columna adicional pero con la misma regla.

Al hacer clic en Aceptar  aquí vuelve a la página Reglas donde se muestra cada comparador de reglas. Se pueden usar diferentes comparadores para diferentes campos, de modo que solo se necesita un paso de transformación, incluso si las reglas fueran a enmascarar diferentes columnas de diferentes maneras.

Al hacer clic en Siguiente  mostrará la página Etapa de carga de datos. Aquí es donde se seleccionan la tabla de salida y las opciones. En este ejemplo, se seleccionan las mismas tablas que las tablas de entrada. Además, el modo de salida se cambia a Crear  para truncar las tablas antes de cargarlas para que no se violen las claves únicas.

Después de hacer clic en Finalizar , se crea una carpeta con varios scripts que se ejecutarán con el archivo por lotes incluido.

Para ver cómo la regla transformará el campo, y nos dará la oportunidad de modificar manualmente las cosas, el SCOTT_EMPLOYEES.fcl El script se puede revisar en el editor de Workbench. En la salida, tanto el EMPLOYEE_SID  y el MANAGER_SID mostrar el algoritmo de cifrado aplicado.

Después de ejecutar el archivo por lotes, la misma consulta SQL muestra los mismos resultados combinados, pero con Employee_SID Manager_SID  ahora encriptado. Además, se preserva la integridad referencial. Las relaciones originales entre empleado y gerente se mantienen y los ID del gerente en la línea 2 y el empleado en la línea 26 son los mismos.

Este ejemplo demuestra cómo se puede usar una regla de cifrado en varias columnas en varias tablas mientras se conserva la integridad referencial. Todas las reglas creadas durante los asistentes de trabajo se guardan en una biblioteca de reglas. Esto permite reutilizarlos e incluso compartirlos con colegas para garantizar los mismos resultados con los mismos datos.

Si tiene alguna pregunta sobre las reglas de enmascaramiento de datos de FieldShield o necesita ayuda para usar cualquiera de sus asistentes de enmascaramiento o descubrimiento de datos, comuníquese con su representante de IRI.