分析存储在 BigQuery 中的数据分析文件

如果您配置了敏感数据发现服务,使其将所有成功生成的数据剖析文件发送到 BigQuery,则可以查询这些数据剖析文件,以深入了解您的数据。您还可以使用 Looker 数据洞察等可视化工具来构建符合您业务需求的自定义报告。或者,您也可以使用 Sensitive Data Protection 提供的预制报告,根据需要对其进行调整并分享。

本页面提供了一些示例 SQL 查询,可用于详细了解数据配置文件。本文还介绍了如何在 Looker Studio 中直观呈现数据分析文件。

如需详细了解数据剖析文件,请参阅数据剖析文件

准备工作

本页面假设您已在组织、文件夹或项目级配置了分析。在探索性扫描配置中,确保已启用将数据剖析文件副本保存到 BigQuery 操作。如需详细了解如何创建发现扫描配置,请参阅创建扫描配置

在本文档中,包含导出数据配置的表称为输出表

确保您已准备好输出表的项目 ID、数据集 ID 和表 ID。您需要它们来执行本页面上的过程。

latest 视图

当 Sensitive Data Protection 将数据分析结果导出到输出表时,还会创建 latest 视图。此视图是一个预过滤的虚拟表,仅包含数据配置文件的最新快照。latest 视图与输出表具有相同的架构,因此您可以在 SQL 查询和 Looker Studio 报告中交替使用这两个视图。结果可能会有所不同,因为输出表包含较旧的数据剖析快照。

latest 视图与输出表存储在同一位置。其名称的格式如下:

OUTPUT_TABLE_latest_VERSION

替换以下内容:

  • OUTPUT_TABLE:包含导出的数据分析的表的 ID。
  • VERSION:视图的版本号。

例如,如果输出表的名称为 table-profile,则 latest 视图的名称类似于 table-profile_latest_v1

最新视图

在 SQL 查询中使用 latest 视图时,请使用该视图的全名,其中包含项目 ID、数据集 ID、表 ID 和后缀,例如 myproject.mydataset.table-profile_latest_v1

PROJECT_ID.DATASET_ID.OUTPUT_TABLE_latest_VERSION

选择输出表和 latest 视图

latest 视图仅包含最新的数据剖析快照,而输出表包含所有数据剖析快照,包括过时的快照。例如,对输出表的查询可以返回同一列的多个列数据分析,每次分析该列时都会返回一个。

在 SQL 查询或 Looker Studio 报告中选择使用输出表还是 latest 视图时,请考虑以下因素:

  • 如果您有已重新分析的数据资产,并且只想查看最新的分析结果,而不希望查看之前的版本,那么 latest 视图会非常有用。也就是说,您希望查看已分析数据的当前状态。

  • 如果您想查看分析数据的历史记录,输出表会非常有用。例如,您想确定组织是否曾存储过特定 infoType,或者想查看特定数据剖析文件经历的更改。

示例 SQL 查询

本部分提供了一些示例查询,您可以在分析数据配置文件时使用这些查询。如需运行这些查询,请参阅运行交互式查询

在以下示例中,将 TABLE_OR_VIEW 替换为以下任一内容:

  • 输出表的名称,即包含导出的数据剖析的表,例如 myproject.mydataset.table-profile
  • 输出表的 latest 视图的名称,例如 myproject.mydataset.table-profile_latest_v1

无论采用哪种方式,您都必须添加项目 ID 和数据集 ID。

如需了解详情,请参阅此页面上的选择输出表和 latest 视图

如需排查遇到的任何错误,请参阅错误消息

列出所有自由文本得分较高且有其他 infoType 匹配证据的列

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 )

如需了解如何修正这些发现,请参阅降低数据风险的建议策略

如需详细了解自由文本得分其他 infoType 指标,请参阅列数据剖析文件

列出包含信用卡号列的所有表

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 是一种表示信用卡号的内置 infoType

如需了解如何修正这些发现,请参阅降低数据风险的建议策略

列出包含信用卡号、美国社会保障号和人名的表配置文件

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

此查询使用以下内置 infoType

  • CREDIT_CARD_NUMBER:表示信用卡号
  • PERSON_NAME:表示人员的全名
  • US_SOCIAL_SECURITY_NUMBER 表示美国社会保障号

如需了解如何修正这些发现,请参阅降低数据风险的建议策略

列出敏感度得分为 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'
;

如需了解详情,请参阅文件存储区数据配置文件

列出所有扫描到的存储桶路径、集群和文件扩展名,其中敏感度得分为 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
;

如需了解详情,请参阅文件存储区数据配置文件

列出检测到信用卡号的所有扫描过的存储桶路径、集群和文件扩展名

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 是一种表示信用卡号的内置 infoType

如需了解详情,请参阅文件存储区数据配置文件

列出检测到信用卡号、人名或美国社会保障号的所有扫描过的存储桶路径、集群和文件扩展名

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
;

此查询使用以下内置 infoType

  • CREDIT_CARD_NUMBER:表示信用卡号
  • PERSON_NAME:表示人员的全名
  • US_SOCIAL_SECURITY_NUMBER 表示美国社会保障号

如需了解详情,请参阅文件存储区数据配置文件

在 Looker Studio 中使用数据剖析文件

如需在 Looker Studio 中直观呈现数据分析文件,您可以使用预制报告,也可以自行创建报告

使用预制报告

Sensitive Data Protection 提供了一个预制的 Looker Studio 报告,其中突出显示了数据分析的丰富数据洞见。Sensitive Data Protection 信息中心是一个多页报告,可让您快速大致了解数据剖析文件,包括按风险、按 infoType 和按位置细分的数据。探索其他标签页,查看按地理区域和姿势风险划分的视图,或深入了解具体指标。您可以直接使用此预建报告,也可以根据需要对其进行自定义。这是预建报告的推荐版本。

如需查看包含您的数据的预建报告,请在以下网址中输入所需的值。然后,将生成的网址复制到浏览器中。

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

替换以下内容:

  • PROJECT_ID:包含输出表的项目。
  • DATASET_ID:包含输出表的数据集。
  • TABLE_OR_VIEW:以下任一值:

    • 输出表的名称,即包含导出的数据剖析的表,例如 myproject.mydataset.table-profile
    • 输出表的 latest 视图的名称,例如 myproject.mydataset.table-profile_latest_v1

    如需了解详情,请参阅本页面上的选择输出表和 latest 视图

Looker Studio 可能需要几分钟时间才能加载包含您数据的报告。如果您遇到错误或报告未加载,请参阅本页中的排查预建报告的错误

在以下示例中,信息中心显示,低敏感度和高敏感度数据分布在全球多个国家/地区。

预制报告

预制报告的早期版本

预建报告的第一个版本仍可在以下地址中找到:

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

创建报告

利用 Looker Studio,您可以创建交互式报告。在本部分中,您将在 Looker Studio 中创建一个简单的表格报告,它基于导出到 BigQuery 中输出表的数据分析结果。

确保您已准备好输出表或latest 视图的项目 ID、数据集 ID 和表 ID。您需要这些权限才能执行此程序。

此示例展示了如何创建包含表格的报告,该表格显示了数据剖析中报告的每个 infoType 及其对应的频次。

一般来说,通过 Looker 数据洞察访问 BigQuery 时会产生 BigQuery 使用费。如需了解详情,请参阅使用 Looker 数据洞察直观呈现 BigQuery 数据

如需创建报告,请执行以下操作:

  1. 打开 Looker Studio 并登录。
  2. 点击空白报告
  3. 连接到数据标签页上,点击 BigQuery 卡。
  4. 如果出现提示,请授权 Looker Studio 访问您的 BigQuery 项目。
  5. 连接到 BigQuery 数据:

    1. 项目部分,选择包含输出表的项目。您可以在最近的项目我的项目共享的项目标签页中搜索项目。
    2. 数据集部分,选择包含输出表的数据集。
    3. 对于,请选择输出表或输出表的 latest 视图

      如需了解详情,请参阅本页上的选择输出表和 latest 视图

    4. 点击添加

    5. 在随即显示的对话框中,点击添加到报告

  6. 如需添加一个表格,其中显示了报告的每种 infoType 及其对应的频次(记录数),请按以下步骤操作:

    1. 点击添加图表
    2. 选择表格样式。
    3. 点击要放置图表的区域。

      图表以表格格式显示。

    4. 根据需要调整表格大小。

      只要选中表格,其属性就会显示在图表窗格中。

    5. 图表窗格的设置标签页中,移除所有预先选择的维度和指标。

    6. 对于维度,请添加 column_profile.column_info_type.info_type.namefile_store_profile.file_cluster_summaries.file_store_info_type_summaries.info_type.name

      这些示例提供列级和文件集群级的数据。您也可以尝试其他维度。例如,您可以使用表级和存储桶级维度。

    7. 对于指标,添加记录数

    生成的表格如下所示:

    一个表格,显示了检测到的 infoType 及其对应的记录数

详细了解 Looker Studio 中的表格

排查预建报告中的错误

如果您在加载预建报告时看到任何错误、缺少控件或缺少图表,请确保预建报告使用的是最新字段:

  • 如果预建报告已连接到输出表,请确认此表已附加到有效的发现扫描配置。如需查看扫描配置的设置,请参阅查看扫描配置

  • 如果预建报告已关联到 latest 视图,请确认该视图是否仍然存在于 BigQuery 中。如果存在,请尝试更改视图。或者,复制该视图,然后将预建报告连接到该副本。如需详细了解 latest 视图,请参阅本页面上的latest 视图

如果您在尝试上述步骤后仍看到错误,请与 Cloud 客户服务团队联系。

后续步骤

了解您可以采取哪些措施来修复数据性能分析器中的发现结果。