Analiza y genera informes con los resultados del análisis de Cloud DLP

Cloud Data Loss Prevention (DLP) te ayuda a encontrar, comprender y administrar los datos sensibles dentro de tu infraestructura. Una vez que analizas tu contenido en busca de datos sensibles con Cloud DLP, tienes varias opciones sobre qué hacer con esa inteligencia de datos. En este tema, te mostramos cómo aprovechar el poder de otras características de Google Cloud Platform como BigQuery, Cloud SQL y Google Data Studio para realizar lo siguiente:

  • Almacenar los resultados del análisis de Cloud DLP directo en BigQuery.
  • Generar informes sobre dónde residen los datos sensibles en tu infraestructura.
  • Ejecutar estadísticas SQL enriquecedoras para comprender dónde se almacenan los datos sensibles y de qué tipo son.
  • Automatizar alertas o acciones para que se activen según un solo conjunto o una combinación de resultados.

En este tema, también hay un ejemplo completo de cómo usar Cloud DLP junto con otras características de GCP para llevar a cabo estas acciones.

Analiza un depósito de almacenamiento

Primero, ejecuta un análisis sobre tus datos. A continuación, hay información básica sobre cómo analizar repositorios de almacenamiento con Cloud DLP. Si quieres obtener las instrucciones completas sobre el análisis de repositorios de almacenamiento, incluido el uso de bibliotecas cliente, consulta Cómo inspeccionar el almacenamiento y las bases de datos para datos sensibles.

Para ejecutar una operación de análisis en un repositorio de almacenamiento de GCP, reúne un objeto JSON que incluya los siguientes objetos de configuración:

  • InspectJobConfig: configura el trabajo de análisis de DLP y consiste de:

    • StorageConfig: el repositorio de almacenamiento que se debe analizar.
    • InspectConfig: cómo y qué analizar. También puedes usar una plantilla de inspección para definir la configuración del proceso.
    • Action: tareas que se deben ejecutar cuando se complete el trabajo. Entre estas; guardar los resultados en una tabla de BigQuery o publicar una notificación en Cloud Pub/Sub.

En este ejemplo, debes analizar un depósito de Cloud Storage para encontrar nombres de personas, números de teléfono, números de identificación personal de EE.UU. y direcciones de correo electrónico. Luego, envía los resultados a una tabla de BigQuery dedicada al almacenamiento de los resultados de DLP. El JSON a continuación se puede guardar en un archivo o se puede enviar directo al método create del recurso DlpJob de Cloud DLP.

Entrada de JSON:

POST https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/dlpJobs?key={YOUR_API_KEY}

{
  "inspectJob":{
    "inspectConfig":{
      "infoTypes":[
        {
          "name":"PERSON_NAME"
        },
        {
          "name":"PHONE_NUMBER"
        },
        {
          "name":"US_SOCIAL_SECURITY_NUMBER"
        },
        {
          "name":"EMAIL_ADDRESS"
        }
      ],
      "includeQuote":true
    },
    "storageConfig":{
      "cloudStorageOptions":{
        "fileSet":{
          "url":"gs://[BUCKET_NAME]/**"
        }
      }
    },
    "actions":[
      {
        "saveFindings":{
          "outputConfig":{
            "table":{
              "projectId":"[PROJECT_ID]",
              "datasetId":"[DATASET_ID]",
              "tableId":"[TABLE_ID]"
            }
          }
        }
      }
    ]
  }
}

Ten en cuenta que si especificas con dos asteriscos (**) después de la dirección del depósito de Cloud Storage (gs://[BUCKET_NAME]/**), indicas al trabajo de análisis que busque de forma recurrente. Si colocas un solo asterisco (*) se indicará al trabajo que analice solo el nivel de directorio especificado y no más que eso.

El resultado se guardará en la tabla especificada dentro de un conjunto de datos y del proyecto determinado. Los trabajos posteriores que especifican el ID de la tabla dada adjuntan los hallazgos a la misma tabla. También puedes omitir la clave "tableId" si quieres indicar a Cloud DLP que cree una tabla nueva cada vez que se ejecuta el análisis.

Después de que envías este JSON en una solicitud al método projects.dlpJobs.create a través de la URL especificada, obtienes 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]/**"
            }
          }
        },
        "inspectConfig":{
          "infoTypes":[
            {
              "name":"PERSON_NAME"
            },
            {
              "name":"PHONE_NUMBER"
            },
            {
              "name":"US_SOCIAL_SECURITY_NUMBER"
            },
            {
              "name":"EMAIL_ADDRESS"
            }
          ],
          "minLikelihood":"POSSIBLE",
          "limits":{

          },
          "includeQuote":true
        },
        "actions":[
          {
            "saveFindings":{
              "outputConfig":{
                "table":{
                  "projectId":"[PROJECT_ID]",
                  "datasetId":"[DATASET_ID]",
                  "tableId":"[TABLE_ID]"
                }
              }
            }
          }
        ]
      }
    }
  },
  "createTime":"2018-11-19T21:09:07.926Z"
}

Una vez que se completó el trabajo, guarda los resultados en la tabla de BigQuery dada por su cuenta.

Para obtener el estado del trabajo, llama al método projects.dlpJobs.get o envía una solicitud GET a la siguiente URL; reemplaza [PROJECT_ID] con tu ID del proyecto y [JOB_ID] con el identificador de trabajo dado en la respuesta de la API de Cloud Data Loss Prevention a la solicitud de creación de trabajo (el identificador de trabajo tendrá una "i-" antepuesta):

GET https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/dlpJobs/[JOB_ID]?key={YOUR_API_KEY}

Para el trabajo recién creado, la solicitud muestra el siguiente JSON. Ten en cuenta que, después de los detalles de la inspección, se muestra un resumen de los resultados del análisis. Si aún no se completó el análisis, su clave "state" especificará "RUNNING".

Resultado de JSON:

{
  "name":"projects/[PROJECT_ID]/dlpJobs/[JOB_ID]",
  "type":"INSPECT_JOB",
  "state":"DONE",
  "inspectDetails":{
    "requestedOptions":{
      "snapshotInspectTemplate":{

      },
      "jobConfig":{
        "storageConfig":{
          "cloudStorageOptions":{
            "fileSet":{
              "url":"gs://[BUCKET_NAME]/**"
            }
          }
        },
        "inspectConfig":{
          "infoTypes":[
            {
              "name":"PERSON_NAME"
            },
            {
              "name":"PHONE_NUMBER"
            },
            {
              "name":"US_SOCIAL_SECURITY_NUMBER"
            },
            {
              "name":"EMAIL_ADDRESS"
            }
          ],
          "minLikelihood":"POSSIBLE",
          "limits":{

          },
          "includeQuote":true
        },
        "actions":[
          {
            "saveFindings":{
              "outputConfig":{
                "table":{
                  "projectId":"[PROJECT_ID]",
                  "datasetId":"[DATASET_ID]",
                  "tableId":"[TABLE_ID]"
                }
              }
            }
          }
        ]
      }
    },
    "result":{
      "processedBytes":"536734051",
      "totalEstimatedBytes":"536734051",
      "infoTypeStats":[
        {
          "infoType":{
            "name":"PERSON_NAME"
          },
          "count":"269679"
        },
        {
          "infoType":{
            "name":"EMAIL_ADDRESS"
          },
          "count":"256"
        },
        {
          "infoType":{
            "name":"PHONE_NUMBER"
          },
          "count":"7"
        }
      ]
    }
  },
  "createTime":"2018-11-19T21:09:07.926Z",
  "startTime":"2018-11-19T21:10:20.660Z",
  "endTime":"2018-11-19T22:07:39.725Z"
}

Ejecuta estadísticas en BigQuery

Ahora que ya creaste una tabla de BigQuery nueva con los resultados de tu análisis de Cloud DLP, el paso que sigue es ejecutar estadísticas en la tabla.

Del lado izquierdo de Google Cloud Console debajo de “Big Data”, haz clic en BigQuery. Abre tu proyecto y conjunto de datos y, luego, ubica la tabla nueva creada.

Puede ejecutar consultas de SQL en esta tabla para descubrir más sobre lo que Cloud DLP encontró en tu depósito de datos. Por ejemplo, ejecuta lo siguiente para contar todos los resultados del análisis por Infotipo; reemplaza los marcadores de posición con los valores verdaderos adecuados:

SELECT
  info_type.name,
  COUNT(*) AS iCount
FROM
  `[PROJECT_ID].[DATASET_ID].[TABLE_ID]`
GROUP BY
  info_type.name

Esta consulta da como resultado un resumen de los resultados para ese depósito que se ve parecido a lo siguiente:

Resumen de ejemplo de los resultados de Cloud DLP.

Crea un informe en Data Studio

Data Studio te permite crear informes personalizados que se pueden basar en las tablas de BigQuery. En esta sección, crea un informe de tabla simple en Data Studio que se base en los resultados de Cloud DLP almacenados en BigQuery.

  1. Abre Data Studio y comienza un informe nuevo.
  2. Haz clic en Crear una fuente de datos nueva.
  3. Desde la lista de conectores, haz clic en BigQuery. Si es necesario, autoriza a Data Studio a conectarse a tus proyectos de BigQuery con un clic en Autorizar.
  4. Ahora, elige qué tabla buscar y, luego, haz clic en Mis proyectos o Proyectos compartidos, según donde resida tu proyecto. Encuentra tu proyecto, tu conjunto de datos y la tabla en las listas de la página.
  5. Haz clic en Conectar para ejecutar el informe.
  6. Haz clic en Agregar al informe.

Ahora, crearás una tabla que muestra la frecuencia de cada Infotipo. Selecciona el campo info_type.name como la Dimensión. La tabla resultante se verá similar a la que se ve debajo:

Una tabla de ejemplo en Data Studio.

Pasos siguientes

Este es solo el comienzo de lo que puedes visualizar con Data Studio y el resultado desde Cloud DLP. Puedes agregarle otros elementos de gráficos y filtros de desglose para crear informes y paneles. Si quieres obtener información sobre lo que está disponible en Data Studio, consulta la Descripción general de productos de Data Studio.

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Documentación sobre prevención de pérdida de datos