Controlar la Visibilidad de los Nombres de las Tablas
Manejar el acceso a un volumen sustancial de datos dentro de una organización plantea desafíos considerables. Particularmente cuando numerosas personas están involucradas, garantizar un acceso controlado se convierte en una tarea compleja.
Dadas estas circunstancias, la necesidad de protección de datos se vuelve primordial. El acceso y la manipulación no autorizados pueden llevar a consecuencias significativas, destacando así la importancia de implementar fuertes medidas de seguridad.
Entendiendo la importancia de esta preocupación, DataSunrise ofrece una solución conocida como Enmascaramiento de Datos. Al adoptar esta estrategia, las organizaciones pueden salvaguardar sus datos de actividades no autorizadas, fortaleciendo así sus defensas contra posibles riesgos. El Enmascaramiento de Datos surge como una herramienta crucial entre diversas medidas de protección, empoderando a las organizaciones para mantener la integridad y confidencialidad de los datos en el complejo panorama de la dinámica moderna de la información.
El Enmascaramiento de Datos ofrece más que solo enmascarar datos: también proporciona la opción de ocultar filas enteras de información. Al crear una regla de enmascaramiento, se puede restringir a grupos específicos de usuarios el acceso a ciertas porciones de datos, asegurando que solo la información relevante esté disponible para sus tareas.
Para ilustrar, tomemos el escenario en el que queremos ocultar nombres de tablas basándonos en varios departamentos dentro de la organización utilizando la función “HIDE ROWS” dentro de DataSunrise.
Para efectos de visualización, supongamos que hemos establecido una conexión a una base de datos local de PostgreSQL en DataSunrise y hemos integrado también la conexión proxy.
Primero, crearemos una regla de enmascaramiento ejecutando los siguientes pasos.
Ir a Masking > Dynamic Masking Rule > Create New Rule.
En la Configuración General, asigne un nombre apropiado a la regla que va a crear. Elija el tipo de base de datos y la instancia a la que le gustaría aplicar esta regla.
Tampoco olvide activar la casilla de verificación “Log Event in Storage” para que pueda verificar los eventos de enmascaramiento que tengan lugar en la sección “Dynamic Masking Events”. Otros campos son opcionales y se pueden dejar sin llenar si no es necesario.
Luego, en la sesión del filtro, podemos configurar las condiciones necesarias. Por ejemplo, podemos determinar que la regla es aplicable para usuarios de base de datos específicos o Grupo de Usuarios de BD. Aquí, como no quiero que los datos no relacionados como los del departamento de RRHH sean accesibles para el usuario “developer1”, filtraré a este usuario. Entonces, si alguien entra al DBMS con la cuenta de usuario “developer1”, no podrá acceder a los datos restringidos.
O si es necesario ocultar los datos de múltiples usuarios (por ejemplo: developer1 + developer2 = grupo “testers”), existe una opción para agrupar a los usuarios en grupos asociados.
Finalmente, se puede configurar la configuración principal de enmascaramiento. Ya que estamos discutiendo un tema sobre ocultar el nombre de la tabla en este artículo, nos quedaremos con la opción “Hide Rows”.
Después de elegir “Hide Row”, navegará a la configuración necesaria para ocultar las tablas. Aquí, gestionaremos la visibilidad de los nombres de las tablas que se encuentran en la instancia. Entonces, ocultaremos las filas del objeto del sistema que es pg_catalog.pg_class. Para poder seleccionar los objetos del sistema, es importante activar la casilla de verificación llamada “Show System Objects”.
Nota: Si no está seguro sobre qué tabla de objeto del sistema se usa en PgAdmin para construir la pantalla de UI, el Monitoreo de Actividades de Datos (Servicio de Auditoría) de DataSunrise es una buena ayuda para usted. Se recomienda encender la configuración a continuación porque puede que necesite probar múltiples consultas para asegurarse y verificar la sección de seguimiento después de ejecutar las consultas.
Habrá algunas consultas sobre la consulta real ejecutada. Al ingresar el “ID” de la traducción, podrá verificar el detalle de cómo se recopilan los datos y se muestran en la UI.
Además, al elegir “Hide All Rows”, también está disponible ocultar solo las filas relevantes que contienen la palabra clave particular estableciendo la condición para el valor de las filas de la columna que deberían ocultarse.
Aquí, como mencioné anteriormente, no quiero dar acceso a los datos del departamento de RRHH al usuario “developer1”. Pero, los datos del departamento de TI serán visibles para él. Por lo tanto, filtro los nombres de tabla que contienen “it” en ellos para que estas tablas del departamento de TI se muestren al usuario “developer1”.
Cuando termine de configurar todas las configuraciones anteriores, haga clic en “save” para guardar la regla.
Ahora, todas las configuraciones necesarias para ocultar la tabla han sido configuradas y la regla está lista para aplicarse.
Probemos y verifiquemos si la regla de enmascaramiento creada funciona correctamente.
Para probar, demostraremos usando pgadmin. En pgadmin, conecte a la misma base de datos por proxy. Primero, me conectaré como usuario “postgres”.
Luego, pruebe la regla de enmascaramiento ejecutando la consulta select simple.
SELECT * FROM pg_catalog.pg_class;
Después de la ejecución, todavía podrá ver la tabla de la base de datos con datos tanto del departamento de TI como del departamento de RRHH dentro de la tabla. Los nombres de las tablas todavía son visibles en el panel izquierdo también. Porque, el usuario “postgres” no fue elegido como un usuario restringido de base de datos.
Cuando nos conectamos como el usuario de base de datos “developer1”, no podremos ver las filas relacionadas con RRHH dentro de la tabla “pg_catalog.pg_class” porque este usuario está restringido para acceder a los datos del departamento de RRHH pero aún puede acceder a los datos del departamento de TI. De manera similar, la visualización de la UI en el panel izquierdo cambiará. Las tablas que no son del departamento de TI desaparecerán.
De esta manera, “Hide Rows” del Enmascaramiento Dinámico de Datos puede usarse para proteger los datos incluso de los objetos del sistema como los nombres de tablas de los usuarios no deseados de manera eficiente.