En este tema se describen las técnicas de desidentificación o transformaciones disponibles en Protección de Datos Sensibles.
Tipos de técnicas de desidentificación
La transformación de desidentificación que elijas dependerá del tipo de datos que quieras desidentificar y del propósito de la desidentificación. Las técnicas de desidentificación que admite Protección de Datos Sensibles se dividen en las siguientes categorías generales:
- Ocultación: elimina todo o parte de un valor sensible detectado.
- Sustitución: sustituye un valor sensible detectado por un valor de sustitución especificado.
- Máscara: sustituye un número de caracteres de un valor sensible por un carácter sustituto especificado, como una almohadilla (#) o un asterisco (*).
- Tokenización basada en criptografía: cifra el valor de los datos sensibles originales con una clave criptográfica. Protección de Datos Sensibles admite varios tipos de tokenización, incluidas las transformaciones que se pueden revertir o "reidentificar".
- Asignación a contenedores: generaliza un valor sensible sustituyéndolo por un intervalo de valores. Por ejemplo, sustituir una edad concreta por un intervalo de edades o temperaturas por intervalos correspondientes a "Caliente", "Templado" y "Frío".
- Cambios de fecha: cambia los valores de fecha sensibles en un periodo aleatorio.
- Extracción de hora: extrae o conserva las partes especificadas de los valores de fecha y hora.
En el resto de este tema se explica cada tipo de transformación de anonimización y se ofrecen ejemplos de su uso.
Métodos de transformación
En la siguiente tabla se muestran las transformaciones que ofrece Protección de Datos Sensibles para desidentificar datos sensibles:
| Transformación | Objeto | Descripción | Can Reverse1 | Integridad referencial2 | Tipo de entrada |
|---|---|---|---|---|---|
| Ocultamiento | RedactConfig |
Oculta un valor eliminándolo. | Cualquiera | ||
| Sustitución | ReplaceValueConfig |
Sustituye cada valor de entrada por un valor determinado. | Cualquiera | ||
| Sustituir por diccionario | ReplaceDictionaryConfig
|
Sustituye un valor de entrada por un valor seleccionado aleatoriamente de una lista de palabras. | Cualquiera | ||
| Reemplazar por infoType | ReplaceWithInfoTypeConfig |
Sustituye un valor de entrada por el nombre de su infoType. | Cualquiera | ||
| Máscara con carácter | CharacterMaskConfig |
Máscara una cadena total o parcialmente sustituyendo un número determinado de caracteres por un carácter fijo especificado. | Cualquiera | ||
| Seudonimización sustituyendo el valor de entrada por un hash criptográfico | CryptoHashConfig |
Sustituye los valores de entrada por una cadena hexadecimal de 32 bytes generada con una clave de cifrado de datos determinada. Consulta la documentación conceptual sobre la seudonimización para obtener más información. | ✔ | Cadenas o números enteros | |
| Seudonimización mediante la sustitución por un token criptográfico que conserva el formato | CryptoReplaceFfxFpeConfig |
Sustituye un valor de entrada por un token o un valor sustituto de la
misma longitud mediante el cifrado con preservación de formato (FPE) con el modo
de operación FFX. Esto permite que la salida se use en sistemas que tengan una validación de formato en la longitud. Esto resulta útil para los sistemas antiguos en los que
se debe mantener la longitud de la cadena.
Importante: Para las entradas que varían en longitud o que tienen una longitud superior a 32 bytes, usa CryptoDeterministicConfig.
Para mantener la seguridad, el
Instituto Nacional de Normas y Tecnología de EE. UU.
|
✔ | ✔ | Cadenas o números enteros con un número limitado de caracteres y una longitud uniforme. El alfabeto debe estar formado por al menos 2 caracteres y no puede contener más de 95. |
| Seudonimización mediante la sustitución por un token criptográfico | CryptoDeterministicConfig |
Sustituye un valor de entrada por un token o un valor sustituto de la misma longitud mediante AES en modo de vector de inicialización sintético (AES-SIV). Este método de transformación, a diferencia de la tokenización que conserva el formato, no tiene ninguna limitación en los conjuntos de caracteres de cadena admitidos, genera tokens idénticos para cada instancia de un valor de entrada idéntico y usa sustitutos para permitir la reidentificación con la clave de cifrado original. | ✔ | ✔ | Cualquiera |
| Valores de segmento basados en intervalos de tamaño fijo | FixedSizeBucketingConfig |
Enmascara los valores de entrada sustituyéndolos por contenedores o intervalos en los que se encuentra el valor de entrada. | Cualquiera | ||
| Valores de segmento basados en intervalos de tamaño personalizados | BucketingConfig |
Segmenta los valores de entrada en función de los intervalos configurables por el usuario y los valores de sustitución. | Cualquiera | ||
| Cambios de fecha | DateShiftConfig |
Cambia las fechas en un número aleatorio de días, con la opción de ser coherente en el mismo contexto. | ✔ Conserva la secuencia y la duración |
Fechas y horas | |
| Extraer datos de tiempo | TimePartConfig |
Extrae o conserva una parte de los valores Date, Timestamp y TimeOfDay. |
Fechas y horas |
Notas a pie de página
content.reidentify.
Ocultamiento
Si solo quieres eliminar datos sensibles del contenido de entrada, Protección de Datos Sensibles admite una transformación de ocultación (RedactConfig en la API DLP).
Por ejemplo, supongamos que quiere ocultar todos los infoTypes y que se envía la siguiente cadena a Protección de Datos Sensibles:EMAIL_ADDRESS
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
La cadena devuelta será la siguiente:
My name is Alicia Abernathy, and my email address is .
En el siguiente ejemplo de JSON y código en varios lenguajes se muestra cómo crear la solicitud a la API y qué devuelve la API DLP.
C#
Para saber cómo instalar y usar la biblioteca de cliente de Protección de Datos Sensibles, consulta el artículo sobre las bibliotecas de cliente de Protección de Datos Sensibles.
Para autenticarte en Protección de Datos Sensibles, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Go
Para saber cómo instalar y usar la biblioteca de cliente de Protección de Datos Sensibles, consulta el artículo sobre las bibliotecas de cliente de Protección de Datos Sensibles.
Para autenticarte en Protección de Datos Sensibles, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Para saber cómo instalar y usar la biblioteca de cliente de Protección de Datos Sensibles, consulta el artículo sobre las bibliotecas de cliente de Protección de Datos Sensibles.
Para autenticarte en Protección de Datos Sensibles, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Para saber cómo instalar y usar la biblioteca de cliente de Protección de Datos Sensibles, consulta el artículo sobre las bibliotecas de cliente de Protección de Datos Sensibles.
Para autenticarte en Protección de Datos Sensibles, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
PHP
Para saber cómo instalar y usar la biblioteca de cliente de Protección de Datos Sensibles, consulta el artículo sobre las bibliotecas de cliente de Protección de Datos Sensibles.
Para autenticarte en Protección de Datos Sensibles, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar y usar la biblioteca de cliente de Protección de Datos Sensibles, consulta el artículo sobre las bibliotecas de cliente de Protección de Datos Sensibles.
Para autenticarte en Protección de Datos Sensibles, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
REST
Consulta la guía de inicio rápido de JSON para obtener más información sobre cómo usar la API DLP con JSON.
Método HTTP y URL
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/content:deidentify
Sustituye PROJECT_ID por el ID del proyecto.
Entrada JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is aabernathy@example.com."
},
"deidentifyConfig":{
"infoTypeTransformations":{
"transformations":[
{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
],
"primitiveTransformation":{
"redactConfig":{
}
}
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"EMAIL_ADDRESS"
}
]
}
}
Salida JSON
{
"item":{
"value":"My name is Alicia Abernathy, and my email address is ."
},
"overview":{
"transformedBytes":"22",
"transformationSummaries":[
{
"infoType":{
"name":"EMAIL_ADDRESS"
},
"transformation":{
"redactConfig":{
}
},
"results":[
{
"count":"1",
"code":"SUCCESS"
}
],
"transformedBytes":"22"
}
]
}
}
Sustitución
Las transformaciones de sustitución reemplazan cada valor de entrada por un valor de token determinado o por el nombre de su infoType.
Sustitución básica
La transformación de sustitución básica
(ReplaceValueConfig
en la API de DLP) sustituye los valores de datos sensibles detectados por un valor
que especifiques. Por ejemplo, supongamos que has indicado a Protección de Datos Sensibles que use "[fake@example.com]" para sustituir todos los infoTypes EMAIL_ADDRESS detectados y que se envía la siguiente cadena a Protección de Datos Sensibles:
My name is Alicia Abernathy, and my email address is aabernathy@example.com.
La cadena devuelta es la siguiente:
My name is Alicia Abernathy, and my email address is [fake@example.com].
En el siguiente ejemplo de JSON y código en varios lenguajes se muestra cómo crear la solicitud a la API y qué devuelve la API DLP.
C#
Para saber cómo instalar y usar la biblioteca de cliente de Protección de Datos Sensibles, consulta el artículo sobre las bibliotecas de cliente de Protección de Datos Sensibles.
Para autenticarte en Protección de Datos Sensibles, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.