Cómo Ocultar Esquemas a los Usuarios en Redshift
Hoy en día, la actividad de cualquier organización está asociada con la operación de una gran cantidad de información, a la que tiene acceso un amplio rango de personas. En consecuencia, la complejidad de asegurar la confidencialidad de los datos sensibles aumenta, junto con el crecimiento del volumen de datos procesados en las empresas. Por lo tanto, la protección de datos contra el acceso no autorizado, la modificación no autorizada o simplemente la destrucción es una de las prioridades. El enmascaramiento de datos es uno de los métodos efectivos para proteger la información importante del acceso no autorizado.
La opción Ocultar Filas de Data Sunrise Dynamic Masking te permite crear ciertas reglas para ocultar parte de los datos a un determinado grupo de usuarios, preservando la estructura general de la información y dejando disponible la parte de los datos que es necesaria para el trabajo. Como ejemplo, considera cómo las reglas de Enmascaramiento Dinámico con la opción Ocultar Filas pueden ser utilizadas para ocultar esquemas específicos en la base de datos Redshift a un grupo de usuarios.
La información sobre los esquemas en la DB está contenida en la tabla del sistema <your_database>.pg_catalog.pg_namespace. Por lo tanto, aplicando condiciones adecuadas a las columnas de esta tabla, puedes ocultar algunos de los esquemas a usuarios específicos.
Imagina que tienes los esquemas “test1” y “test2” y quieres que solo estos 2 esquemas sean visibles para “usuario1”, “usuario2” y “usuario3”. A continuación se muestra una guía paso a paso sobre cómo implementar este escenario:
- Navega a Enmascaramiento –> Reglas de Enmascaramiento Dinámico y luego haz clic en Agregar Regla.
- En la página de Detalles de la Regla, llena los campos requeridos como Nombre, Tipo de Base de Datos y Instancia. Habilita la casilla de verificación Registrar Evento en Almacenamiento para ver eventos en la sección de Eventos de Enmascaramiento Dinámico. Otros campos son opcionales y pueden ser llenados según sea necesario o requerido.
- En Filtrar Sesiones, agrega una condición para la cual debe aplicarse la regla, por ejemplo Usuario de DB si la regla es aplicable para usuarios específicos o Grupo de Usuarios de DB para un conjunto de usuarios dentro del grupo.
- En Configuraciones de Enmascaramiento, haz clic en Seleccionar en Tablas para ocultar filas, aparecerá la ventana modal Check Columns.
- En la porción izquierda de la ventana modal Check Columns, (a) ingresa el nombre de la(s) base(s) de datos para la cual debe aplicarse la regla, (b) ingresa “pg_catalog” en el campo Buscar Esquemas, (c) ingresa “pg_namespace” en el campo Buscar Tablas y luego haz clic en el botón Filtrar. El filtro se aplicará al menú del Explorador de Objetos, marca la casilla al lado de la tabla “pg_namespace” y luego haz clic en Hecho.
- En el campo de condición de columna, ingresa nspname LIKE ‘%test%’ y luego guarda la regla.
- Conéctate a la base de datos Redshift a través del proxy en nombre de “usuario1” especificado en la regla de Enmascaramiento Dinámico.
- Al conectarse a la base de datos, este “usuario1” solo verá los esquemas “test1” y “test2”.
- Para ocultar todos los esquemas excepto public de “usuario3” especifica la siguiente condición nspowner = 1 y nspname = ‘public’.
- Solo el esquema “public” será visible para usuario3 en tal caso.
- Para ocultar todos los esquemas usa la condición nspowner es NULO, lo cual es falso por defecto.
En este caso, los usuarios incluidos en el Grupo de Usuarios de DB no verán ningún esquema en absoluto al conectarse a la base de datos a través del proxy.