sql >> Base de Datos >  >> NoSQL >> MongoDB

Enmascaramiento de PII en MongoDB, Cassandra y Elasticsearch con DarkShield:…

Este artículo demuestra el uso de IRI DarkShield para identificar y remediar (enmascarar) la información de identificación personal (PII) y otros datos confidenciales en las bases de datos de MongoDB, Cassandra y Elasticsearch. Aunque estos pasos se enfocan principalmente en encontrar y proteger los datos en las colecciones de MongoDB, también se pueden usar los mismos pasos para los datos en las tablas de Cassandra. Consulte también este artículo sobre Elasticsearch.

Tenga en cuenta que este artículo representa el cuarto método que admite IRI para enmascarar datos en MongoDB y el segundo método para Cassandra. Esos métodos anteriores y aún admitidos se basan en el descubrimiento de datos estructurados y la desidentificación a través de IRI FieldShield, mientras que el método DarkShield admite datos textuales en colecciones estructuradas o no estructuradas. Aunque DarkShield y FieldShield son productos de enmascaramiento de datos IRI independientes, ambos están incluidos en la plataforma de gestión de datos IRI Voracity.

El último enfoque utiliza algunos elementos de Clasificación de datos , un paradigma de catalogación de datos integrado para definir los métodos de búsqueda utilizados para encontrar PII independientemente de la fuente de los datos. Si bien este artículo proporciona una pequeña introducción a la Clasificación de datos durante el Paso 1, puede que le resulte útil leer sobre cómo la Clasificación de datos encaja en nuestro enfoque unificado para realizar búsquedas. Para obtener más información sobre la clasificación de datos en el front-end de IRI Workbench para DarkShield et al, lea este artículo antes de continuar.

La identificación y corrección de PII mediante IRI DarkShield implica 4 pasos generales:

Paso (opcional):registre su(s) fuente(s) de datos

En este paso (opcional), se registran las fuentes de datos para una base de datos de Mongo, un espacio de claves de Cassandra o un clúster de Elasticsearch. Esto permite que las fuentes de datos sean reutilizables. Como resultado, este paso es opcional si la fuente de datos deseada ya existe en el registro, o si planea definirlos desde el asistente.

Paso 1:especifique los parámetros de búsqueda

Aquí se eligen todos los aspectos de una búsqueda. En primer lugar, se configura una colección/tabla de origen y de destino en función de la conexión de datos especificada en el registro o creada en el asistente. Luego, puede especificar los criterios de búsqueda y remediación para sus datos usando Search Matchers, los tipos de información que debe buscar y cómo se debe remediar esa información. El resultado de este paso es una .búsqueda archivo.

Paso 2:realizar una búsqueda

Se puede ejecutar una búsqueda desde un .search expediente. El resultado es un .darkdata archivo que anota cualquier PII identificado.

Paso 3:Reparación (enmascaramiento)

La corrección se puede realizar desde un .darkdata expediente. Cualquier PII identificada se remediará de la manera especificada durante la creación de la búsqueda.

Paso (opcional):registre sus fuentes de datos

Como paso previo, deberá registrar las conexiones a sus orígenes (y destinos) de datos en línea en el Registro de conexiones URL, que se encuentra en Preferencias> IRI> Registro de conexiones URL . cuadro de diálogo en IRI Workbench.

Se pueden guardar todas las conexiones URL, incluidas las cadenas de conexión URI para MongoDB, Cassandra y Elasticsearch. Esto permite que IRI Workbench guarde y almacene las URL, las credenciales de autenticación y cualquier parámetro adicional para uso futuro.

Paso 1:especifique los parámetros de búsqueda (cree un archivo .Search)

En el IDE de IRI Workbench para DarkShield, seleccione Nuevo trabajo de detección de base de datos en el menú de DarkShield. Seleccione una carpeta de proyecto e ingrese un nombre para el trabajo:

Especificar un origen y un destino

Se puede acceder a cualquier Mongo, Cassandra o ElasticsearchURL que se haya creado y guardado previamente en el registro desde el URI menú desplegable para los selectores de origen y destino. También se deberá ingresar el nombre de la colección de MongoDB correspondiente, la tabla de Cassandra o el índice de Elasticsearch:

También se puede crear un nuevo URI presionando el botón Nuevo botón. Esto abrirá el cuadro de diálogo Detalles de conexión URL. Ingrese un nombre para la conexión, seleccione el esquema deseado, ingrese el host e ingrese la base de datos. Si no hay puerto presente, se asumirá el puerto predeterminado para el esquema.

También se puede proporcionar un nombre de usuario y una contraseña si la base de datos requiere autorización. Todas las conexiones de URL nuevas se guardarán en el Registro de conexiones de URL y se pueden reutilizar como destino.

Después de especificar una fuente, puede continuar a la página siguiente para seleccionar o crear un URI de destino. El esquema del URI de destino se limitará al URI de origen seleccionado, por lo que un origen de MongoDB solo se puede enviar a otro destino de MongoDB, y de manera similar para Cassandra o Elasticsearch.

Cuando se ejecuta un trabajo de enmascaramiento, todas las filas del origen se agregarán al destino y se sobrescribirán las filas con claves coincidentes. Para Cassandra, asegúrese de que el esquema de la tabla de destino sea compatible con los datos de la tabla de origen.

Agregar buscadores de coincidencias

Después de especificar un origen y un destino, puede ir a la página siguiente para agregar coincidencias de búsqueda. Seleccione una ubicación de biblioteca que contenga bibliotecas de patrones o reglas que desee utilizar y haga clic en Agregar para agregar un nuevo Search Matcher.

Coincidencia de nombre de clave

El primer Search Matcher que crearemos se usará para hacer coincidir el valor completo correspondiente a cualquier clave de "nombre" ubicada en estructuras json arbitrariamente anidadas y aplicar un algoritmo de cifrado de conservación de formato para enmascararlo. Podemos lograr esto creando un filtro de ruta JSON “$..name”. Puede encontrar más información sobre las rutas JSON aquí.

Dado que DarkShield analiza las colecciones de MongoDB, las tablas de Cassandra y los índices de Elasticsearch como documentos json, el filtro se puede aplicar a ambos para enmascarar cualquier valor correspondiente a cualquier clave de "nombre".

Para hacer coincidir el contenido de los datos filtrados, necesitamos crear una nueva clase de datos . Una clase de datos representa la PII y los comparadores asociados que se usan para identificarla. Estos emparejadores pueden incluir cualquier combinación de:

  • Patrones de expresiones regulares
  • Establecer búsquedas en el diccionario de archivos
  • Modelos de reconocimiento de entidades con nombre
  • Coincidencias de cuadros delimitadores (solo imágenes)
  • Reconocimiento facial (solo imágenes)

Puede definir Clases de datos dentro del asistente o abriendo Clases y grupos de datos página en las Preferencias de IRI . Las clases de datos definidas dentro de las preferencias se pueden usar tanto en FieldShield como en DarkShield para otras fuentes de datos, incluidos datos estructurados y no estructurados.

Podemos crear un TODO asociado Clase de datos para este comparador que coincidirá con todo el contenido del valor, ya que estamos razonablemente seguros de que todo lo que encontraremos en los valores son nombres. Puede usar búsquedas de archivos establecidos que contengan un diccionario de nombres si no está seguro del contenido de sus claves de "nombre" o si desea enmascarar solo un subconjunto de nombres.

Para el Nombre de regla del campo KeyNameMatcher, podemos seleccionar una regla de datos existente de la ubicación de la biblioteca que hemos seleccionado, o crear una nueva regla que use el cifrado de preservación del formato (FPE), por ejemplo:

Para crear una regla de FPE, haga clic en Crear junto al Nombre de la regla campo, seleccione Funciones de cifrado o descifrado del Asistente para reglas de datos que aparece:

Especifique una frase de contraseña adecuada para que sirva como su clave de cifrado/descifrado, que puede ser una cadena explícita, una variable de entorno o el nombre de un archivo protegido que contenga esa cadena.

Coincidencia de correos electrónicos

Después de terminar el cuadro de diálogo anterior y crear nuestro nuevo KeyNameMatcher, podemos agregar otro Search Matcher para direcciones de correo electrónico. Simplemente haga clic en Agregar para crear otro Search Matcher para agregar a la lista.

El banco de trabajo IRI viene precargado con un CORREO ELECTRÓNICO Clase de datos que se puede seleccionar haciendo clic en Examinar junto al Nombre de clase de datos y seleccionando CORREO ELECTRÓNICO del menú desplegable.

Para la regla de datos, puede seleccionar la regla FPE que ha creado para el Search Matcher anterior haciendo clic en Examinar junto al Nombre de la regla o cree uno nuevo con una de las múltiples funciones de enmascaramiento disponibles. Creé una función de redacción de datos simple que reemplaza todo el correo electrónico con asteriscos.

Su Search Matcher ahora se puede agregar a la lista haciendo clic en Aceptar.

Coincidencia de nombres

Nuestro último Search Matcher se usará para encontrar nombres dentro de un texto fluido. Para ello, utilizaremos Reconocimiento de entidad nombrada (NER) para encontrar nombres usando el contexto de la oración. Para comenzar, debemos hacer clic en Agregar para crear un nuevo Search Matcher y crear una nueva clase de datos llamada NAMES_NER:

Para crear un NAMES_NER Clase de datos, primero debemos descargar el modelo Person Name Finder, en-ner-person.bin , del repositorio sourceforge de OpenNLP. Luego, haga clic en Agregar para agregar un nuevo comparador, seleccione Modelo NER del menú desplegable. Haga clic en Examinar y navegue hasta la ubicación del modelo descargado; por ejemplo:

Una vez que haya creado la nueva clase de datos, haga clic en Aceptar. y seleccione la regla de datos de FPE que definió anteriormente para terminar de crear el Search Matcher:

Tenga en cuenta que nuestro NamesMatcher y Coincidencia de nombre de clave puede tener coincidencias superpuestas. Si esto sucede, DarkShield selecciona la coincidencia más larga disponible y elimina cualquier otra coincidencia superpuesta. De esa forma, no tiene que preocuparse de que DarkShield aplique una función de enmascaramiento en valores ya enmascarados.

Una vez que haya agregado todos los emparejadores deseados, haga clic en Finalizar para generar una .búsqueda archivo.

El .search generado El archivo se puede inspeccionar para mostrar los detalles de una búsqueda. Esto incluye los URI de origen y destino, e información sobre todos los comparadores.

Paso 2:realice una búsqueda (cree un .Darkdata Archivo)

Completando el trabajo de descubrimiento de datos oscuros el asistente genera una nueva .búsqueda archivo de configuración. Ese archivo contiene las opciones que seleccionamos, incluido el origen y el destino de nuestros datos, y los Matchers de búsqueda que se utilizarán para etiquetar la PII para el descubrimiento, la entrega, la eliminación y/o la desidentificación.

Para comenzar la búsqueda, haga clic con el botón derecho en .buscar archivo, seleccione Ejecutar como y elija Trabajo de búsqueda de IRI o Trabajo de búsqueda y corrección de IRI .

Buscar solo realizará una búsqueda, mientras que Buscar y corregir también intentará enmascarar (o eliminar) cualquier dato identificado. Ambos generarán un .darkdata fichero identificando cualquier dato de interés.

La fuente que utilicé se completó con valores generados aleatoriamente, por lo que no hay ningún problema en compartir los .darkdata generados. archivo aquí. Sin embargo, al manejar información realmente confidencial, los usuarios deben asegurarse de que .darkdata el archivo no está expuesto y se archiva o elimina de forma segura después de completar la remediación para evitar la fuga de PII. IRI agregará una opción de cuarentena para almacenar .darkdata archivo y artefactos de búsqueda correspondientes en un lugar seguro; comuníquese con [email protected] para obtener detalles sobre esta característica planificada.

Paso 3:Reparación (enmascaramiento)

Una vez más, el enmascaramiento o la eliminación de datos se pueden realizar durante las operaciones de búsqueda a través de Buscar y corregir opción en el asistente Dark Data Discovery. Sin embargo, si solo desea examinar la información identificada y corregirla más tarde, ejecute los trabajos de enmascaramiento desde .darkdata archivo producido en la Búsqueda (Paso 2) de esta manera: 

Haga clic derecho en .darkdata archivo, coloque el mouse sobre Ejecutar como y haga clic en IRI Remediate Job . Una vez que se ejecuta el trabajo, los datos corregidos deberían aparecer en la base de datos de destino.

Aquí hay un ejemplo que muestra el antes y el después de una pequeña colección de base de datos MongoDB utilizando el símbolo del sistema de Workbench para acceder al servidor Mongo local:

CONCLUSIÓN

En este artículo demostramos la nueva capacidad de IRI para acceder a datos no estructurados en bases de datos de Mongo, espacios de claves de Cassandra y clústeres de Elasticsearch utilizando varios Search Matchers en IRI DarkShield. Puede verificar los .darkdata generados modelo para ver los resultados de búsqueda que se encontraron y remediaron, y verifique su base de datos para ver las tablas/colecciones actualizadas.

  1. Si la PII está incrustada en objetos binarios dentro de sus colecciones de MongoDB, Cassandra, Elasticsearch, podemos ayudar a automatizar su extracción a archivos independientes para las operaciones de máscara/búsqueda de DarkShield y su reimportación.
  2. El IDE de Workbench de IRI, basado en Eclipse™, integra todos los FieldShield, DarkShield y el enmascaramiento de datos relacionados, y capacidades más amplias de manejo de datos, en la plataforma IRI Voracity.
  3. El registro de conexiones de URL se utiliza para configurar y guardar fuentes de datos basadas en URL utilizadas en las operaciones ETL de búsqueda/máscara de DarkShield y CoSort/SortCL (Voracity); por ejemplo, HDFS, Kafka, cubos S3, MongoDB, S/FTP. Este registro es similar, pero no idéntico, al registro de conexión de datos en IRI Workbench para fuentes de bases de datos relacionales donde los DSN de ODBC se conectan a los perfiles de conexión JDBC correspondientes para el beneficio de los asistentes de trabajo que aprovechan ambas conexiones.
  4. Un buscador de coincidencias es una asociación entre una clase de datos , que se utiliza para definir el método de búsqueda para encontrar y clasificar PII, y una regla de datos que se aplicará a cualquier instancia de la clase de datos que se encuentre en la colección o tabla. Además, Search Matchers le permite definir filtros que pueden usarse para reducir el alcance de la búsqueda. Esto es particularmente útil en las colecciones de Mongo, las tablas de Cassandra y los índices de Elasticsearch porque el nombre de la clave puede ser indicativo de la PII que se almacena en el valor correspondiente.