如果您配置了敏感数据发现服务,以将所有成功生成的数据剖析文件发送到 BigQuery,则可以查询这些数据剖析文件,以便深入了解您的数据。您还可以使用 Looker 数据洞察等可视化工具,根据自己的业务需求构建自定义报告。或者,您也可以使用敏感数据保护功能提供的预制报告,根据需要对其进行调整和共享。
本页提供了一些 SQL 查询示例,可供您详细了解数据配置文件。还介绍了如何在 Looker 数据洞察中直观呈现数据分析文件。
如需详细了解数据分析文件,请参阅数据分析文件。
准备工作
本页面假定您已在组织、文件夹或项目级别配置了性能分析。在发现扫描配置中,请务必点击将数据剖析文件副本保存到 BigQuery 切换开关,以启用数据剖析文件导出功能。如需详细了解如何创建发现扫描配置,请参阅创建扫描配置。
在本文档中,包含导出的数据配置文件的表称为输出表。
确保您随时可以提供输出表的项目 ID、数据集 ID 和表 ID。您需要它们来执行本页中的操作。
latest
视图
当敏感数据保护功能将数据配置文件导出到输出表时,它还会创建 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'
;
如需了解详情,请参阅 Filestore 数据配置文件。
列出敏感度得分为 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
;
如需了解详情,请参阅 Filestore 数据配置文件。
列出系统在扫描过程中检测到信用卡号的所有存储桶路径、集群和文件扩展名
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,表示信用卡号。
如需了解详情,请参阅 Filestore 数据配置文件。
列出扫描到的所有存储桶路径、集群和文件扩展名,其中检测到信用卡号、人名或美国社会保障号
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
代表美国社会保障号
如需了解详情,请参阅 Filestore 数据配置文件。
在 Looker Studio 中使用数据剖析文件
如需在 Looker 数据洞察中直观呈现数据分析文件的内容,您可以使用预制报告,也可以自行创建报告。
使用预先创建的报告
Sensitive Data Protection 提供了一个预先创建的 Looker Studio 报告,该报告突出显示了数据分析文件的丰富数据洞见。敏感数据保护信息中心是一个包含多页的报告,可让您快速大致了解数据剖析文件,包括按风险、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 数据洞察,您可以创建交互式报告。在本部分中,您将在 Looker Studio 中创建一个基于导出到 BigQuery 输出表中的数据分析文件的简单表格报告。
确保您已准备好输出表或 latest
视图的项目 ID、数据集 ID 和表 ID。您需要他们执行此过程。
此示例展示了如何创建一个报告,其中包含一个表格,该表格会显示数据分析中报告的每个 infoType 及其对应的频率。
一般来说,通过 Looker 数据洞察访问 BigQuery 时会产生 BigQuery 使用费。如需了解详情,请参阅使用 Looker 数据洞察直观呈现 BigQuery 数据。
如需创建报告,请执行以下操作:
- 打开 Looker Studio 并登录。
- 点击空白报告。
- 在连接到数据标签页上,点击 BigQuery 卡。
- 如果出现提示,请授权 Looker Studio 访问您的 BigQuery 项目。
连接到您的 BigQuery 数据:
- 对于 Project,选择包含输出表的项目。您可以在近期项目、我的项目和共享的项目标签页中搜索项目。
- 在 Dataset 部分,选择包含输出表的数据集。
对于表格,选择输出表或输出表的
latest
视图。如需了解详情,请参阅本页面上的在输出表格和
latest
视图之间进行选择。点击添加。
在随即显示的对话框中,点击添加到报告。
如需添加一个表格来显示报告的每个 infoType 及其相应的频率(记录数),请按以下步骤操作:
- 点击添加图表。
- 选择表格样式。
点击要放置图表的区域。
图表以表格格式显示。
根据需要调整表格的大小。
只要表格处于选中状态,其属性就会显示在图表窗格中。
在图表窗格的设置标签页中,移除所有预选的维度和指标。
对于维度,请添加
column_profile.column_info_type.info_type.name
或file_store_profile.file_cluster_summaries.file_store_info_type_summaries.info_type.name
。这些示例提供了列级和文件集群级的数据。您也可以尝试其他维度。例如,您可以使用表级维度和存储桶级维度。
对于指标,添加记录数。
生成的表如下所示:
详细了解 Looker Studio 中的表。
使用预先创建的报告排查错误
如果您在加载预制报告时看到任何错误、控件缺失或图表缺失,请确保预制报告使用的是最新字段:
如果预先创建的报告已连接到输出表,请确认此表已附加到有效的发现扫描配置。如需查看扫描配置的设置,请参阅查看扫描配置。
如果预先创建的报告已连接到
latest
视图,请确认此视图是否仍存在于 BigQuery 中。如果存在,请尝试更改视图。或者,复制该视图,然后将预先创建的报告连接到该副本。如需详细了解latest
视图,请参阅本页面上的latest
视图。
如果您在尝试这些步骤后仍看到错误,请与 Cloud 客户服务联系。
后续步骤
了解您可以采取哪些措施来修复数据性能分析器中的发现结果。