Si configuraste el servicio de descubrimiento de datos sensibles para enviar todos los perfiles de datos generados correctamente a BigQuery, puedes consultarlos para obtener estadísticas sobre tus datos. También puedes usar herramientas de visualización como Data Studio para crear informes personalizados que se adapten a las necesidades de tu empresa. Como alternativa, puedes usar un informe prediseñado que proporciona Sensitive Data Protection, ajustarlo y compartirlo según sea necesario.
En esta página, se proporcionan consultas de SQL de ejemplo que puedes usar para obtener más información sobre tus perfiles de datos. También se muestra cómo puedes visualizar perfiles de datos en Data Studio.
Para obtener más información sobre los perfiles de datos, consulta Descripción general del descubrimiento de datos sensibles.
Antes de comenzar
En esta página, se supone que configuraste la generación de perfiles a nivel de la organización, la carpeta o el proyecto. En la configuración de análisis de descubrimiento, asegúrate de que la acción Guardar copias de perfiles de datos en BigQuery esté habilitada. 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.
La tabla de salida
En este documento, la tabla que contiene los perfiles de datos exportados se denomina tabla de salida.
Asegúrate de tener disponibles 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 salida, también
crea la latest vista. 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 resultados, por lo que puedes usar las dos de forma intercambiable en tus consultas en SQL y los informes de Data Studio. Los resultados pueden diferir porque la tabla de salida 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 salida. Su nombre tiene el siguiente formato:
OUTPUT_TABLE_latest_VERSION
Reemplaza lo siguiente:
- OUTPUT_TABLE: Es el ID de la tabla que contiene los perfiles de datos exportados.
- VERSION: Es el número de versión de la vista.
Por ejemplo, si el nombre de tu tabla de salida es table-profile, la vista latest
tiene un nombre como table-profile_latest_v1.
Cuando uses la vista latest en 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 salida y la vista latest
La vista latest incluye solo las instantáneas más recientes de los perfiles de datos, mientras que la tabla de salida tiene todas las instantáneas de los perfiles de datos, incluidas las que están desactualizadas. Por ejemplo, una consulta en la tabla de salida puede mostrar varios
perfiles de datos de columnas
para la misma columna: uno por cada vez que se generó el perfil de esa columna.
Cuando elijas entre usar la tabla de salida y la vista latest en tus consultas de SQL o informes de Data Studio, ten en cuenta lo siguiente:
La vista
latestes útil si tienes recursos de datos a los que se les volvió a generar el perfil y solo quieres ver los perfiles más recientes, no sus versiones anteriores. Es decir, quieres ver el estado actual de tus datos con perfiles.La tabla de salida es útil si quieres obtener una vista histórica de tus datos con perfiles. Por ejemplo, estás intentando determinar si tu organización alguna vez almacenó un Infotipo en particular o quieres ver los cambios que sufrió un perfil de datos en particular.
Consultas en SQL de muestra
En esta sección, se proporcionan consultas de ejemplo que puedes usar cuando analizas perfiles de datos. Para ejecutar estas consultas, consulta Ejecuta consultas interactivas.
En los siguientes ejemplos, reemplaza TABLE_OR_VIEW por cualquiera de las siguientes opciones:
- El nombre de la tabla de salida, que es la tabla que contiene los perfiles de datos exportados, por ejemplo,
myproject.mydataset.table-profile. - El nombre de la
latestvista 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 salida y la vista latest en esta
página.
Para solucionar cualquier error que encuentres, consulta Mensajes de error.
Enumera todas las columnas que tienen una puntuación de texto libre alta 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 )
Para obtener información sobre cómo solucionar estos resultados, 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 columnas.
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 Infotipo integrado
que representa un número de tarjeta de crédito.
Para obtener información sobre cómo solucionar estos resultados, consulta Estrategias recomendadas para mitigar el riesgo de datos.
Enumera los 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_NUMBERrepresenta un número de seguridad social de EE.UU.
Para obtener información sobre cómo solucionar estos resultados, consulta Estrategias recomendadas para mitigar el riesgo de datos.
Enumera 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 de almacén de archivos.
Enumera todas las rutas de acceso de bucket, los clústeres y las extensiones de archivos 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 de almacén de archivos.
Enumera todas las rutas de acceso de bucket, los clústeres y las extensiones de archivos 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 Infotipo integrado
que representa un número de tarjeta de crédito.
Para obtener más información, consulta Perfiles de datos de almacén de archivos.
Enumera todas las rutas de acceso de bucket, los clústeres y las extensiones de archivos 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_NUMBERrepresenta un número de seguridad social de EE.UU.
Para obtener más información, consulta Perfiles de datos de almacén de archivos.
Crea una vista que muestre resultados de muestra solo de los perfiles de datos más recientes
De forma predeterminada, la vista latest de tu tabla de resultados de muestra incluye los resultados de muestra más recientes detectados para cada recurso de datos. Si se vuelve a generar el perfil de un recurso de datos y el perfil nuevo no tiene resultados, la vista de resultados de muestra latest aún conserva los resultados del perfil anterior.
Para ver resultados de muestra solo del perfil más reciente de cada recurso de datos, de modo que los recursos sin resultados en su perfil reciente no muestren resultados, crea una vista personalizada que una la tabla de resultados de muestra con la vista latest de tu tabla de perfiles de datos.
Consulta de muestra para perfiles de datos de tablas
CREATE OR REPLACE VIEW
`PROJECT_ID.DATASET_ID.VIEW_ID` AS
SELECT
findings_table.*
FROM
`FINDINGS_TABLE_PROJECT_ID.FINDINGS_TABLE_DATASET_ID.FINDINGS_TABLE_ID` AS findings_table
INNER JOIN
`PROFILES_TABLE_PROJECT_ID.PROFILES_TABLE_DATASET_ID.PROFILES_TABLE_ID_latest_v1` AS profiles_table
ON
findings_table.data_profile_resource_name = profiles_table.table_profile.name
AND findings_table.timestamp.timestamp = profiles_table.table_profile.profile_last_generated.timestamp
;
Consulta de muestra para perfiles de datos de almacén de archivos
CREATE OR REPLACE VIEW
`PROJECT_ID.DATASET_ID.VIEW_ID` AS
SELECT
findings_table.*
FROM
`FINDINGS_TABLE_PROJECT_ID.FINDINGS_TABLE_DATASET_ID.FINDINGS_TABLE_ID` AS findings_table
INNER JOIN
`PROFILES_TABLE_PROJECT_ID.PROFILES_TABLE_DATASET_ID.PROFILES_TABLE_ID_latest_v1` AS profiles_table
ON
findings_table.data_profile_resource_name = profiles_table.file_store_profile.name
AND findings_table.timestamp.timestamp = profiles_table.file_store_profile.profile_last_generated.timestamp
;
Trabaja con perfiles de datos en Data Studio
Para visualizar tus perfiles de datos en Data Studio, puedes usar un informe prediseñado o tú puedes crear el tuyo propio.
Usa un informe prediseñado
Sensitive Data Protection proporciona un informe de Data Studio prediseñado que destaca las estadísticas enriquecidas de los perfiles de datos. El Panel de Sensitive Data Protection es un informe de varias páginas que te brinda una vista general rápida de tus perfiles de datos, incluidos los desgloses por riesgo, por Infotipo y por ubicación. Explora las otras pestañas para ver vistas por región geográfica y riesgo de postura, o bien profundiza en 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 prediseñado.
Para ver el informe prediseñado con tus datos, ingresa los valores requeridos 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 salida.
- DATASET_ID: Es el conjunto de datos que contiene la tabla de salida.
TABLE_OR_VIEW: Cualquiera de las siguientes opciones:
- El nombre de la tabla de salida, que es la tabla que contiene los perfiles de datos exportados, por ejemplo,
myproject.mydataset.table-profile. - El nombre de la
latestvista 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 salida y la vista
latesten esta página.- El nombre de la tabla de salida, que es la tabla que contiene los perfiles de datos exportados, por ejemplo,
Data Studio puede tardar unos minutos en cargar el informe con tus datos. Si encuentras errores o si el informe no se carga, consulta Soluciona errores con el informe prediseñado 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.
Versión anterior del informe prediseñado
La primera versión del informe prediseñado 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
Data Studio te permite crear informes interactivos. En esta sección, crearás un informe de tabla simple en Data Studio que se basa en los perfiles de datos exportados a tu tabla de salida en BigQuery.
Asegúrate de tener disponibles el
ID del proyecto, el ID del conjunto de datos y el ID de la tabla de salida o la
latest vista. Los necesitarás para realizar 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 Data Studio. Para obtener más información, consulta Visualiza datos de BigQuery con Data Studio.
Para crear un informe, haz lo siguiente:
- Abre Data Studio y accede.
- Haz clic en Blank Report.
- En la pestaña Conectar a datos, haz clic en la tarjeta BigQuery.
- Si se te solicita, autoriza a Data Studio a acceder a tus proyectos de BigQuery.
Conéctate a tus datos de BigQuery:
- En Proyecto, selecciona el proyecto que contiene la tabla de salida. Puedes buscar el proyecto en las pestañas Proyectos recientes, Mis proyectos, y Proyectos compartidos.
- En Conjunto de datos, selecciona el conjunto de datos que contiene la tabla de salida.
En Tabla, selecciona la tabla de salida o la
latestvista de la tabla de salida.Para obtener más información, consulta Elige entre la tabla de salida y la
latestvista en esta página.Haz clic en Agregar.
En el cuadro de diálogo que aparece, haz clic en Agregar al informe.
Para agregar una tabla que muestre cada Infotipo informado y su frecuencia correspondiente (recuento de registros), sigue estos pasos:
- Haz clic en Agregar un gráfico.
- Selecciona un estilo de tabla.
Haz clic en el área en la que deseas colocar el gráfico.
El gráfico aparece en formato de tabla.
Cambia el tamaño de la tabla según sea necesario.
Mientras la tabla esté seleccionada, sus propiedades aparecerán en el panel Gráfico.
En el panel Gráfico, en la pestaña Configuración, quita las dimensiones y métricas preseleccionadas.
Para Dimensión, agrega
column_profile.column_info_type.info_type.nameofile_store_profile.file_cluster_summaries.file_store_info_type_summaries.info_type.name.En estos ejemplos, se proporcionan datos a nivel de columna y de clúster de archivos. También puedes probar otras dimensiones. Por ejemplo, puedes usar dimensiones a nivel de tabla y de bucket.
Para Métrica, agrega Recuento de registros.
La tabla resultante se ve de la siguiente manera:
Obtén más información sobre las tablas en Data Studio.
Soluciona errores con el informe prediseñado
Si ves errores, controles faltantes o gráficos faltantes cuando cargas el informe prediseñado, asegúrate de que el informe prediseñado use los campos más recientes:
Si tu informe prediseñado está conectado a la tabla de salida, confirma que esta tabla esté adjunta a una configuración de análisis de descubrimiento activa. Para ver la configuración de tus configuraciones de análisis, consulta Visualiza una configuración de análisis.
Si tu informe prediseñado está conectado a la vista
latest, confirma que esta vista aún esté presente en BigQuery. Si está presente, intenta realizar un cambio en la vista. Como alternativa, haz una copia de la vista y conecta el informe prediseñado a esa copia. Para obtener más información sobre la vistalatest, consulta La vistalatesten esta página.
Si sigues viendo errores 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 solucionar los resultados de los perfiles de datos.