La administración correcta de los datos sensibles almacenados en un repositorio de almacenamiento comienza con la clasificación del almacenamiento: identifica dónde están los datos sensibles en el repositorio, de qué tipo de datos sensibles se trata y cómo se usan. Esta información te ayuda a establecer de manera correcta el control de acceso y los permisos para compartir y puede ser parte de un plan de supervisión constante.
Cloud Data Loss Prevention (DLP) puede detectar y clasificar datos sensibles almacenados en una ubicación de Cloud Storage, un tipo de Datastore o una tabla de BigQuery. Cuando se analizan archivos en ubicaciones de Cloud Storage, Cloud DLP admite el análisis de archivos de objetos binarios, de texto, de imagen, de Microsoft Word, PDF y Apache Avro. En la página de referencia de la API de FileType
, se encuentra disponible una lista de extensiones de archivo de los tipos de archivos dentro de Cloud Storage que Cloud DLP puede analizar.
Los tipos de archivos que no se reconocen se analizan como archivos binarios.
Para inspeccionar el almacenamiento y las bases de datos en busca de datos sensibles, especifica la ubicación de los datos y el tipo de datos sensibles que Cloud DLP debe buscar. Cloud DLP inicia un trabajo que inspecciona los datos en una ubicación determinada y, luego, proporciona detalles sobre los Infotipos que se encontraron en el contenido y los valores de probabilidad, entre otros.
Puedes configurar la inspección de almacenamiento y bases de datos mediante Cloud DLP en Cloud Console, a través de la API de RESTful de Cloud DLP o de manera programática en varios lenguajes mediante una biblioteca cliente de Cloud DLP.
En este tema se incluye lo siguiente:
- Prácticas recomendadas para configurar análisis de repositorios y bases de datos de almacenamiento en Google Cloud.
- Instrucciones para configurar un análisis de inspección mediante Cloud DLP en Cloud Console y (de manera opcional) programar análisis de inspección periódicos
- JSON de ejemplo para cada tipo de repositorio de almacenamiento de Google Cloud (Cloud Storage, Datastore y BigQuery) y muestras de código en varios lenguajes de programación
- Una descripción detallada de las opciones de configuración para los trabajos de análisis
- Instrucciones sobre cómo recuperar los resultados de los análisis y cómo administrar los trabajos de análisis que se crean en cada solicitud exitosa
Prácticas recomendadas
Identifica y prioriza el análisis
Es importante evaluar primero tus elementos y especificar cuáles tienen la prioridad más alta para el análisis. Cuando recién comienzas, es posible que tengas una gran cantidad de datos acumulados que necesiten clasificación y será imposible analizarlos de inmediato. En primer lugar, elige los datos que presenten el riesgo más alto posible, por ejemplo, datos a los que se accede con frecuencia, a los que se puede acceder con facilidad o que se desconocen.
Asegúrate de que Cloud DLP pueda acceder a tus datos
Cloud DLP debe poder acceder a los datos que se analizarán. Asegúrate de que la cuenta de servicio de Cloud DLP pueda leer tus recursos.
Limita el alcance de tus primeros análisis
Para obtener mejores resultados, limita el alcance de tus primeros trabajos en lugar de analizar todos los datos. Comienza con una tabla, un depósito o algunos archivos y usa el muestreo. Como limitaste el alcance de los primeros análisis, puedes determinar mejor qué detectores habilitar y qué reglas de exclusión podrían ser necesarias para reducir los falsos positivos a fin de que los hallazgos sean más significativos. Evita activar todos los Infotipos si no los necesitas a todos, ya que los falsos positivos o los resultados inutilizables pueden hacer que sea más difícil evaluar el riesgo. Si bien son útiles en ciertos casos, los Infotipos como DATE
, TIME
, DOMAIN_NAME
y URL
coinciden en una amplia gama de resultados y pueden no ser útiles para activarlos en análisis de datos grandes.
Programa tus análisis
Usa los activadores de trabajo de Cloud DLP para ejecutar análisis automáticamente y generar resultados de forma diaria, semanal o trimestral. Estos análisis también se pueden configurar para inspeccionar solo los datos que cambiaron desde el último análisis, lo que puede ahorrar tiempo y reducir los costos. La ejecución de análisis con regularidad puede ayudarte a identificar tendencias o anomalías en los resultados de los análisis.
Reduce la latencia
La latencia se ve afectada por varios factores: la cantidad de datos que se analizarán, el repositorio de almacenamiento que se analiza y el tipo y la cantidad de Infotipos que están habilitados.
Para ayudar a reducir la latencia del trabajo, puedes probar con las siguientes opciones:
- Habilitar el muestreo.
- No habilitar todos los Infotipos si no los necesitas a todos. Si bien son útiles en ciertos casos, algunos Infotipos, como
PERSON_NAME
,FEMALE_NAME
,MALE_NAME
,FIRST_NAME
,LAST_NAME
,DATE_OF_BIRTH
,LOCATION
,STREET_ADDRESS
,MEDICAL_TERM
,ORGANIZATION_NAME
yALL_BASIC
, pueden hacer que las solicitudes se ejecuten con mucha más lentitud que las solicitudes que no los incluyen.
Antes de comenzar
En las instrucciones proporcionadas en este tema, se supone lo siguiente:
Ya habilitaste la facturación.
Ya habilitaste Cloud DLP.
La clasificación del almacenamiento requiere el siguiente alcance de OAuth: https://www.googleapis.com/auth/cloud-platform
. Para obtener más información, consulta Autentica la API de Cloud DLP.
Inspecciona una ubicación de Cloud Storage
Puedes configurar una inspección de Cloud DLP de una ubicación de Cloud Storage mediante Google Cloud Console, la API de Cloud DLP a través de solicitudes de REST o RPC o de manera programática en varios lenguajes con una biblioteca cliente. Para obtener información sobre los parámetros incluidos con los siguientes JSON y muestras de código, consulta “Configura la inspección de almacenamiento” más adelante en este tema.
Para configurar un trabajo de análisis de un bucket de Cloud Storage mediante Cloud DLP, sigue estos pasos:
Console
En Cloud Console, abre Cloud DLP.
En el menú Crear, ve a Activación de trabajo o trabajo y, luego, haz clic en Inspección.
Ingresa la información del trabajo de Cloud DLP y haz clic en Continuar para completar cada paso:
En el Paso 1: Selecciona datos de entrada, asígnale un nombre al trabajo mediante el ingreso de un valor en el campo Nombre. En Ubicación, elige Cloud Storage en el menú Tipo de almacenamiento y, luego, ingresa la ubicación de los datos que deseas analizar. La sección Muestreo está preconfigurada para ejecutar un análisis de muestra con tus datos. Puedes ajustar el campo Porcentaje de objetos analizados dentro del depósito para ahorrar recursos si tienes una gran cantidad de datos. Para obtener más detalles, consulta Elige los datos de entrada.
(Opcional) En el Paso 2: Configura la detección, puedes configurar qué tipos de datos buscar, llamados “Infotipos”. Puedes elegir de la lista de Infotipos predefinidos o seleccionar una plantilla si la hay. Para obtener más detalles, consulta Configura la detección.
(Opcional) En el Paso 3: Agrega acciones, asegúrate de que la opción Notificar por correo electrónico esté habilitada.
Habilita Guardar en BigQuery para que los resultados de Cloud DLP se publiquen en una tabla de BigQuery. Proporciona lo siguiente:
- En ID del proyecto, ingresa el ID del proyecto en el que se almacenarán los resultados.
- En ID del conjunto de datos, ingresa el nombre del conjunto de datos en el que se almacenarán los resultados.
- (Opcional) Si lo deseas, en ID de la tabla ingresa el nombre de la tabla en la que se almacenarán los resultados. Si no especificas un ID de tabla, se asignará un nombre predeterminado a una tabla nueva, similar al siguiente:
dlp_googleapis_[DATE]_1234567890
, en el que[DATE]
representa la fecha en la que se ejecuta el análisis. Si especificas una tabla existente, los resultados se agregan a ella.
También puedes guardar resultados en Pub/Sub, Security Command Center, Data Catalog y Cloud Monitoring. Para obtener más detalles, consulta Agrega acciones.
(Opcional) En el Paso 4: Programa, para ejecutar el análisis una sola vez, deja el menú configurado en Ninguno. A fin de programar análisis que se ejecuten de forma periódica, haz clic en Crear un activador para ejecutar el trabajo de forma periódica. Para obtener más detalles, consulta Programa.
Haz clic en Crear.
Una vez que se complete el trabajo de Cloud DLP, se te redireccionará 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 elegiste publicar los resultados de Cloud DLP en BigQuery, en la página Detalles del trabajo, haz clic en Ver resultados en BigQuery para abrir la tabla en la IU web de BigQuery. Luego, puedes consultar la tabla y analizar los resultados. Para obtener más información sobre cómo consultar los resultados en BigQuery, lee Consulta los resultados de Cloud DLP en BigQuery.
Protocolo
A continuación, hay una muestra JSON que se puede enviar en una solicitud POST al extremo REST especificado de Cloud DLP. En este JSON de ejemplo, se muestra cómo usar la API de Cloud DLP para inspeccionar los depósitos de Cloud Storage. Para obtener información sobre los parámetros incluidos en la solicitud, consulta “Configura la inspección de almacenamiento” más adelante en este tema.
Puedes probar esto de forma rápida en el Explorador de API en la página de referencia de content.inspect
:
Ten en cuenta que una solicitud con éxito, incluso en el Explorador de API, creará un trabajo de análisis nuevo. Para obtener información sobre cómo controlar los trabajos de análisis, consulta “Recupera los resultados de inspección” más adelante en este tema. Si quieres obtener información general sobre el uso de JSON para enviar solicitudes a la API de Cloud DLP, consulta la Guía de inicio rápido de JSON.
Entrada de 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]"
}
}
}
}
]
}
}
Resultado de 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
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
Node.js
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
Python
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
Comienza a usarlo
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
PHP
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
C#
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
Inspecciona un tipo de Datastore
Puedes configurar una inspección de un tipo de Datastore mediante Google Cloud Console, la API de Cloud DLP a través de solicitudes REST o RPC o de manera programática en varios lenguajes mediante una biblioteca cliente.
Para configurar un trabajo de análisis de un tipo de Datastore con Cloud DLP, sigue estos pasos:
Console
Para configurar un trabajo de análisis de un bucket de Datastore mediante Cloud DLP, haz lo siguiente:
En Cloud Console, abre Cloud DLP.
En el menú Create (Crear), elige Job or job trigger (Trabajo o activador de trabajo).
Ingresa la información del trabajo de Cloud DLP y haz clic en Continuar para completar cada paso:
En el Paso 1: Elige los datos de entrada, ingresa los identificadores del proyecto, el espacio de nombres (opcional) y el tipo que deseas analizar. Para obtener más detalles, consulta Elige los datos de entrada.
(Opcional) En el Paso 2: Configura la detección, puedes configurar qué tipos de datos buscar, llamados “Infotipos”. Puedes elegir de la lista de Infotipos predefinidos o seleccionar una plantilla si la hay. Para obtener más detalles, consulta Configura la detección.
(Opcional) En el Paso 3: Agrega acciones, asegúrate de que la opción Notificar por correo electrónico esté habilitada.
Habilita Guardar en BigQuery para que los resultados de Cloud DLP se publiquen en una tabla de BigQuery. Proporciona lo siguiente:
- En ID del proyecto, ingresa el ID del proyecto en el que se almacenarán los resultados.
- En ID del conjunto de datos, ingresa el nombre del conjunto de datos en el que se almacenarán los resultados.
- (Opcional) Si lo deseas, en ID de la tabla ingresa el nombre de la tabla en la que se almacenarán los resultados. Si no especificas un ID de la tabla, se asignará un nombre predeterminado a una tabla nueva, similar al siguiente:
dlp_googleapis_[DATE]_1234567890
. Si especificas una tabla existente, los resultados se agregan a ella.
Para obtener más información sobre las otras acciones enumeradas, consulta Agregar acciones.
(Opcional) En el Paso 4: Programa, puedes configurar un período o programa si seleccionas Especificar un período o Crear un activador para ejecutar un trabajo de forma periódica. Para obtener más información, consulta Programa.
Haz clic en Crear.
Una vez que se complete el trabajo de Cloud DLP, se te redireccionará 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 elegiste publicar los resultados de Cloud DLP en BigQuery, en la página Detalles del trabajo, haz clic en Ver resultados en BigQuery para abrir la tabla en la IU web de BigQuery. Luego, puedes consultar la tabla y analizar los resultados. Para obtener más información sobre cómo consultar los resultados en BigQuery, lee Consulta los resultados de Cloud DLP en BigQuery.
Protocolo
A continuación, hay un JSON de muestra que se puede enviar en una solicitud POST al extremo de REST especificado de la API de Cloud DLP. En este JSON de ejemplo, se muestra cómo usar la API de Cloud DLP para inspeccionar tipos de Datastore. Para obtener información sobre los parámetros incluidos en la solicitud, consulta “Configura la inspección de almacenamiento” más adelante en este tema.
Puedes probar esto de forma rápida en el Explorador de API en la página de referencia de dlpJobs.create
:
Ten en cuenta que una solicitud con éxito, incluso en el Explorador de API, creará un trabajo de análisis nuevo. Para obtener información sobre cómo controlar los trabajos de análisis, consulta Recupera los resultados de la inspección más adelante en este tema. Si quieres obtener información general sobre el uso de JSON para enviar solicitudes a la API de Cloud DLP, consulta la Guía de inicio rápido de JSON.
Entrada de 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
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
Node.js
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
Python
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
Comienza a usarlo
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
PHP
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
C#
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
Inspecciona una tabla de BigQuery
Puedes configurar una inspección de una tabla de BigQuery con Cloud DLP a través de solicitudes REST o de manera programática en varios lenguajes con una biblioteca cliente.
Sigue los pasos a continuación para configurar un trabajo de análisis de una tabla de BigQuery mediante Cloud DLP:
Console
Sigue los pasos a continuación para configurar un trabajo de análisis de una tabla de BigQuery mediante Cloud DLP:
En Cloud Console, abre Cloud DLP.
En el menú Create (Crear), elige Job or job trigger (Trabajo o activador de trabajo).
Ingresa la información del trabajo de Cloud DLP y haz clic en Continuar para completar cada paso:
En el Paso 1: Selecciona datos de entrada, asígnale un nombre al trabajo mediante el ingreso de un valor en el campo Nombre. En Ubicación, elige BigQuery en el menú Tipo de almacenamiento y, luego, ingresa la información de la tabla que deseas analizar. La sección Muestreo está preconfigurada para ejecutar un análisis de muestra con tus datos. Puedes ajustar los campos Limitar filas por y Cantidad máxima de filas para ahorrar recursos si tienes una gran cantidad de datos. Para obtener más detalles, consulta Elige los datos de entrada.
(Opcional) En el Paso 2: Configura la detección, puedes configurar qué tipos de datos buscar, llamados “Infotipos”. Puedes elegir de la lista de Infotipos predefinidos o seleccionar una plantilla si la hay. Para obtener más detalles, consulta Configura la detección.
(Opcional) En el Paso 3: Agrega acciones, asegúrate de que la opción Notificar por correo electrónico esté habilitada.
Habilita Guardar en BigQuery para que los resultados de Cloud DLP se publiquen en una tabla de BigQuery. Proporciona lo siguiente:
- En ID del proyecto, ingresa el ID del proyecto en el que se almacenarán los resultados.
- En ID del conjunto de datos, ingresa el nombre del conjunto de datos en el que se almacenarán los resultados.
- (Opcional) Si lo deseas, en ID de la tabla ingresa el nombre de la tabla en la que se almacenarán los resultados. Si no especificas un ID de la tabla, se asignará un nombre predeterminado a una tabla nueva, similar al siguiente:
dlp_googleapis_[DATE]_1234567890
. Si especificas una tabla existente, los resultados se agregan a ella.
También puedes guardar resultados en Pub/Sub, en Security Command Center y en Data Catalog. Para obtener más detalles, consulta Agrega acciones.
(Opcional) En el Paso 4: Programa, para ejecutar el análisis una sola vez, deja el menú configurado en Ninguno. A fin de programar análisis que se ejecuten de forma periódica, haz clic en Crear un activador para ejecutar el trabajo de forma periódica. Para obtener más detalles, consulta Programa.
Haz clic en Crear.
Una vez que se complete el trabajo de Cloud DLP, se te redireccionará 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 elegiste publicar los resultados de Cloud DLP en BigQuery, en la página Detalles del trabajo, haz clic en Ver resultados en BigQuery para abrir la tabla en la IU web de BigQuery. Luego, puedes consultar la tabla y analizar los resultados. Para obtener más información sobre cómo consultar los resultados en BigQuery, lee Consulta los resultados de Cloud DLP en BigQuery.
Protocolo
A continuación, hay un JSON de muestra que se puede enviar en una solicitud POST al extremo de REST especificado de la API de Cloud DLP. En este JSON de ejemplo, se muestra cómo usar la API de Cloud DLP para inspeccionar tablas de BigQuery. Para obtener información sobre los parámetros incluidos en la solicitud, consulta “Configura la inspección de almacenamiento” más adelante en este tema.Puedes probar esto de forma rápida en el Explorador de API en la página de referencia de dlpJobs.create
:
Ten en cuenta que una solicitud con éxito, incluso en el Explorador de API, creará un trabajo de análisis nuevo. Para obtener información sobre cómo controlar los trabajos de análisis, consulta “Recupera los resultados de inspección” más adelante en este tema. Si quieres obtener información general sobre el uso de JSON para enviar solicitudes a la API de Cloud DLP, consulta la Guía de inicio rápido de JSON.
Entrada de 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":"person.contactinfo"
}
]
},
"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
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
Node.js
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
Python
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
Comienza a usarlo
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
PHP
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
C#
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
Configura la inspección del almacenamiento
Para inspeccionar una ubicación de Cloud Storage, un tipo de Cloud Datastore o una tabla de BigQuery, envía una solicitud al método projects.dlpJobs.create
de la API de Cloud DLP que contenga, al menos, la ubicación de los datos que se deben analizar y qué se debe buscar. Más allá de esos parámetros requeridos, también puedes especificar dónde se escribirán los resultados del análisis y los límites de tamaño y probabilidades, entre otros. Una solicitud sin problemas da como resultado la creación de una instancia del objeto DlpJob
, que se analiza en “Recupera los resultados de inspección”.
Las opciones de configuración disponibles se resumen de esta forma:
Objeto
InspectJobConfig
: Contiene la información sobre la configuración para el trabajo de inspección. Ten en cuenta que al objetoInspectJobConfig
también lo usa el objetoJobTriggers
para programar la creación de losDlpJob
. En este objeto, se incluye lo siguiente:Objeto
StorageConfig
: Obligatorio. Contiene detalles sobre el repositorio de almacenamiento a analizar:Se debe incluir uno de los siguientes en el objeto
StorageConfig
, según el tipo de repositorio de almacenamiento que se analiza:Objeto
CloudStorageOptions
: Contiene información sobre el depósito de Cloud Storage que se debe analizar.Objeto
DatastoreOptions
: Contiene información sobre el conjunto de datos de Datastore que se debe analizar.Objeto
BigQueryOptions
: Contiene información sobre la tabla de BigQuery que se debe analizar y, de forma opcional, sobre los campos de identificación. Este objeto también habilita el muestreo de resultados. Para obtener más información, consulta Habilita el muestreo de resultados debajo.Objeto
TimespanConfig
: Opcional. Especifica el período de los elementos que se deben incluir en el análisis.
Objeto
InspectConfig
: Obligatorio. Especifica qué analizar, como Infotipos y valores de probabilidad.- Objetos
InfoType
: Obligatorios. Uno o más valores de Infotipos que se deben analizar. - Enumeración
Likelihood
: Opcional. Cuando se establece, Cloud DLP solo mostrará resultados iguales o superiores a este límite de probabilidad. Si se omite esta enumeración, el valor predeterminado seráPOSSIBLE
. - Objeto
FindingLimits
: Opcional. Cuando se establece, este objeto te habilita a especificar un límite para la cantidad de resultados que se muestran. - Parámetro
includeQuote
: Opcional. La configuración predeterminada esfalse
. Cuando se establece entrue
, cada resultado incluirá una cita contextual de los datos que lo activaron. - Parámetro
excludeInfoTypes
: Opcional. La configuración predeterminada esfalse
. Cuando se establece entrue
, los resultados del análisis excluirán la información sobre el tipo de los resultados. - Objetos
CustomInfoType
: Uno o más Infotipos personalizados creados por el usuario. Para obtener más información sobre la creación de Infotipos personalizados, consulta Crea detectores de Infotipos personalizados.
- Objetos
String
inspectTemplateName
: Opcional. Especifica la plantilla que se usará para propagar los valores predeterminados en el objetoInspectConfig
. Si ya especificasteInspectConfig
, los valores de la plantilla se combinarán.Objetos
Action
: Opcional. Una o más acciones para ejecutar cuando finaliza el trabajo. Cada acción se ejecuta en el orden en que se enumera. Aquí es donde especificas dónde se escribirán los resultados o si deseas publicar una notificación en un tema de Pub/Sub.
jobId
: Opcional. Un identificador para el trabajo que muestra Cloud DLP. Si se omitejobId
o está vacío, el sistema crea un ID para el trabajo. Si se especifica, al trabajo se le asigna este valor de ID. El ID del trabajo debe ser único y puede contener letras mayúsculas y minúsculas, números y guiones; debe coincidir con la siguiente expresión regular:[a-zA-Z\\d-]+
.
Limita la cantidad de contenido inspeccionado
Si analizas tablas de BigQuery o depósitos de Cloud Storage, Cloud DLP incluye una forma de analizar un subconjunto del conjunto de datos. Esto puede proporcionar una muestra de resultados de análisis sin incurrir en los costos potenciales de analizar un conjunto de datos completo.
En las siguientes secciones hay información sobre cómo limitar el tamaño de los análisis de Cloud Storage y de los análisis de BigQuery.
Limita los análisis de Cloud Storage
Para habilitar el muestreo en Cloud Storage, limita la cantidad de datos que se analizan. Puedes indicar a la API de Cloud DLP que analice solo los archivos de cierto tamaño, solo ciertos tipos de archivos y solo un cierto porcentaje de la cantidad total de archivos en el conjunto de archivos de entrada. Para hacerlo, especifica los siguientes campos opcionales en CloudStorageOptions
:
bytesLimitPerFile
: Establece la cantidad máxima de bytes que se deben analizar de un archivo. Si el tamaño de un archivo analizado es mayor que este valor, el resto de los bytes se omiten.fileTypes[]
: Muestra una lista deFileTypes
que se incluirá en el análisis. Se puede establecer en uno o más de los siguientes tipos enumerados:filesLimitPercent
: Limita la cantidad de archivos que se analizarán al porcentaje especificado de la entradaFileSet
. Especificar0
o100
aquí indica que no hay límite.sampleMethod
: Cómo generar muestras de bytes si no se analizan todos los bytes. Especificar este valor funciona solo cuando se usa junto conbytesLimitPerFile
. Si no se especifica, el análisis comienza desde arriba. Este campo se puede establecer en uno de dos valores:TOP
: El análisis comienza desde arriba.RANDOM_START
: Para cada archivo mayor que el tamaño especificado enbytesLimitPerFile
, elige de forma aleatoria el desplazamiento a fin de comenzar la búsqueda. Los bytes analizados son contiguos.
En los ejemplos siguientes se demuestra el uso de la API de Cloud DLP a fin de analizar el 90% de un subconjunto de un depósito de Cloud Storage para nombres de personas. El análisis comienza desde una ubicación aleatoria del conjunto de datos y solo incluye archivos de texto por debajo de los 200 bytes.
Protocolo
Entrada de 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 extremo especificado, se crea un trabajo de Cloud DLP y la API envía la siguiente respuesta:
Resultado de 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"
}
Java
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
Limita los análisis de BigQuery
Para habilitar el muestreo en BigQuery y limitar la cantidad de datos que se analizan, especifica los siguientes campos opcionales dentro de BigQueryOptions
:
rowsLimit
: La cantidad máxima de filas que se deben analizar. Si la cantidad de filas de la tabla es mayor que este valor, el resto de las filas se omiten. Si no se establece, o si se establece en 0, se analizarán todas las filas.sampleMethod
: Cómo generar muestras de las filas si no se analizan todas. Si no se especifica, el análisis comienza desde arriba. Este campo se puede establecer en uno de dos valores:TOP
: El análisis comienza desde arriba.RANDOM_START
: El análisis comienza desde una fila seleccionada al azar.
excludedFields
: Excluye ciertas columnas para que no se lean. Esto puede ayudar a reducir la cantidad de datos analizados y reducir el costo general de un trabajo de inspección.
Otra función útil para limitar los datos que se analizan, en especial cuando se analizan tablas particionadas, es TimespanConfig
.
TimespanConfig
te permite filtrar las filas de la tabla de BigQuery mediante valores de hora de inicio y de finalización para definir un período. Cloud DLP solo analiza las filas que contienen una marca de tiempo dentro de ese período.
En los siguientes ejemplos, se muestra el uso de la API de Cloud DLP para analizar un subconjunto de 1,000 filas de una tabla de BigQuery. El análisis comienza desde una fila aleatoria.
Protocolo
Entrada de 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",
"identifyingFields":[
{
"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 extremo especificado, se crea un trabajo de Cloud DLP y la API envía la siguiente respuesta:
Resultado de 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"
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"FIRST_NAME"
}
],
"minLikelihood":"POSSIBLE",
"limits":{
},
"includeQuote":true
},
"actions":[
{
"saveFindings":{
"outputConfig":{
"table":{
"projectId":"[PROJECT-ID]",
"datasetId":"testingdlp",
"tableId":"bqsample3"
},
"outputSchema":"BASIC_COLUMNS"
}
}
}
]
}
}
},
"createTime":"2018-05-25T21:02:50.655Z"
}
Cuando el trabajo de inspección termina de ejecutarse y BigQuery procesa los resultados, estos aparecerán en la tabla de salida de BigQuery especificada. Para obtener más información sobre la recuperación de los resultados de inspección, consulta la sección siguiente.
Java
Si deseas obtener información para instalar y usar la biblioteca cliente de Cloud DLP, consulta las Bibliotecas cliente de Cloud DLP.
Recupera los resultados de la inspección
Puedes recuperar un resumen de un DlpJob
mediante el método projects.dlpJobs.get
. El DlpJob
que se muestra incluye su objeto InspectDataSourceDetails
, que contiene un resumen de la configuración del trabajo (RequestedOptions
) y un resumen del resultado del trabajo (Result
). El resumen de resultados incluye lo siguiente:
processedBytes
: El tamaño total en bytes de lo que se procesó.totalEstimatedBytes
: Una estimación de la cantidad de bytes restantes para procesar.- Objeto
InfoTypeStatistics
: Estadísticas sobre cuántas instancias de cada Infotipo se encontraron durante el trabajo de inspección.
Para los resultados de los trabajos de inspección completos, tienes dos opciones. Según la Action
elegida, con los trabajos de inspección sucede lo siguiente:
- Se guardan en BigQuery (el objeto
SaveFindings
) en la tabla especificada. Antes de ver o analizar los resultados, asegúrate de que el trabajo se completó 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
. - Se publican en un tema de Pub/Sub (el objeto
PublishToPubSub
). El tema debe haberle dado derechos de acceso para publicar a la cuenta de servicio de Cloud DLP que ejecuta elDlpJob
que envía las notificaciones.
A modo de ayudar a examinar grandes cantidades de datos que genera Cloud DLP, puedes usar las herramientas incorporadas de BigQuery para ejecutar estadísticas de SQL enriquecidas o herramientas como Google Data Studio si quieres generar informes. Para obtener más información, consulta Analiza los resultados de Cloud DLP y genera informes. Para ver algunas consultas de muestra, lee Consulta resultados en BigQuery.
El envío de una solicitud de inspección del repositorio de almacenamiento a Cloud DLP crea y ejecuta una instancia del objeto DlpJob
como respuesta. Estas tareas pueden tardar segundos, minutos o incluso horas en ejecutarse, según el tamaño de tus datos y la configuración que especificaste. Si eliges publicar en un tema de Pub/Sub (mediante la especificación de PublishToPubSub
en Action
), se envían de forma automática notificaciones al tema con el nombre especificado cuando el estado del trabajo cambia. El nombre del tema de Pub/Sub se especifica con el formato projects/[PROJECT-ID]/topics/[PUBSUB-TOPIC-NAME]
.
Tendrás control total sobre los trabajos que crees, incluidos los métodos de administración siguientes:
- Método
projects.dlpJobs.cancel
: Detiene un trabajo que está en curso. El servidor realiza su mejor esfuerzo para cancelar la operación, pero no se garantiza que lo logre.El trabajo y su configuración permanecerán hasta que los borres. - Método
projects.dlpJobs.delete
: Borra un trabajo y su configuración. - Método
projects.dlpJobs.get
: Recupera un solo trabajo y muestra su estado, su configuración y, si el trabajo está listo, los resultados del resumen. - Método
projects.dlpJobs.list
: Recupera una lista de todos los trabajos y, además, incluye la capacidad de filtrar los resultados.