Enmascaramiento de datos de Postgres con Anonimizador PostgreSQL

Enmascaramiento de datos de Postgres con Anonimizador PostgreSQL
Al usar el sistema de administración de bases de datos PostgreSQL, necesitamos ocultar todo o alguna parte de los datos de los usuarios para mantener los datos confidenciales protegidos y no utilizados. Esto se puede hacer a través de diferentes enfoques, pero aquí explicaremos uno de los procesos de enmascaramiento de datos comúnmente utilizados.

Enmascaramiento de datos

Es el método utilizado para proteger datos confidenciales importantes reemplazando los valores con algunos valores alternativos que son de manera realista equivalente. El enmascaramiento de datos también se conoce como un paraguas para los datos que ocultan la parte en él y protege los datos de usuarios no deseados.

Anonimizador PostgreSQL

Es una extensión de PostgreSQL que se crea para ocultar o reemplazar datos personales o aplicar una máscara en la información. Esta técnica se aplica con el procedimiento de enmascaramiento creando roles.

La funcionalidad del enmascaramiento de datos

Al utilizar el enmascaramiento de datos, nuestros requisitos legales se confirman para mantener los datos privados, como PCI-DSS y se crean otras regulaciones para garantizar que los datos permanezcan privados. Protege los secretos de la información ya que muchas organizaciones trabajan con registros críticos de alto tiempo, que deben protegerse de los competidores.

Trabajo del proceso:

  • Configuramos el sistema PostgreSQL para configurar el enmascaramiento de datos.
  • Creamos un usuario para las copias de seguridad seguras.
  • Entonces también, se crea una copia de seguridad enmascarada.
  • Las copias de seguridad seguras se proporcionan a los desarrolladores.

Role

Un rol puede ser un solo usuario o tal vez un grupo de usuarios. Un papel es que la entidad de la base de datos PostgreSQL que brinda propiedad de PostgreSQL y proporciona privilegios de la base de datos. Por ejemplo, un usuario de inicio de sesión es un papel que hace que el nuevo usuario se inicie sesión en la base de datos PostgreSQL. A través de los comandos y las opciones del panel pgadmin, se crea un rol.

Implementación

Vaya al panel de administración de PostgreSQL. Proporcione la contraseña para la conexión de la base de datos con el servidor una vez que se establece. Ahora abra la herramienta de consulta y use el comando para crear un rol. En PostgreSQL, se crea un rol para el usuario aplicando cualquier condición o lógica por separado a todos los comandos. Cada vez que usamos ese papel en nuestros comandos, la lógica o la condición se aplica automáticamente a ese comando. Así que aquí, se crea un papel llamado Role1. Como comando, usamos la consulta que se proporciona a continuación.

>> crear rol de rol1; Comentario sobre el rol rol1 está 'enmascarado';

Esto causará un comentario enmascarado en el comando donde utilizaremos el rol. Este es el primer comentario utilizado que enmascarará u ocultará los elementos. Siempre que deseemos enmascarar cualquier elemento o columna, utilizaremos el papel especificado en esa columna. Después de crear el rol, ahora aplicaremos los efectos en una columna específica en una tabla. Así que seleccione una tabla en la que desea aplicar una máscara. Hemos seleccionado una tabla llamada 'paciente' que tiene tres atributos: identificación, nombre y teléfono de un paciente.

>> seleccionar * de los pacientes;

Este comando mostrará los datos en cada fila. Ahora aplicaremos el comentario de enmascarado en la columna 'nombre'. El 'anon' es el nombre de la extensión en la carpeta PostgreSQL. Aquí se llama a la función random_name (), que devolverá un nombre aleatorio anónimo. Y ese nombre será reemplazado por el nombre original. Así es como se aplica una máscara para los métodos de seguridad.

>> Comentario sobre el paciente de columna.El nombre está 'enmascarado con función anon.random_name () ';

Esto accederá a la tabla y luego a la columna especificada, como puede ver que se usa un método 'Dot' aquí. Esta máscara ocultará los nombres originales de la columna; Cuando se aplica el rol, verá los resultados.

El siguiente paso es aplicar el comentario de una máscara en la columna 'teléfonos' de la tabla 'paciente'. Alguna porción es visible, mientras que otras estarán ocultas. El signo de dólar indica que aquí aparecerá el número original. Mientras que el '*' muestra que el número no es visible. En el lugar del número, se colocará un asterisco al igual que en la contraseña; Las letras están ocultas.

>> Comentario sobre el paciente de columna.Los teléfonos están 'enmascarados con función anon.parcial (teléfonos, 2, $$*-***-** $$, 2) ';

El parámetro '2' significa que solo se pueden visitar dos números en ambos extremos. Ahora usaremos una instrucción SELECT simple para ver los resultados de una fila específica. Esta vista será lo que verá un usuario normal, en el que no hemos aplicado ninguna máscara.

>> seleccionar * del paciente donde id = '3';

Puede ver que todos los datos son visibles. Un usuario normal puede actualizar, ver, eliminar y realizar casi todas las operaciones en la relación de la base de datos PostgreSQL. Pero para restringir algunos datos, usamos la máscara como comentario que se aplica al rol. Al usar esta máscara, un usuario no puede realizar ninguna actualización con respecto a ningún comando en la tabla como Eliminar, Actualizar o incluso no puede ver los resultados correctamente. Como hemos visto la vista del usuario normal, ahora veremos lo que el usuario enmascarado verá en la ejecución de la misma consulta. Para este propósito, necesitamos aplicar y establecer el papel que hemos creado en los comentarios de máscara. De lo contrario, la máscara no se aplicará, y la vista será la misma que la anterior.

>> establecer rol rol1; Seleccione * frpm paciente donde id = '3';

Ahora recuerde los comentarios que hemos solicitado; Se crearon dos máscaras. Uno en la columna 'Nombre' para aplicar cualquier nombre aleatorio y otro en la columna 'Phons' para ocultar datos parciales. Ahora en la ejecución, puede ver que el nombre 'Robert James' en la fila 3 se reemplaza con un nombre aleatorio 'Semo', y de manera similar, el número en la columna 'Phones' también está oculto. Solo los primeros y últimos dos números son visibles de acuerdo con la condición que hemos aplicado.

Estos comentarios 'enmascarados' son importantes para mantener la privacidad. Y mantener sus datos intactos y visibles solo para las personas que desea.

Al aplicar el rol1, el usuario desea obtener el registro de una persona específica aplicando otra consulta.

>> establecer rol rol1; Seleccione * del paciente donde nombre Ilike 'Sushi Azaar';

La palabra clave 'ilike' actúa así como una declaración igual. En la ejecución del comando, verá que 0 filas se muestran debido al papel agregado al comando; Si elimina el papel de la consulta, los resultados se mostrarán desde la tabla.

Del mismo modo, ahora aplicando una declaración de eliminación solicitando el rol.

>> establecer rol rol1 eliminar del paciente donde id = '3';

No eliminará ninguna fila de la tabla a medida que se aplica el rol y, por lo tanto, los privilegios están restringidos. Y si el usuario intenta actualizar la tabla utilizando una consulta, él/ella no podrá hacerlo a medida que el rol se mencione en el comando.

Conclusión

Este artículo contiene información sobre la integridad de los datos de los piratas informáticos o la persona que desea ocultar los datos. El proceso implica el enmascaramiento de datos, que se realiza creando un papel en PostgreSQL. Los datos pueden reemplazarse o ocultos parcialmente. Ambos tipos se explican con ejemplos que se implementan en una columna de la tabla.