Cómo analizar perfiles de datos

Si configuraste el servicio de descubrimiento de datos sensibles para enviar todos los perfiles de datos generados correctamente a BigQuery, puedes consultar esos perfiles de datos para obtener estadísticas sobre tus datos. También puedes usar herramientas de visualización, como Looker Studio, para crear informes personalizados según las necesidades de tu empresa. Como alternativa, puedes usar un informe precompilado que proporciona Sensitive Data Protection, ajustarlo y compartirlo según sea necesario.

En esta página, se proporcionan ejemplos de consultas SQL que puedes usar para obtener más información sobre tus perfiles de datos. También te muestra cómo puedes visualizar perfiles de datos en en Looker Studio.

Para obtener más información sobre los perfiles de datos, consulta Perfiles de datos.

Antes de comenzar

En esta página, se da por sentado que configuraste la generación de perfiles a nivel de la organización, la carpeta o el proyecto. En la configuración del análisis de descubrimiento, asegúrate de activar la exportación de perfiles de datos haciendo clic en el botón de activación Guardar copias de los perfiles de datos en BigQuery. Para obtener más información sobre cómo crear una configuración de análisis de descubrimiento, consulta Crea una configuración de análisis.

En este documento, la tabla que contiene los perfiles de datos exportados se denomina tabla de salida.

Asegúrate de tener a mano el ID del proyecto, el ID del conjunto de datos y el ID de la tabla de salida. Los necesitarás para realizar los procedimientos de esta página.

La vista latest

Cuando Sensitive Data Protection exporta perfiles de datos a tu tabla de resultados, también crea la vista latest. Esta vista es una tabla virtual prefiltrada que incluye solo las instantáneas más recientes de tus perfiles de datos. La vista latest tiene el mismo esquema que la tabla de salida, por lo que puedes usar ambas de forma indistinta en tus consultas de SQL y tus informes de Looker Studio. Los resultados pueden diferir porque la tabla de resultados contiene instantáneas más antiguas de los perfiles de datos.

La vista latest se almacena en la misma ubicación que la tabla de resultados. Su nombre tiene el siguiente formato:

OUTPUT_TABLE_latest_VERSION

Reemplaza lo siguiente:

  • OUTPUT_TABLE: El ID de la tabla que contiene los perfiles de datos exportados.
  • VERSION: El número de versión de la vista.

Por ejemplo, si el nombre de tu tabla de resultados es table-profile, la vista latest tiene un nombre como table-profile_latest_v1.

Vista más reciente

Cuando uses la vista latest en las consultas de SQL, usa el nombre completo de la vista, que incluye el ID del proyecto, el ID del conjunto de datos, el ID de la tabla y el sufijo, por ejemplo, myproject.mydataset.table-profile_latest_v1.

PROJECT_ID.DATASET_ID.OUTPUT_TABLE_latest_VERSION

Elige entre la tabla de resultados y la vista latest

La vista latest solo incluye las instantáneas de perfil de datos más recientes, mientras que la tabla de resultados tiene todas las instantáneas de perfil de datos, incluidas las que están desactualizadas. Por ejemplo, una consulta en la tabla de resultados puede mostrar varios perfiles de datos de columna para la misma columna, uno para cada vez que se creó el perfil de esa columna.

Cuando elijas entre usar la tabla de resultados y la vista latest en tus consultas SQL o informes de Looker Studio, ten en cuenta lo siguiente:

  • La vista latest es útil si tienes recursos de datos que se volvieron a perfilar y solo quieres ver los perfiles más recientes, no sus versiones anteriores. Es decir, quieres ver el estado actual de tus datos de perfil.

  • La tabla de resultados es útil si deseas obtener una vista histórica de tus datos perfilados. Por ejemplo, intentas determinar si tu organización almacenó un Infotipo en particular o si deseas ver los cambios que sufrió un perfil de datos en particular.

Consultas en SQL de muestra

En esta sección, se proporcionan ejemplos de consultas que puedes usar cuando analices perfiles de datos. Para ejecutar estas consultas, consulta Ejecuta consultas interactivas.

En los siguientes ejemplos, reemplaza TABLE_OR_VIEW por cualquiera de los siguientes valores:

  • Es el nombre de la tabla de salida, que es la tabla que contiene los perfiles de datos exportados, por ejemplo, myproject.mydataset.table-profile.
  • Es el nombre de la vista latest de la tabla de salida, por ejemplo, myproject.mydataset.table-profile_latest_v1.

En cualquier caso, debes incluir el ID del proyecto y el ID del conjunto de datos.

Para obtener más información, consulta Elige entre la tabla de resultados y la vista latest en esta página.

Para solucionar cualquier error que encuentres, consulta Mensajes de error.

Muestra una lista de todas las columnas que tienen una puntuación alta de texto libre y evidencia de otras coincidencias de Infotipo.

SELECT
  column_profile.table_full_resource,
  column_profile.COLUMN,
  other_matches.info_type.name,
  column_profile.profile_last_generated
FROM
   `TABLE_OR_VIEW`
  LEFT JOIN UNNEST(column_profile.other_matches) AS other_matches
WHERE
  column_profile.free_text_score = 1
  AND ( column_profile.column_info_type.info_type.name>""
    OR ARRAY_LENGTH(column_profile.other_matches)>0 )

Si quieres obtener información para corregir estos hallazgos, consulta Estrategias recomendadas para mitigar el riesgo de datos.

Para obtener más información sobre las métricas Puntuación de texto libre y Otros Infotipos, consulta Perfiles de datos de columna.

Enumera todas las tablas que contienen una columna de números de tarjetas de crédito

SELECT
  column_profile.table_full_resource,
  column_profile.profile_last_generated
FROM
  `TABLE_OR_VIEW`
WHERE
  column_profile.column_info_type.info_type.name="CREDIT_CARD_NUMBER"

CREDIT_CARD_NUMBER es un infoType integrado que representa un número de tarjeta de crédito.

Si quieres obtener información para corregir estos hallazgos, consulta Estrategias recomendadas para mitigar el riesgo de datos.

Lista de perfiles de tablas que contienen columnas de números de tarjetas de crédito, números de seguridad social de EE.UU. y nombres de personas

SELECT
  table_full_resource,
  COUNT(*) AS count_findings
FROM (
  SELECT
    DISTINCT column_profile.table_full_resource,
    column_profile.column_info_type.info_type.name
  FROM
    `TABLE_OR_VIEW`
  WHERE
    column_profile.column_info_type.info_type.name IN ('PERSON_NAME',
      'CREDIT_CARD_NUMBER',
      'US_SOCIAL_SECURITY_NUMBER')
  ORDER BY
    column_profile.table_full_resource ) ot1
GROUP BY
  table_full_resource
  #increase this number to match the total distinct infoTypes that must be present
HAVING
  count_findings>=3

Esta consulta usa los siguientes infotipos integrados:

  • CREDIT_CARD_NUMBER: Representa un número de tarjeta de crédito.
  • PERSON_NAME: Representa el nombre completo de una persona.
  • US_SOCIAL_SECURITY_NUMBER representa un número de seguridad social de EE.UU.

Si quieres obtener información para corregir estos hallazgos, consulta Estrategias recomendadas para mitigar el riesgo de datos.

Muestra una lista de los buckets en los que la puntuación de sensibilidad es SENSITIVITY_HIGH.

SELECT file_store_profile.file_store_path, file_store_profile.resource_visibility, file_store_profile.sensitivity_score
FROM `TABLE_OR_VIEW`
WHERE file_store_profile.sensitivity_score.score ='SENSITIVITY_HIGH'
;

Para obtener más información, consulta Perfiles de datos del almacén de archivos.

Muestra una lista de todas las rutas de acceso de bucket, los clústeres y las extensiones de archivo analizados en los que la puntuación de sensibilidad es SENSITIVITY_HIGH.

SELECT file_store_profile.file_store_path, summaries.file_cluster_type.cluster, STRING_AGG(scanned_file_extensions.file_extension) AS scanned_extensions, file_store_profile.profile_last_generated.timestamp
FROM `TABLE_OR_VIEW`
LEFT JOIN UNNEST(file_store_profile.file_cluster_summaries) as summaries
LEFT JOIN UNNEST(summaries.file_store_info_type_summaries) as info_types
LEFT JOIN UNNEST(summaries.file_extensions_scanned) as scanned_file_extensions
WHERE file_store_profile.data_source_type.data_source = 'google/storage/bucket'
AND summaries.sensitivity_score.score ='SENSITIVITY_HIGH'
GROUP BY 1, 2, 4
;

Para obtener más información, consulta Perfiles de datos del almacén de archivos.

Muestra una lista de todas las rutas de acceso de bucket, los clústeres y las extensiones de archivo analizados en los que se detectaron números de tarjetas de crédito.

SELECT file_store_profile.file_store_path, summaries.file_cluster_type.cluster, STRING_AGG(scanned_file_extensions.file_extension) AS scanned_extensions
FROM `TABLE_OR_VIEW`
LEFT JOIN UNNEST(file_store_profile.file_cluster_summaries) as summaries
LEFT JOIN UNNEST(summaries.file_store_info_type_summaries) as info_types
LEFT JOIN UNNEST(summaries.file_extensions_scanned) as scanned_file_extensions
WHERE file_store_profile.data_source_type.data_source = 'google/storage/bucket'
AND info_types.info_type.name='CREDIT_CARD_NUMBER'
GROUP BY 1, 2
;

CREDIT_CARD_NUMBER es un infoType integrado que representa un número de tarjeta de crédito.

Para obtener más información, consulta Perfiles de datos del almacén de archivos.

Muestra una lista de todas las rutas de acceso de bucket, los clústeres y las extensiones de archivo analizados en los que se detectó un número de tarjeta de crédito, un nombre de persona o un número de seguridad social de EE.UU.

SELECT file_store_profile.file_store_path, summaries.file_cluster_type.cluster, STRING_AGG(scanned_file_extensions.file_extension) AS scanned_extensions
FROM `TABLE_OR_VIEW`
LEFT JOIN UNNEST(file_store_profile.file_cluster_summaries) as summaries
LEFT JOIN UNNEST(summaries.file_store_info_type_summaries) as info_types
LEFT JOIN UNNEST(summaries.file_extensions_scanned) as scanned_file_extensions
WHERE file_store_profile.data_source_type.data_source = 'google/storage/bucket'
AND info_types.info_type.name IN ('CREDIT_CARD_NUMBER', 'PERSON_NAME', 'US_SOCIAL_SECURITY_NUMBER')
GROUP BY 1, 2
;

Esta consulta usa los siguientes infotipos integrados:

  • CREDIT_CARD_NUMBER: Representa un número de tarjeta de crédito.
  • PERSON_NAME: Representa el nombre completo de una persona.
  • US_SOCIAL_SECURITY_NUMBER representa un número de seguridad social de EE.UU.

Para obtener más información, consulta Perfiles de datos del almacén de archivos.

Cómo trabajar con perfiles de datos en Looker Studio

Para visualizar tus perfiles de datos en Looker Studio, puedes usar un informe prediseñado o crear el tuyo.

Usa un informe precompilado

La protección de datos sensibles proporciona un informe prediseñado de Looker Studio que destaca las estadísticas valiosas de los perfiles de datos. El panel de Protección de datos sensibles es un informe de varias páginas que te brinda una vista rápida de alto nivel de tus perfiles de datos, incluidos desgloses por riesgo, por Infotipo y por ubicación. Explora las otras pestañas para ver las vistas por región geográfica y riesgo de postura, o desglosar métricas específicas. Puedes usar este informe prediseñado tal como está o personalizarlo según sea necesario. Esta es la versión recomendada del informe precompilado.

Para ver el informe precompilado con tus datos, ingresa los valores obligatorios en la siguiente URL. Luego, copia la URL resultante en tu navegador.

https://lookerstudio.google.com/c/u/0/reporting/create?c.reportId=c9826374-e016-4c96-a495-7281328375c6&ds.connector=BIG_QUERY&ds.projectId=PROJECT_ID&ds.datasetId=DATASET_ID&ds.tableId=TABLE_OR_VIEW&ds.type=TABLE&ds.useFreshSchema=false

Reemplaza lo siguiente:

  • PROJECT_ID: Es el proyecto que contiene la tabla de resultados.
  • DATASET_ID: Es el conjunto de datos que contiene la tabla de salida.
  • TABLE_OR_VIEW: cualquiera de las siguientes opciones:

    • Es el nombre de la tabla de salida, que es la tabla que contiene los perfiles de datos exportados, por ejemplo, myproject.mydataset.table-profile.
    • Es el nombre de la vista latest de la tabla de salida, por ejemplo, myproject.mydataset.table-profile_latest_v1.

    Para obtener más información, consulta Elige entre la tabla de resultados y la vista latest en esta página.

Looker Studio puede tardar unos minutos en cargar el informe con tus datos. Si encuentras errores o si el informe no se carga, consulta Cómo solucionar problemas con el informe precompilado en esta página.

En el siguiente ejemplo, el panel muestra que los datos de baja y alta sensibilidad están presentes en varios países de todo el mundo.

Informe prediseñado

Versión anterior del informe prediseñado

La primera versión del informe precompilado aún está disponible en la siguiente dirección:

https://lookerstudio.google.com/c/u/0/reporting/create?c.reportId=907a2b73-ffe4-40b2-b9a1-c2aa0bbd69fd&ds.connector=BIG_QUERY&ds.projectId=PROJECT_ID&ds.datasetId=DATASET_ID&ds.tableId=TABLE_OR_VIEW&ds.type=TABLE&ds.useFreshSchema=false

Crea un informe

Looker Studio te permite crear informes interactivos. En esta sección, crearás un informe de tabla simple en Looker Studio que se basa en los perfiles de datos exportados a tu tabla de resultados en BigQuery.

Asegúrate de tener el ID del proyecto, el ID del conjunto de datos y el ID de la tabla de salida o la vista latest a mano. Necesitas que realice este procedimiento.

En este ejemplo, se muestra cómo crear un informe que contiene una tabla que muestra cada infoType informado en tus perfiles de datos y su frecuencia correspondiente.

En general, se generan costos de uso de BigQuery cuando accedes a BigQuery a través de Looker Studio. Para obtener más información, consulta Visualiza datos de BigQuery con Looker Studio.

Para crear un informe, haz lo siguiente:

  1. Abre Looker Studio y accede.
  2. Haga clic en Blank Report.
  3. En la pestaña Conectar a datos, haz clic en la tarjeta BigQuery.
  4. Si se te solicita, autoriza a Looker Studio a acceder a tus proyectos de BigQuery.
  5. Conectarse a tus datos de BigQuery:

    1. En Proyecto, selecciona el proyecto que contiene la tabla de resultados. Puedes buscar el proyecto en las pestañas Proyectos recientes, Mis proyectos y Proyectos compartidos.
    2. En Conjunto de datos, selecciona el conjunto de datos que contiene la tabla de resultados.
    3. En Tabla, selecciona la tabla de resultados o la vista latest de la tabla de resultados.

      Para obtener más información, consulta Elige entre la tabla de resultados y la vista latest en esta página.

    4. Haz clic en Agregar.

    5. En el cuadro de diálogo que aparece, haz clic en Agregar al informe.

  6. Para agregar una tabla que muestre cada Infotipo informado y su frecuencia correspondiente (registro de recuento), sigue estos pasos:

    1. Haga clic en Agregar un gráfico.
    2. Selecciona un estilo de tabla.
    3. Haz clic en el área en la que deseas posicionar el gráfico.

      El gráfico aparecerá en formato de tabla.

    4. Cambia el tamaño de la tabla según sea necesario.

      Mientras la tabla esté seleccionada, sus propiedades aparecerán en el panel Chart.

    5. En el panel Gráfico, en la pestaña Configuración, quita las dimensiones y métricas preseleccionadas.

    6. En Dimensión, agrega column_profile.column_info_type.info_type.name o file_store_profile.file_cluster_summaries.file_store_info_type_summaries.info_type.name.

      Estos ejemplos proporcionan datos a nivel de la columna y del clúster de archivos. También puedes probar otras dimensiones. Por ejemplo, puedes usar dimensiones a nivel de la tabla y a nivel del bucket.

    7. En Métrica, agrega Cantidad de registros.

    La tabla resultante se ve de la siguiente manera:

    Una tabla que muestra los infoTypes detectados y sus recuentos de registros correspondientes

Obtén más información sobre las tablas en Looker Studio.

Cómo solucionar problemas con el informe precompilado

Si ves errores, controles faltantes o gráficos faltantes cuando cargas el informe precompilado, asegúrate de que este use los campos más recientes:

  • Si tu informe precompilado está conectado a la tabla de resultados, confirma que esta tabla esté adjunta a una configuración de análisis de descubrimiento activo. Para ver la configuración de tus configuraciones de análisis, consulta Cómo ver una configuración de análisis.

  • Si tu informe precompilado está conectado a la vista latest, confirma que esta vista aún esté presente en BigQuery. Si está presente, intenta hacer un cambio en la vista. Como alternativa, crea una copia de la vista y conecta el informe precompilado a esa copia. Para obtener más información sobre la vista latest, consulta La vista latest en esta página.

Si el error persiste después de probar estos pasos, comunícate con Atención al cliente de Cloud.

¿Qué sigue?

Obtén información sobre las acciones que puedes realizar para corregir los resultados del perfil de datos.