La gestión adecuada de los datos sensibles almacenados en un repositorio de almacenamiento empieza por la clasificación del almacenamiento: identificar dónde se encuentran los datos sensibles en el repositorio, qué tipo de datos sensibles son y cómo se están utilizando. Estos conocimientos pueden ayudarte a configurar correctamente los permisos de control de acceso y de uso compartido, y pueden formar parte de un plan de monitorización continuo.
Protección de Datos Sensibles puede detectar y clasificar datos sensibles almacenados en una ubicación de Cloud Storage, un tipo de Datastore o una tabla de BigQuery. Al analizar archivos en ubicaciones de Cloud Storage, Protección de Datos Sensibles admite el análisis de archivos binarios, de texto, de imagen, de Microsoft Word, de Microsoft Excel, de Microsoft PowerPoint, PDF y Apache Avro. Los archivos de tipos no reconocidos se analizan como archivos binarios. Para obtener más información sobre los tipos de archivo admitidos, consulta Tipos de archivo admitidos.
Para buscar datos sensibles en el almacenamiento y las bases de datos, especifica la ubicación de los datos y el tipo de datos sensibles que debe buscar Protección de Datos Sensibles. Protección de Datos Sensibles inicia una tarea que inspecciona los datos en la ubicación indicada y, a continuación, proporciona detalles sobre los infoTypes encontrados en el contenido, los valores de probabilidad y más.
Puedes configurar la inspección de almacenamiento y bases de datos con Protección de Datos Sensibles en la Google Cloud consola, a través de la API DLP RESTful o de forma programática con una biblioteca de cliente de Protección de Datos Sensibles en uno de los varios lenguajes disponibles.
En este tema se incluye lo siguiente:
- Prácticas recomendadas para configurar análisis de repositorios de almacenamiento y bases de datos. Google Cloud
- Este tutorial contiene instrucciones para configurar tareas de análisis de inspección con Protección de Datos Sensibles en la consola de Google Cloud y para programar análisis de inspección periódicos de forma opcional.
- JSON y ejemplos de código para cada Google Cloud tipo de repositorio de almacenamiento: Cloud Storage, Firestore en modo Datastore (Datastore) y BigQuery.
- Descripción detallada de las opciones de configuración de los trabajos de análisis.
- Instrucciones sobre cómo obtener los resultados de los análisis y cómo gestionar los trabajos de análisis que se crean a partir de cada solicitud correcta.
Prácticas recomendadas
Identificar y priorizar el análisis
Es importante que primero evalúe sus recursos y especifique cuáles tienen la prioridad más alta para el análisis. Cuando acabas de empezar, es posible que tengas una gran cantidad de datos que necesiten clasificarse y que sea imposible analizarlos todos de inmediato. Elige inicialmente los datos que supongan el mayor riesgo potencial, por ejemplo, los datos a los que se accede con frecuencia, los que son accesibles para muchos usuarios o los que no conoces.
Asegurarse de que Protección de Datos Sensibles puede acceder a sus datos
Protección de Datos Sensibles debe poder acceder a los datos que se van a analizar. Asegúrate de que la cuenta de servicio de Protección de Datos Sensibles tenga permiso para leer tus recursos.
Limitar el alcance de los primeros análisis
Para obtener los mejores resultados, limita el alcance de tus primeros trabajos en lugar de analizar todos tus datos. Empieza con una tabla, un contenedor o unos cuantos archivos y usa el muestreo. Si limitas el alcance de tus primeros análisis, podrás determinar mejor qué detectores habilitar y qué reglas de exclusión pueden ser necesarias para reducir los falsos positivos, de modo que los resultados sean más significativos. Evita activar todos los infoTypes si no los necesitas, ya que los falsos positivos o los resultados inutilizables pueden dificultar la evaluación del riesgo. Aunque son útiles en determinados casos, los infoTypes como DATE
, TIME
, DOMAIN_NAME
y URL
coinciden con una amplia gama de resultados y puede que no sea útil activarlos para analizar grandes cantidades de datos.
Cuando muestrees un archivo estructurado (como un archivo CSV, TSV o Avro), asegúrate de que el tamaño de la muestra sea lo suficientemente grande como para cubrir el encabezado completo del archivo y una fila de datos. Para obtener más información, consulta Analizar archivos estructurados en el modo de análisis estructurado.
Programar análisis
Usa activadores de trabajos de protección de datos sensibles para ejecutar análisis automáticamente y generar resultados a diario, semanalmente o trimestralmente. Estos análisis también se pueden configurar para que solo inspeccionen los datos que hayan cambiado desde el último análisis, lo que puede ahorrar tiempo y reducir costes. Realizar análisis periódicamente puede ayudarte a identificar tendencias o anomalías en los resultados.
Latencia de las tareas
No se garantiza ningún objetivo de nivel de servicio para los trabajos ni los activadores de trabajos. La latencia se ve afectada por varios factores, como la cantidad de datos que se van a analizar, el repositorio de almacenamiento que se va a analizar, el tipo y el número de infoTypes que se van a buscar, la región en la que se procesa el trabajo y los recursos de computación disponibles en esa región. Por lo tanto, la latencia de las tareas de inspección no se puede determinar de antemano.
Para reducir la latencia de los trabajos, puedes probar lo siguiente:
- Si el muestreo está disponible para tu tarea o activador de tareas, habilítalo.
Evita habilitar infoTypes que no necesites. Aunque los siguientes tipos de información son útiles en determinados casos, pueden hacer que las solicitudes se ejecuten mucho más lentamente que las que no los incluyen:
PERSON_NAME
FEMALE_NAME
MALE_NAME
FIRST_NAME
LAST_NAME
DATE_OF_BIRTH
LOCATION
STREET_ADDRESS
ORGANIZATION_NAME
Especifica siempre los infoTypes de forma explícita. No utilices una lista infoTypes vacía.
Si es posible, usa otra región de procesamiento.
Si sigues teniendo problemas de latencia con los trabajos después de probar estas técnicas, considera la posibilidad de usar solicitudes content.inspect
o content.deidentify
en lugar de trabajos. Estos métodos se rigen por el Acuerdo de Nivel de Servicio. Para obtener más información, consulta el acuerdo de nivel de servicio de Protección de Datos Sensibles.
Antes de empezar
En las instrucciones de este tema se presupone lo siguiente:
Has habilitado la facturación.
Has habilitado Protección de Datos Sensibles.
La clasificación de almacenamiento requiere el siguiente permiso de OAuth:
https://www.googleapis.com/auth/cloud-platform
. Para obtener más información, consulta el artículo sobre cómo autenticarse en la API DLP.
Inspeccionar una ubicación de Cloud Storage
Puedes configurar una inspección de Protección de Datos Sensibles de una ubicación de Cloud Storage mediante la consola Google Cloud , la API DLP a través de solicitudes REST o RPC, o bien de forma programática en varios lenguajes mediante una biblioteca de cliente. Para obtener información sobre los parámetros incluidos en los siguientes ejemplos de JSON y de código, consulta la sección Configurar la inspección del almacenamiento, que aparece más adelante en este tema.
Protección de Datos Sensibles se basa en las extensiones de archivo y los tipos de contenido multimedia (MIME) para identificar los tipos de archivos que se van a analizar y los modos de análisis que se van a aplicar. Por ejemplo, Protección de Datos Sensibles analiza un archivo .txt
en modo de texto sin formato, aunque el archivo esté estructurado como un archivo CSV, que normalmente se analiza en modo de análisis estructurado.
Para configurar una tarea de análisis de un segmento de Cloud Storage con Protección de Datos Sensibles, sigue estos pasos:
Consola
En esta sección se describe cómo inspeccionar un segmento o una carpeta de Cloud Storage. Si también quiere que Protección de Datos Sensibles cree una copia desidentificada de sus datos, consulte el artículo sobre cómo desidentificar datos sensibles almacenados en Cloud Storage mediante la consola Google Cloud .
En la sección Protección de Datos Sensibles de la Google Cloud consola, ve a la página Crear tarea o activador de tarea.
Introduce la información del trabajo de protección de datos sensibles y haz clic en Continuar para completar cada paso:
En Elegir datos de entrada, asigne un nombre al trabajo introduciendo un valor en el campo Nombre. En Ubicación, elija Cloud Storage en el menú Tipo de almacenamiento y, a continuación, introduzca la ubicación de los datos que quiera analizar. La sección Muestreo está preconfigurada para ejecutar un análisis de muestra en sus datos. Puede ajustar el campo Porcentaje de objetos analizados en el segmento para ahorrar recursos si tiene una gran cantidad de datos. Para obtener más información, consulta Elegir datos de entrada.
(Opcional) En Configurar detección, puedes configurar los tipos de datos que quieres buscar, denominados "infoTypes". Puedes elegir entre la lista de infoTypes predefinidos o seleccionar una plantilla, si hay alguna. Para obtener más información, consulta Configurar la detección.
En Añadir acciones, selecciona una o varias acciones que la protección de datos sensibles debe llevar a cabo una vez completado el trabajo. Para obtener más información, consulta el artículo Habilitar las acciones de inspección o análisis de riesgos.
Después de seleccionar las acciones, haga clic en Continuar.
(Opcional) En Programación, si quieres que el análisis se ejecute solo una vez, deja el menú en Ninguna. Para programar análisis periódicos, haz clic en Crear un activador para que la tarea se ejecute según una programación periódica. Para obtener más información, consulta Programar.
Haz clic en Crear.
Una vez que se haya completado el trabajo de Protección de Datos Sensibles, se te redirigirá a la página de detalles del trabajo y recibirás una notificación por correo electrónico. Puedes ver los resultados de la inspección en la página de detalles del trabajo.
Opcional: Si has elegido publicar los resultados de Protección de Datos Sensibles en BigQuery, en la página Detalles del trabajo, haz clic en Ver resultados en BigQuery para abrir la tabla en la interfaz web de BigQuery. Después, puedes consultar la tabla y analizar los resultados. Para obtener más información sobre cómo consultar los resultados en BigQuery, consulta el artículo Consultar resultados de Protección de Datos Sensibles en BigQuery.
Protocolo
A continuación, se muestra un ejemplo de JSON que se puede enviar en una solicitud POST al endpoint REST de Protección de Datos Sensibles especificado. En este ejemplo de JSON se muestra cómo usar la API DLP para inspeccionar segmentos de Cloud Storage. Para obtener información sobre los parámetros incluidos en la solicitud, consulta la sección Configurar la inspección del almacenamiento, que se encuentra más adelante en este artículo.
Puedes probarlo rápidamente en el Explorador de APIs de la página de referencia de
content.inspect
:
Ten en cuenta que, si una solicitud se completa correctamente, aunque sea en el Explorador de APIs, se creará un nuevo trabajo de análisis. Para obtener información sobre cómo controlar los trabajos de análisis, consulta la sección Recuperar resultados de inspección, más adelante en este tema. Para obtener información general sobre cómo usar JSON para enviar solicitudes a la API DLP, consulta la guía de inicio rápido de JSON.
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET-NAME]/*"
},
"bytesLimitPerFile":"1073741824"
},
"timespanConfig":{
"startTime":"2017-11-13T12:34:29.965633345Z",
"endTime":"2018-01-05T04:45:04.240912125Z"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"excludeInfoTypes":false,
"includeQuote":true,
"minLikelihood":"LIKELY"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[DATASET-ID]"
}
}
}
}
]
}
}
Salida JSON:
{
"name":"projects/[PROJECT-ID]/dlpJobs/[JOB-ID]",
"type":"INSPECT_JOB",
"state":"PENDING",
"inspectDetails":{
"requestedOptions":{
"snapshotInspectTemplate":{
},
"jobConfig":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET-NAME]/*"
},
"bytesLimitPerFile":"1073741824"
},
"timespanConfig":{
"startTime":"2017-11-13T12:34:29.965633345Z",
"endTime":"2018-01-05T04:45:04.240912125Z"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"minLikelihood":"LIKELY",
"limits":{
},
"includeQuote":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[DATASET-ID]",
"tableId":"[NEW-TABLE-ID]"
}
}
}
}
]
}
}
},
"createTime":"2018-11-07T18:01:14.225Z"
}
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.
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.
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.
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.
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.
Inspeccionar un tipo de Datastore
Puedes configurar una inspección de un tipo de Datastore mediante laGoogle Cloud consola, la API DLP a través de solicitudes REST o RPC, o bien de forma programática en varios idiomas mediante una biblioteca de cliente.
Para configurar una tarea de análisis de un tipo de Datastore con Protección de Datos Sensibles, sigue estos pasos:
Consola
Para configurar una tarea de análisis de un tipo de Datastore con Protección de Datos Sensibles, sigue estos pasos:
En la sección Protección de datos sensibles de la consola de Google Cloud Google Cloud, ve a la página Crear trabajo o activador de trabajo.
Introduce la información del trabajo de protección de datos sensibles y haz clic en Continuar para completar cada paso:
En Elegir datos de entrada, introduce los identificadores del proyecto, el espacio de nombres (opcional) y el tipo que quieras analizar. Para obtener más información, consulta Elegir datos de entrada.
(Opcional) En Configurar detección, puedes configurar los tipos de datos que quieres buscar, denominados "infoTypes". Puedes elegir entre la lista de infoTypes predefinidos o seleccionar una plantilla, si hay alguna. Para obtener más información, consulta Configurar la detección.
En Añadir acciones, selecciona una o varias acciones que la protección de datos sensibles debe llevar a cabo una vez completado el trabajo. Para obtener más información, consulta el artículo Habilitar las acciones de inspección o análisis de riesgos.
Después de seleccionar las acciones, haga clic en Continuar.
(Opcional) En Programación, configure un periodo o una programación. Para ello, seleccione Especificar periodo o Crear un activador para ejecutar el trabajo de forma periódica. Para obtener más información, consulta Programar.
Haz clic en Crear.
Una vez que se haya completado el trabajo de Protección de Datos Sensibles, se te redirigirá a la página de detalles del trabajo y recibirás una notificación por correo electrónico. Puedes ver los resultados de la inspección en la página de detalles del trabajo.
Opcional: Si has elegido publicar los resultados de Protección de Datos Sensibles en BigQuery, en la página Detalles del trabajo, haz clic en Ver resultados en BigQuery para abrir la tabla en la interfaz web de BigQuery. Después, puedes consultar la tabla y analizar los resultados. Para obtener más información sobre cómo consultar los resultados en BigQuery, consulta el artículo Consultar resultados de Protección de Datos Sensibles en BigQuery.
Protocolo
A continuación, se muestra un ejemplo de JSON que se puede enviar en una solicitud POST al endpoint REST de la API DLP especificado. En este ejemplo de JSON se muestra cómo usar la API DLP para inspeccionar tipos de Datastore. Para obtener información sobre los parámetros incluidos en la solicitud, consulta la sección Configurar la inspección del almacenamiento, que se muestra más adelante en este artículo.
Puedes probarlo rápidamente en el Explorador de APIs de la página de referencia de
dlpJobs.create
:
Ten en cuenta que, si una solicitud se completa correctamente, aunque sea en el Explorador de APIs, se creará un nuevo trabajo de análisis. Para obtener información sobre cómo controlar los trabajos de análisis, consulta Recuperar resultados de inspección, más adelante en este tema. Para obtener información general sobre cómo usar JSON para enviar solicitudes a la API DLP, consulta la guía de inicio rápido de JSON.
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"datastoreOptions":{
"kind":{
"name":"Example-Kind"
},
"partitionId":{
"namespaceId":"[NAMESPACE-ID]",
"projectId":"[PROJECT-ID]"
}
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"excludeInfoTypes":false,
"includeQuote":true,
"minLikelihood":"LIKELY"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[BIGQUERY-DATASET-NAME]",
"tableId":"[BIGQUERY-TABLE-NAME]"
}
}
}
}
]
}
}
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.
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.
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.
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.
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.
Inspeccionar una tabla de BigQuery
Puedes configurar una inspección de una tabla de BigQuery con Protección de Datos Sensibles mediante solicitudes REST o de forma programática en varios idiomas con una biblioteca de cliente.
Para configurar una tarea de análisis de una tabla de BigQuery con Protección de Datos Sensibles, sigue estos pasos:
Consola
Para configurar una tarea de análisis de una tabla de BigQuery con Protección de Datos Sensibles, sigue estos pasos:
En la sección Protección de datos sensibles de la consola de Google Cloud Google Cloud, ve a la página Crear trabajo o activador de trabajo.
Introduce la información del trabajo de protección de datos sensibles y haz clic en Continuar para completar cada paso:
En Elegir datos de entrada, asigne un nombre al trabajo introduciendo un valor en el campo Nombre. En Ubicación, elige BigQuery en el menú Tipo de almacenamiento y, a continuación, introduce la información de la tabla que quieras analizar.
La sección Muestreo está preconfigurada para ejecutar un análisis de muestra en tus datos. Puedes ajustar los campos Limitar filas por y Número máximo de filas para ahorrar recursos si tienes una gran cantidad de datos. Para obtener más información, consulta Elegir datos de entrada.
(Opcional) Si quiere vincular cada resultado a la fila que lo contiene, defina el campo Campos de identificación.
Introduzca los nombres de las columnas que identifican de forma única cada fila de la tabla. Si es necesario, usa la notación de punto para especificar campos anidados. Puedes añadir todos los campos que quieras.
También debe activar la acción Guardar en BigQuery para exportar las detecciones a BigQuery. Cuando los resultados se exportan a BigQuery, cada uno de ellos contiene los valores respectivos de los campos de identificación. Para obtener más información, consulta
identifyingFields
.(Opcional) En Configurar detección, puedes configurar los tipos de datos que quieres buscar, denominados "infoTypes". Puedes elegir entre la lista de infoTypes predefinidos o seleccionar una plantilla, si hay alguna. Para obtener más información, consulta Configurar la detección.
En Añadir acciones, selecciona una o varias acciones que la protección de datos sensibles debe llevar a cabo una vez completado el trabajo. Para obtener más información, consulta el artículo Habilitar las acciones de inspección o análisis de riesgos.
Después de seleccionar las acciones, haga clic en Continuar.
(Opcional) En Programación, si quieres que el análisis se ejecute solo una vez, deja el menú en Ninguna. Para programar análisis periódicos, haz clic en Crear un activador para que la tarea se ejecute según una programación periódica. Para obtener más información, consulta Programar.
Haz clic en Crear.
Una vez que se haya completado el trabajo de Protección de Datos Sensibles, se te redirigirá a la página de detalles del trabajo y recibirás una notificación por correo electrónico. Puedes ver los resultados de la inspección en la página de detalles del trabajo.
Opcional: Si has elegido publicar los resultados de Protección de Datos Sensibles en BigQuery, en la página Detalles del trabajo, haz clic en Ver resultados en BigQuery para abrir la tabla en la interfaz web de BigQuery. Después, puedes consultar la tabla y analizar los resultados. Para obtener más información sobre cómo consultar los resultados en BigQuery, consulta el artículo Consultar resultados de Protección de Datos Sensibles en BigQuery.
Protocolo
A continuación, se muestra un ejemplo de JSON que se puede enviar en una solicitud POST al endpoint REST de la API DLP especificado. Este JSON de ejemplo muestra cómo usar la API DLP para inspeccionar tablas de BigQuery. Para obtener información sobre los parámetros incluidos en la solicitud, consulta la sección Configurar la inspección del almacenamiento, que se muestra más adelante en este artículo.Puedes probarlo rápidamente en el Explorador de APIs de la página de referencia de
dlpJobs.create
:
Ten en cuenta que, si una solicitud se completa correctamente, aunque sea en el Explorador de APIs, se creará un nuevo trabajo de análisis. Para obtener información sobre cómo controlar los trabajos de análisis, consulta la sección Recuperar resultados de inspección, más adelante en este tema. Para obtener información general sobre cómo usar JSON para enviar solicitudes a la API DLP, consulta la guía de inicio rápido de JSON.
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"bigQueryOptions":{
"tableReference":{
"projectId":"[PROJECT-ID]",
"datasetId":"[BIGQUERY-DATASET-NAME]",
"tableId":"[BIGQUERY-TABLE-NAME]"
},
"identifyingFields":[
{
"name":"id"
}
]
},
"timespanConfig":{
"startTime":"2017-11-13T12:34:29.965633345Z ",
"endTime":"2018-01-05T04:45:04.240912125Z "
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"excludeInfoTypes":false,
"includeQuote":true,
"minLikelihood":"LIKELY"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[BIGQUERY-DATASET-NAME]",
"tableId":"[BIGQUERY-TABLE-NAME]"
},
"outputSchema": "BASIC_COLUMNS"
}
}
}
]
}
}
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.
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.
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.
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.
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.
Configurar la inspección de almacenamiento
Para inspeccionar una ubicación de Cloud Storage, un tipo de Datastore o una tabla de BigQuery, envía una solicitud al método projects.dlpJobs.create
de la API DLP que contenga al menos la ubicación de los datos que se van a analizar y lo que se va a buscar. Además de estos parámetros obligatorios, también puede especificar dónde escribir los resultados del análisis, los umbrales de tamaño y probabilidad, y más. Si la solicitud se realiza correctamente, se creará una instancia de objeto DlpJob
, que se explica en "Obtener resultados de inspección".
A continuación se resumen las opciones de configuración disponibles:
InspectJobConfig
object: contiene la información de configuración del trabajo de inspección. Ten en cuenta que el objetoInspectJobConfig
también lo usa el objetoJobTriggers
para programar la creación deDlpJob
s. Este objeto incluye lo siguiente:StorageConfig
object: obligatorio. Contiene detalles sobre el repositorio de almacenamiento que se va a analizar:Debe incluirse uno de los siguientes elementos en el objeto
StorageConfig
, en función del tipo de repositorio de almacenamiento que se esté analizando:CloudStorageOptions
object: contiene información sobre el segmento de Cloud Storage que se va a analizar.DatastoreOptions
object: contiene información sobre el conjunto de datos de Datastore que se va a analizar.BigQueryOptions
object: contiene información sobre la tabla de BigQuery (y, opcionalmente, campos de identificación) que se va a analizar. Este objeto también permite muestrear los resultados. Para obtener más información, consulta la sección Habilitar el muestreo de resultados que aparece más abajo.TimespanConfig
object: opcional. Especifica el periodo de los elementos que se incluirán en el análisis.
InspectConfig
object: obligatorio. Especifica qué se va a buscar, como los valores de infoTypes y likelihood.- Objetos
InfoType
: Obligatorio. Uno o varios valores de infoType que se van a buscar. Likelihood
enumeration: opcional. Si se define, Protección de Datos Sensibles solo devolverá resultados iguales o superiores a este umbral de probabilidad. Si se omite este enum, el valor predeterminado esPOSSIBLE
.FindingLimits
object: opcional. Cuando se define, este objeto le permite especificar un límite para el número de resultados devueltos.- Parámetro
includeQuote
: opcional. El valor predeterminado esfalse
. Si se le asigna el valortrue
, cada resultado incluirá una cita contextual de los datos que lo hayan activado. - Parámetro
excludeInfoTypes
: opcional. El valor predeterminado esfalse
. Si se define comotrue
, los resultados del análisis no incluirán información sobre el tipo de los resultados. CustomInfoType
objects: uno o varios infoTypes personalizados creados por el usuario. Para obtener más información sobre cómo crear InfoTypes personalizados, consulte Crear detectores personalizados de InfoType.
- Objetos
Cadena
inspectTemplateName
: opcional. Especifica una plantilla que se va a usar para rellenar los valores predeterminados del objetoInspectConfig
. Si ya ha especificadoInspectConfig
, los valores de la plantilla se combinarán.Action
objects: opcional. Una o varias acciones que se ejecutarán cuando se complete la tarea. Cada acción se ejecuta en el orden en el que se muestra. Aquí es donde se especifica dónde escribir los resultados o si se debe publicar una notificación en un tema de Pub/Sub.
jobId
: opcional. Identificador del trabajo devuelto por Protección de Datos Sensibles. Si se omite o está vacío, el sistema crea un ID para el trabajo.jobId
Si se especifica, el trabajo se asigna a este valor de ID. El ID de tarea debe ser único y puede contener letras mayúsculas y minúsculas, números y guiones. Es decir, debe coincidir con la siguiente expresión regular:[a-zA-Z\\d-]+
.
Limitar la cantidad de contenido inspeccionado
Si analiza tablas de BigQuery o contenedores de Cloud Storage, Protección de Datos Sensibles incluye una forma de analizar un subconjunto del conjunto de datos. De esta forma, se proporciona una muestra de los resultados del análisis sin incurrir en los costes potenciales de analizar un conjunto de datos completo.
En las siguientes secciones se incluye información sobre cómo limitar el tamaño de los análisis de Cloud Storage y los análisis de BigQuery.
Limitar los análisis de Cloud Storage
Puedes habilitar el muestreo en Cloud Storage limitando la cantidad de datos que se analizan. Puedes indicar a la API DLP que analice solo los archivos que tengan un tamaño determinado, solo ciertos tipos de archivo y solo un porcentaje determinado del número total de archivos del conjunto de archivos de entrada. Para ello, especifica los siguientes campos opcionales en CloudStorageOptions
:
bytesLimitPerFile
: define el número máximo de bytes que se van a analizar de un archivo. Si el tamaño de un archivo escaneado es mayor que este valor, se omitirá el resto de los bytes. Definir este campo no tiene ningún efecto en determinados tipos de archivos. Para obtener más información, consulta Límites de bytes analizados por archivo.fileTypes[]
: muestra la lista deFileTypes
que se incluirán en el análisis. Puede asignarse a uno o varios de los siguientes tipos enumerados.filesLimitPercent
: limita el número de archivos que se van a analizar al porcentaje especificado de la entradaFileSet
. Si se especifica0
o100
, significa que no hay límite.sampleMethod
: cómo muestrear bytes si no se analizan todos los bytes. Especificar este valor solo tiene sentido cuando se usa junto conbytesLimitPerFile
. Si no se especifica, el análisis empieza por la parte superior. Este campo puede tener uno de estos dos valores:TOP
: el análisis empieza por la parte superior.RANDOM_START
: para cada archivo que supere el tamaño especificado enbytesLimitPerFile
, elige aleatoriamente el desplazamiento para empezar a analizar. Los bytes analizados son contiguos.
En los ejemplos siguientes se muestra cómo usar la API DLP para analizar un subconjunto del 90% de un segmento de Cloud Storage en busca de nombres de personas. El análisis empieza en una ubicación aleatoria del conjunto de datos y solo incluye archivos de texto de menos de 200 bytes.
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
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET-NAME]/*"
},
"bytesLimitPerFile":"200",
"fileTypes":[
"TEXT_FILE"
],
"filesLimitPercent":90,
"sampleMethod":"RANDOM_START"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"excludeInfoTypes":true,
"includeQuote":true,
"minLikelihood":"POSSIBLE"
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"testingdlp"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
Después de enviar la entrada JSON en una solicitud POST al endpoint especificado, se crea un trabajo de Protección de Datos Sensibles y la API envía la siguiente respuesta.
Salida JSON:
{
"name":"projects/[PROJECT-ID]/dlpJobs/[JOB-ID]",
"type":"INSPECT_JOB",
"state":"PENDING",
"inspectDetails":{
"requestedOptions":{
"snapshotInspectTemplate":{
},
"jobConfig":{
"storageConfig":{
"cloudStorageOptions":{
"fileSet":{
"url":"gs://[BUCKET_NAME]/*"
},
"bytesLimitPerFile":"200",
"fileTypes":[
"TEXT_FILE"
],
"sampleMethod":"TOP",
"filesLimitPercent":90
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PERSON_NAME"
}
],
"minLikelihood":"POSSIBLE",
"limits":{
},
"includeQuote":true,
"excludeInfoTypes":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"[DATASET-ID]",
"tableId":"[TABLE-ID]"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
},
"createTime":"2018-05-30T22:22:08.279Z"
}
Limitar los análisis de BigQuery
Para habilitar el muestreo en BigQuery limitando la cantidad de datos que se analizan, especifica los siguientes campos opcionales en BigQueryOptions
:
rowsLimit
: número máximo de filas que se van a analizar. Si la tabla tiene más filas que este valor, se omitirán las filas restantes. Si no se define o se le asigna el valor 0, se analizarán todas las filas.
.rowsLimitPercent
: porcentaje máximo de filas que se van a analizar (entre 0 y 100). El resto de las filas se omiten. Si se asigna el valor 0 o 100, no habrá límite. El valor predeterminado es 0. Solo se puede especificar un elementorowsLimit
orowsLimitPercent
.sampleMethod
: cómo muestrear las filas si no se analizan todas. Si no se especifica, el análisis empieza por la parte superior. Este campo puede tener uno de los dos valores siguientes:TOP
: el análisis empieza por la parte superior.RANDOM_START
: el análisis empieza por una fila seleccionada al azar.
excludedFields
: campos de la tabla que identifican de forma única las columnas que se van a excluir de la lectura. Esto puede ayudar a reducir la cantidad de datos analizados y a disminuir el coste total de un trabajo de inspección.includedFields
: campos de la tabla que identifican de forma única filas específicas de la tabla que se va a analizar.
Otra función útil para limitar los datos que se analizan, sobre todo al analizar tablas con particiones, es TimespanConfig
.
TimespanConfig
te permite filtrar filas de tablas de BigQuery proporcionando valores de hora de inicio y de finalización para definir un periodo. Protección de Datos Sensibles
solo analiza las filas que contienen una marca de tiempo dentro de ese periodo.
En los siguientes ejemplos se muestra cómo usar la API DLP para analizar un subconjunto de 1000 filas de una tabla de BigQuery. El análisis empieza por una fila aleatoria.
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.
REST
Entrada JSON:
POST https://dlp.googleapis.com/v2/projects/[PROJECT-ID]/dlpJobs?key={YOUR_API_KEY}
{
"inspectJob":{
"storageConfig":{
"bigQueryOptions":{
"tableReference":{
"projectId":"bigquery-public-data",
"datasetId":"usa_names",
"tableId":"usa_1910_current"
},
"rowsLimit":"1000",
"sampleMethod":"RANDOM_START",
"includedFields":[
{
"name":"name"
}
]
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"FIRST_NAME"
}
],
"includeQuote":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"testingdlp",
"tableId":"bqsample3"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
Después de enviar la entrada JSON en una solicitud POST al endpoint especificado, se crea un trabajo de Protección de Datos Sensibles y la API envía la siguiente respuesta.
Salida JSON:
{
"name": "projects/[PROJECT-ID]/dlpJobs/[JOB-ID]",
"type": "INSPECT_JOB",
"state": "PENDING",
"inspectDetails": {
"requestedOptions": {
"snapshotInspectTemplate": {},
"jobConfig": {
"storageConfig": {
"bigQueryOptions": {
"tableReference": {
"projectId": "bigquery-public-data",
"datasetId": "usa_names",
"tableId": "usa_1910_current"
},
"rowsLimit": "1000",
"sampleMethod": "RANDOM_START",
"includedFields": [
{
"name": "name"
}
]
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "FIRST_NAME"
}
],
"limits": {},
"includeQuote": true
},
"actions": [
{
"saveFindings": {
"outputConfig": {
"table": {
"projectId": "[PROJECT-ID]",
"datasetId": "[DATASET-ID]",
"tableId": "bqsample"
},
"outputSchema": "BASIC_COLUMNS"
}
}
}
]
}
},
"result": {}
},
"createTime": "2022-11-04T18:53:48.350Z"
}
Cuando la tarea de inspección termina de ejecutarse y BigQuery ha procesado sus resultados, estos están disponibles en la tabla de salida de BigQuery especificada. Para obtener más información sobre cómo recuperar los resultados de las inspecciones, consulta la sección siguiente.
Recuperar resultados de inspecciones
Puedes obtener un resumen de un DlpJob
mediante el método projects.dlpJobs.get
. El DlpJob
devuelto incluye su objeto InspectDataSourceDetails
, que contiene tanto un resumen de la configuración del trabajo (RequestedOptions
) como un resumen del resultado del trabajo (Result
). El resumen del resultado incluye lo siguiente:
processedBytes
: el tamaño total en bytes que se ha procesado.totalEstimatedBytes
: estimación del número de bytes que quedan por procesar.InfoTypeStatistics
object: estadísticas sobre cuántas instancias de cada infoType se han encontrado durante el trabajo de inspección.
Para ver los resultados completos de una tarea de inspección, tienes varias opciones. En función del Action
que hayas elegido, las tareas de inspección pueden ser:
- Se ha guardado en BigQuery (el objeto
SaveFindings
) en la tabla especificada. Antes de ver o analizar los resultados, primero debe asegurarse de que el trabajo se ha completado mediante el métodoprojects.dlpJobs.get
, que se describe a continuación. Ten en cuenta que puedes especificar un esquema para almacenar resultados mediante el objetoOutputSchema
. - Publicado en un tema de Pub/Sub (el objeto
PublishToPubSub
). El tema debe haber concedido derechos de acceso de publicación a la cuenta de servicio de Protección de Datos Sensibles que ejecuta elDlpJob
que envía las notificaciones. - Publicado en Security Command Center.
- Publicado en Data Catalog.
- Publicado en Cloud Monitoring.
Para analizar grandes cantidades de datos generados por Protección de Datos Sensibles, puede usar herramientas de BigQuery integradas para ejecutar análisis de SQL enriquecidos o herramientas como Looker Studio para generar informes. Para obtener más información, consulta Analizar e informar sobre los resultados de la protección de datos sensibles. Para ver algunas consultas de ejemplo, consulta Consultar resultados en BigQuery.
Al enviar una solicitud de inspección de un repositorio de almacenamiento a Protección de Datos Sensibles, se crea y se ejecuta una instancia de objeto DlpJob
en respuesta. Estas tareas pueden tardar segundos, minutos u horas en ejecutarse, en función del tamaño de los datos y de la configuración que hayas especificado. Si publicas en un tema de Pub/Sub (especificando
PublishToPubSub
en Action
),
se enviarán automáticamente notificaciones al tema con el nombre especificado cuando cambie el estado del trabajo. El nombre del tema de Pub/Sub se especifica
con el formato projects/[PROJECT-ID]/topics/[PUBSUB-TOPIC-NAME]
.
Tienes control total sobre los trabajos que creas, incluidos los siguientes métodos de gestión:
projects.dlpJobs.cancel
method: detiene una tarea que está en curso. El servidor hace todo lo posible para cancelar el trabajo, pero no se garantiza que lo consiga. El trabajo y su configuración se mantendrán hasta que lo elimines (con .projects.dlpJobs.delete
method: elimina un trabajo y su configuración.- Método
projects.dlpJobs.get
: obtiene una sola tarea y devuelve su estado, su configuración y, si la tarea se ha completado, los resultados del resumen. projects.dlpJobs.list
method: obtiene una lista de todos los trabajos e incluye la posibilidad de filtrar los resultados.
Pasos siguientes
- Para obtener más información sobre cómo crear tareas de inspección de almacenamiento, consulta el artículo Crear y programar tareas de inspección de protección de datos sensibles.
- Más información sobre cómo crear una copia desidentificada de los datos almacenados
- Para obtener más información sobre los tipos de archivo admitidos al inspeccionar los contenedores de Cloud Storage, consulte Tipos de archivo admitidos.