Diccionario
Las funciones de diccionario permiten reutilizar valores de transformación entre diferentes entidades y campos, asegurando consistencia en sus datos anonimizados. Cuando un valor es transformado una vez, el diccionario almacena esta transformación para que valores idénticos de entrada siempre produzcan la misma salida, sin importar dónde aparezcan en sus datos.
Cómo Funciona el Diccionario
El diccionario mantiene un mapeo entre valores originales y sus contrapartes transformadas usando un mecanismo de hashing. Cuando está habilitado, las transformaciones se almacenan en scopes que determinan cuándo y cómo los valores deben ser reutilizados.
Modos de Diccionario
Hay varios modos que controlan cómo se reutilizan los valores del diccionario:
Resumen de Modos de Diccionario
La siguiente tabla resume todos los modos de diccionario disponibles, cuándo usarlos y enlaces a sus explicaciones detalladas:
| Modo | Descripción | Cuándo Usar | Enlace |
|---|---|---|---|
| Campo | El mismo campo en la misma entidad será transformado de la misma manera | Cuando necesita diferentes transformaciones para el mismo valor en diferentes campos | Modo Campo |
| Etiqueta | Campos etiquetados con la misma etiqueta serán transformados de la misma manera | Cuando desea anonimización consistente entre tipos de datos relacionados (modo por defecto) | Modo Etiqueta |
| Nombre de Campo | Valores con el mismo nombre de campo entre diferentes entidades serán transformados consistentemente | Cuando campos con nombres idénticos deben tener transformaciones consistentes sin importar las etiquetas | Modo Nombre de Campo |
| Global | Todos los valores almacenados en el diccionario serán reutilizados sin importar la entidad, campo o etiqueta | Cuando desea que todos los valores idénticos en su proyecto se transformen consistentemente | Modo Global |
| Fila | Usa scoping basado en filas para las transformaciones | Cuando valores dentro de la misma fila deben ser consistentes pero diferentes entre filas | Modo Fila |
| Relacionado | Usa scoping basado en relaciones para las transformaciones | Cuando desea consistencia entre tablas relacionadas de acuerdo a relaciones definidas | Modo Relacionado |
| Scope de Usuario | Permite definir scoping personalizado para transformaciones de diccionario | Cuando necesita control preciso sobre qué campos específicos comparten consistencia de transformación | Modo Scope de Usuario |
| Deshabilitado | El diccionario está deshabilitado - las transformaciones no se almacenarán ni reutilizarán | Cuando desea máxima aleatoriedad y sin consistencia en transformaciones | Modo Deshabilitado |
Modo Campo
Coincidencias en la misma entidad y campo serán transformadas de la misma manera. Incluso si hay coincidencias en otras entidades o campos, serán ignoradas.
En el modo Campo, el scope del diccionario se limita a la combinación específica de entidad y campo. Esto significa que si el mismo valor aparece en diferentes campos o entidades, será transformado de manera diferente cada vez.
Ejemplo: Si tiene una tabla "Customers" con un campo "Name" y una tabla "Orders" con un campo "Name", el valor "John" en Customers/Name será transformado de manera diferente que "John" en Orders/Name.
Representación visual:
En el Modo Campo, cada combinación de entidad-campo mantiene su propio scope del diccionario, por lo que la misma entrada puede producir diferentes resultados dependiendo de dónde aparece.
Para usar este modo, seleccione "Field" del menú desplegable de modo del diccionario en la IU.
Modo Etiqueta (Por Defecto)
Coincidencias en campos etiquetados con la misma etiqueta serán transformados de la misma manera. Este es el modo más común ya que asegura anonimización consistente entre tipos de datos relacionados.
En el modo Etiqueta, el scope del diccionario se basa en etiquetas de campos. Esto significa que si dos campos tienen la misma etiqueta (e.g., "person/name"), transformarán consistentemente valores idénticos a la misma salida, sin importar a qué entidad pertenezcan.
Ejemplo: Si tiene una tabla "Customers" con un campo "Name" etiquetado como "person/name" y una tabla "Employees" con un campo "Full Name" también etiquetado como "person/name", el valor "John Smith" será transformado al mismo valor anonimizado en ambos campos.
Representación visual:
En el Modo Etiqueta, campos con la misma etiqueta comparten un scope del diccionario asegurando transformación consistente entre diferentes entidades.
Para usar este modo, seleccione "Label" del menú desplegable de modo del diccionario en la IU.
Modo Nombre de Campo
Valores con el mismo nombre de campo entre diferentes entidades serán transformados consistentemente.
En el modo Nombre de Campo, el scope del diccionario se basa en el nombre del campo mismo, sin importar a qué entidad pertenece. Esto significa que campos con nombres idénticos (e.g., "email") entre diferentes tablas transformarán los mismos valores de manera consistente.
Ejemplo: Si tiene un campo "email" en una tabla "Users" y un campo "email" en una tabla "Subscribers", el valor "john@example.com" será transformado al mismo valor anonimizado en ambos campos, incluso si no comparten las mismas etiquetas.
Representación visual:
En el Modo Nombre de Campo, cualquier campo con el mismo nombre comparte un scope del diccionario sin importar su entidad, asegurando transformación consistente de nombres de campo idénticos entre diferentes tablas.
Para usar este modo, seleccione "Field Name" del menú desplegable de modo del diccionario en la IU.
Modo Global
Todos los valores que ya han sido almacenados en el diccionario serán reutilizados sin importar la entidad y campo en los cuales se encuentran o la etiqueta asignada a ellos.
En el modo Global, hay un único scope del diccionario compartido para todas las transformaciones en su proyecto. Esto significa que una vez que un valor se transforma en cualquier lugar de su proyecto, todas las ocurrencias subsecuentes de ese mismo valor serán transformadas idénticamente, sin importar entidad, campo o etiqueta.
Ejemplo: Si "John Smith" se transforma primero a "Mark Johnson" en un campo "Name" de una tabla "Customers", entonces todas las ocurrencias futuras de "John Smith" en cualquier lugar del proyecto (ya sea en un campo "Full Name" de tabla "Employees" o un campo "Customer Name" de tabla "Orders") también serán transformadas a "Mark Johnson".
Representación visual:
En el Modo Global, hay un único scope del diccionario para el proyecto completo. Una vez que un valor se transforma, todas las ocurrencias idénticas en todo el proyecto serán transformadas a la misma salida, sin importar entidad, campo o etiqueta.
Para usar este modo, seleccione "Global" del menú desplegable de modo del diccionario en la IU.
Modo Fila
Usa scoping basado en filas para las transformaciones.
En el modo Fila, el scope del diccionario se basa en filas completas de datos. Esto significa que las transformaciones dentro de la misma fila serán consistentes, pero el mismo valor en diferentes filas puede ser transformado de manera diferente.
Ejemplo: Si tiene una fila con "John Smith" en el campo "Name" y "123 Main St" en el campo "Address", ambos valores serán transformados consistentemente dentro de esa fila. Sin embargo, "John Smith" en una fila diferente puede ser transformado a un valor diferente.
Representación visual:
En el Modo Fila, el scope del diccionario se limita a cada fila individual. Valores dentro de la misma fila se transforman consistentemente, pero valores idénticos en diferentes filas pueden tener transformaciones diferentes.
Para usar este modo, seleccione "Row" del menú desplegable de modo del diccionario en la IU.
Modo Relacionado
Usa scoping basado en relaciones para las transformaciones.
En el modo Relacionado, el scope del diccionario se basa en relaciones entre entidades en su modelo de datos. Esto asegura que valores mantengan consistencia entre tablas relacionadas según sus relaciones definidas.
Ejemplo: Si tiene una tabla "Customers" y una tabla "Orders" con una relación entre ellas, los nombres de clientes serán transformados consistentemente entre ambas tablas basados en su relación. Cuando "John Smith" se transforma en la tabla Customers, cualquier orden relacionada referenciará el mismo nombre transformado.
Representación visual:
En el Modo Relacionado, el scope del diccionario sigue relaciones definidas entre entidades. Cuando un valor se transforma en una tabla, todas las ocurrencias relacionadas en tablas conectadas usarán la misma transformación.
Para usar este modo, seleccione "Related" del menú desplegable de modo del diccionario en la IU.
Modo Scope de Usuario
Permite definir scoping personalizado para transformaciones de diccionario.
En el modo Scope de Usuario, puede crear sus propios scopes personalizados del diccionario que pueden ser compartidos entre campos específicos de su elección. Esto le da control preciso sobre qué campos deben compartir consistencia de transformación.
Ejemplo: Puede crear un scope personalizado llamado "customer-identifiers" y aplicarlo a campos como "Customer Name", "Billing Contact", y "Shipping Contact". Esto asegura que nombres idénticos en estos campos sean transformados consistentemente, mientras que otros campos usan scopes diferentes.
Representación visual:
En el Modo Scope de Usuario, define scopes personalizados que pueden expandirse a través de cualquier campo de su elección, proporcionando control preciso sobre qué valores deben compartir transformaciones consistentes.
Para usar este modo, seleccione "User Scope" del menú desplegable de modo del diccionario e ingrese un nombre de scope personalizado en el campo de texto de scope.
Modo Deshabilitado
El diccionario está deshabilitado - las transformaciones no se almacenarán ni reutilizarán.
En el modo Deshabilitado, cada transformación se genera independientemente sin verificar o almacenar resultados en el diccionario. Esto significa que valores idénticos pueden ser transformados de manera diferente cada vez que aparecen, proporcionando máxima aleatoriedad pero sin consistencia.
Ejemplo: Si el nombre "John Smith" aparece múltiples veces en sus datos, puede ser transformado a "Mark Johnson", "Sarah Williams", y "Robert Davis" en diferentes ocurrencias.
Representación visual:
En el Modo Deshabilitado, cada transformación se genera independientemente sin ningún scope del diccionario, significando que valores idénticos de entrada pueden producir valores de salida completamente diferentes cada vez que aparecen.
Para usar este modo, seleccione "Disabled" del menú desplegable de modo del diccionario en la IU.
Opciones de Configuración
With Options
Cuando está habilitado, las opciones de funciones se incluyen en la clave del diccionario, asegurando que valores idénticos con diferentes opciones de transformación se almacenen separadamente.
Ejemplo: Si tiene un campo Name siendo transformado con una función person, y usa la misma entrada "John Smith" pero con opciones diferentes (e.g., una con gender: 'male' y otra con gender: 'female'), habilitar "With Options" almacenará estas como entradas separadas del diccionario, permitiendo diferentes transformaciones basadas en las opciones provistas.
Representación visual:
Para usar esta opción, marque la casilla "With Options" en el panel de configuración del diccionario.
Manejo de Nulos
Cuando está habilitado, los valores nulos también serán almacenados y reutilizados en el diccionario.
Cuando está deshabilitado (por defecto), los valores nulos no se almacenan en el diccionario y se procesan independientemente cada vez que se encuentran, potencialmente resultando en diferentes transformaciones o comportamientos de manejo.
Ejemplo: Con Manejo de Nulos habilitado, todos los valores NULL en un campo "Last Name" pueden ser transformados consistentemente a "Anonymous", mientras que con él deshabilitado, pueden dejarse como NULL o manejarse de manera diferente basada en la función de transformación.
Representación visual:
Para usar esta opción, marque la casilla "Nulls Handling" en el panel de configuración del diccionario.
Scope
Define un nombre de scope personalizado para transformaciones de diccionario cuando usa el modo Scope de Usuario.
Esta opción le permite crear scopes con nombre que pueden ser compartidos entre diferentes campos, asegurando transformaciones consistentes para valores dentro del mismo scope mientras mantiene diferentes transformaciones para valores en diferentes scopes.
Representación visual:
Para usar esta opción, seleccione "User Scope" del menú desplegable de modo y ingrese su nombre de scope personalizado en el campo de texto de scope.
Etiqueta
Define explícitamente qué etiqueta usar para scoping del diccionario, sobrescribiendo la detección automática de etiquetas del campo.
Esta opción es útil cuando desea que un campo se trate como un tipo de dato diferente para propósitos del diccionario, permitiéndole agrupar campos con diferentes nombres pero significado semántico similar bajo el mismo scope de transformación.
Representación visual:
Para usar esta opción, ingrese la etiqueta deseada en el campo de texto "Label" en el panel de configuración del diccionario.
Acceso a Funciones del Diccionario
La funcionalidad del diccionario puede ser accedida directamente através de opciones de IU en sus reglas de transformación:
Usando Scopes del Diccionario
Puede especificar qué scope del diccionario usar para almacenar y recuperar transformaciones através de selecciones de menú desplegable y campos de texto en la IU.
Representación visual:
Estableciendo Transformaciones Personalizadas
Puede establecer explícitamente transformaciones personalizadas para valores específicos usando el panel de configuración del diccionario.
Representación visual:
Recuperando Transformaciones Almacenadas
Transformaciones almacenadas anteriormente pueden ser recuperadas através del proceso automático de matching del diccionario cuando se encuentran los mismos valores.
Representación visual:
Reemplazar Etiqueta
La opción Reemplazar Etiqueta permite especificar qué etiqueta debe ser usada para operaciones del diccionario en vez de detectar automáticamente la etiqueta del campo.
Esto es útil cuando desea que un campo se trate como un tipo de dato diferente para propósitos del diccionario, asegurando transformaciones consistentes entre campos similares semánticamente sin importar su detección automática de etiqueta.
Representación visual:
Para usar esta opción, ingrese la etiqueta deseada en el campo de texto "Replace Label" en el panel de configuración del diccionario. Esto es útil cuando desea que un campo se trate como un tipo diferente de dato para propósitos del diccionario.
Ejemplos
Uso Básico del Diccionario
En la IU, puede habilitar la funcionalidad del diccionario seleccionando un modo apropiado del menú desplegable del diccionario. El modo por defecto "Label" es adecuado para la mayoría de los casos donde desea anonimización consistente entre tipos de datos relacionados.
Representación visual:
Scope Personalizado con Opciones
Para crear scopes personalizados para sus transformaciones del diccionario, seleccione "User Scope" del menú desplegable de modo e ingrese un nombre de scope personalizado en el campo de texto de scope. También puede usar la casilla "With Options" para incluir parámetros de función en la clave del diccionario.
Representación visual:
Diccionario Global
Para reutilizar todas las transformaciones globalmente sin importar entidad, campo o etiqueta, seleccione "Global" del menú desplegable de modo del diccionario.
Representación visual:
Usando Reemplazar Etiqueta
En la IU, puede sobrescribir la detección automática de etiquetas ingresando un valor en el campo de texto "Replace Label". Esto es útil cuando desea que un campo se trate como un tipo diferente de dato para propósitos del diccionario.
Representación visual: