El mapa k es muy similar al modelo k-anonymity, pero asume que es muy probable que el atacante no sepa quién está en el conjunto de datos. Usa el mapa k si tu conjunto de datos es relativamente pequeño o si el nivel de esfuerzo necesario para generalizar los atributos sería demasiado alto.
Al igual que la k-anonimidad, la k-map requiere que determines qué columnas de tu base de datos son cuasidentificadores. De esta forma, indicas qué datos es más probable que utilice un atacante para volver a identificar a los sujetos. Además, para calcular un valor de k-map, se necesita un conjunto de datos de reidentificación, que es una tabla más grande con la que comparar las filas del conjunto de datos original.
En este tema se explica cómo calcular los valores de k-map de un conjunto de datos con Protección de Datos Sensibles. Para obtener más información sobre los mapas de k o el análisis de riesgos en general, consulta el tema sobre el concepto de análisis de riesgos antes de continuar.
Antes de empezar
Antes de continuar, asegúrate de que has hecho lo siguiente:
- Inicia sesión en tu cuenta de Google.
- En la Google Cloud consola Google Cloud , en la página del selector de proyectos, selecciona o crea un proyecto. Ir al selector de proyectos
- Comprueba que la facturación esté habilitada en tu Google Cloud proyecto. Consulta cómo confirmar que la facturación está habilitada en tu proyecto.
- Habilita Protección de Datos Sensibles. Habilitar Protección de Datos Sensibles
- Selecciona un conjunto de datos de BigQuery para analizarlo. Protección de Datos Sensibles estima la métrica k-anonimato escaneando una tabla de BigQuery.
- Determina los tipos de conjuntos de datos que quieres usar para modelar el conjunto de datos de ataques. Para obtener más información, consulta la página de referencia del objeto
KMapEstimationConfig
, así como los términos y las técnicas de análisis de riesgos.
Calcular estimaciones de k-map
Puedes estimar los valores de k-map con Protección de Datos Sensibles, que usa un modelo estadístico para estimar un conjunto de datos de reidentificación. Esto contrasta con los otros métodos de análisis de riesgos, en los que se conoce explícitamente el conjunto de datos de ataques. En función del tipo de datos, Protección de Datos Sensibles usa conjuntos de datos disponibles públicamente (por ejemplo, del censo de EE. UU.) o un modelo estadístico personalizado (por ejemplo, una o varias tablas de BigQuery que especifiques), o bien extrapola los datos a partir de la distribución de los valores de tu conjunto de datos de entrada. Para obtener más información, consulta la página de referencia del objeto KMapEstimationConfig
.
Para calcular una estimación de k-map con Protección de Datos Sensibles, primero configura el trabajo de riesgo. Crea una solicitud al recurso projects.dlpJobs
, donde PROJECT_ID indica el identificador de tu proyecto:
https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs
La solicitud contiene un objeto RiskAnalysisJobConfig
, que se compone de lo siguiente:
Un objeto
PrivacyMetric
. Aquí es donde se especifica que se quiere calcular el mapa k. Para ello, se debe especificar un objetoKMapEstimationConfig
que contenga lo siguiente:quasiIds[]
: obligatorio. Campos (TaggedField
objetos) que se consideran cuasiidentificadores que se deben analizar y usar para calcular el k-map. No puede haber dos columnas con la misma etiqueta. Pueden ser cualquiera de los siguientes:- Un infoType: Esto hace que Protección de Datos Sensibles use el conjunto de datos públicos pertinente como modelo estadístico de la población, incluidos los códigos postales, los códigos de región, las edades y los géneros de EE. UU.
- Un infoType personalizado: una etiqueta personalizada en la que se indica una tabla auxiliar (un objeto
AuxiliaryTable
) que contiene información estadística sobre los posibles valores de esta columna. - Etiqueta
inferred
: si no se indica ninguna etiqueta semántica, especificainferred
. Protección de Datos Sensibles deduce el modelo estadístico a partir de la distribución de los valores de los datos de entrada.
regionCode
: un código de región ISO 3166-1 alfa-2 que Protección de Datos Sensibles usa en modelos estadísticos. Este valor es obligatorio si no se ha etiquetado ninguna columna con un infoType específico de una región (por ejemplo, un código postal de EE. UU.) o un código de región.auxiliaryTables[]
: tablas auxiliares (objetosAuxiliaryTable
) que se van a usar en el análisis. Cada etiqueta personalizada que se utilice para etiquetar una columna de cuasi-identificador (dequasiIds[]
) debe aparecer exactamente en una columna de una tabla auxiliar.
Un objeto
BigQueryTable
. Especifica la tabla de BigQuery que quieres analizar incluyendo todos los elementos siguientes:projectId
: el ID del proyecto que contiene la tabla.datasetId
: ID del conjunto de datos de la tabla.tableId
: el nombre de la tabla.
Conjunto de uno o varios objetos
Action
que representan las acciones que se deben ejecutar, en el orden indicado, cuando se complete la tarea. Cada objetoAction
puede contener una de las siguientes acciones:SaveFindings
object: guarda los resultados del análisis de riesgos en una tabla de BigQuery.PublishToPubSub
objeto: publica una notificación en un tema de Pub/Sub.
PublishSummaryToCscc
object: guarda un resumen de los resultados en Security Command Center.PublishFindingsToCloudDataCatalog
object: guarda los resultados en Data Catalog.JobNotificationEmails
Objeto: te envía un correo con los resultados.PublishToStackdriver
object: guarda los resultados en Google Cloud Observability.
Ejemplos de código
A continuación, se muestra un fragmento de código de ejemplo en varios lenguajes que muestra cómo usar Protección de Datos Sensibles para calcular un valor de k-anonimato.
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.
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.
Ver los resultados de los trabajos de k-map
Para obtener los resultados del trabajo de análisis de riesgos de k-map mediante la API REST, envía la siguiente solicitud GET al recurso projects.dlpJobs
. Sustituye PROJECT_ID por el ID de tu proyecto y JOB_ID por el identificador del trabajo del que quieras obtener resultados.
El ID de la tarea se devolvió cuando la iniciaste y también se puede obtener consultando todas las tareas.
GET https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs/JOB_ID
La solicitud devuelve un objeto JSON que contiene una instancia del trabajo. Los resultados del análisis se encuentran en la clave "riskDetails"
, en un objeto AnalyzeDataSourceRiskDetails
. Para obtener más información, consulta la referencia de la API del recurso DlpJob
.
Siguientes pasos
- Consulta cómo calcular el valor de k-anonymity de un conjunto de datos.
- Consulta cómo calcular el valor de l-diversidad de un conjunto de datos.
- Consulte cómo calcular el valor de δ-presencia de un conjunto de datos.