本文档介绍了如何检查 BigQuery 表中是否存在敏感数据,以及如何将检查结果发送到 Knowledge Catalog。此操作会自动向与 BigQuery 表关联的 Knowledge Catalog 条目添加一个切面。
本文档还提供了一些示例查询,您可以使用这些查询在组织和项目中查找具有特定方面值的数据。
如果您想通过 Sensitive Data Protection 检查作业中的敏感数据分类来丰富 Knowledge Catalog 中的元数据,此功能非常有用。
生成的方面包括以下详细信息:
- 检查作业的名称
- 在表格中检测到的信息类型 (infoType)infoTypes
Knowledge Catalog 简介
Knowledge Catalog 提供 Google Cloud 资源的统一清单。
借助 Knowledge Catalog,您可以使用切面向数据添加业务和技术元数据,以捕获有关资源的上下文和知识。然后,您可以在组织内搜索和发现数据,并对数据资产启用数据治理。如需了解详情,请参阅切面。
工作原理
如需根据检查作业结果自动创建 Knowledge Catalog 方面,请按照以下高级别工作流程操作:
创建或修改用于检查 BigQuery 表的检查作业。 如需查看相关说明,请参阅检查 BigQuery 表。
在添加操作步骤中,启用发布到 Dataplex Universal Catalog。
Sensitive Data Protection 会添加或更新与 BigQuery 表关联的 Knowledge Catalog 条目的 Sensitive Data Protection job result 切面。然后,您可以在 Knowledge Catalog 中搜索组织或项目内具有特定方面值的所有数据。如需查看示例查询,请参阅本文档中的示例搜索查询。
生成的 Knowledge Catalog 方面与 BigQuery 表存储在同一项目和区域中。
坡向字段
Sensitive Data Protection job result 方面具有以下字段:
- 作业名称
- 检查作业的完整资源名称,例如
projects/example-project/locations/us/dlpJobs/i-8992079400000000000。 - InfoType 数量
- 检查作业搜索的 infoType 名称(如检查配置中所指定)以及每个 infoType 的发现结果数量。
如果某个 infoType 没有发现任何结果,则其数量为
0。 - 结束时间
- 检查作业结束的日期和时间。
- 是否为全面扫描
- 检查作业是否扫描了表中的所有行。如果检查作业中启用了抽样,则此字段的值为
False。 - 有发现结果
- 检查作业是否检测到任何它扫描的 infoType。
启用 Dataplex API
您必须在包含要添加方面的数据的每个项目中启用 Dataplex API。本部分介绍了如何在单个项目中或在组织或文件夹中的所有项目中启用 Dataplex API。
在单个项目中启用 Dataplex API
选择要在其中启用 Dataplex API 的项目。
-
启用 Dataplex API。
启用 API 所需的角色
如需启用 API,您需要拥有 Service Usage Admin IAM 角色 (
roles/serviceusage.serviceUsageAdmin),该角色包含serviceusage.services.enable权限。了解如何授予角色。
在组织或文件夹中的所有项目中启用 Dataplex API
此部分提供了一个脚本,用于搜索组织或文件夹中的所有项目,并在每个项目中启用 Dataplex API。
如需获得在组织或文件夹中的所有项目中启用 Dataplex API 所需的权限,请让管理员向您授予以下 IAM 角色:
- 组织或文件夹的 Cloud Asset Viewer (
roles/cloudasset.viewer) - 针对您要在其中启用 Dataplex API 的每个项目的 DLP User (
roles/dlp.user)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含在组织或文件夹中的所有项目中启用 Dataplex API 所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需在组织或文件夹中的所有项目中启用 Dataplex API,您必须拥有以下权限:
-
如需搜索组织或文件夹中的所有项目,请执行以下操作:
点击组织或文件夹中的
cloudasset.assets.searchAllResources -
如需启用 Dataplex API,请在您要启用 Dataplex API 的每个项目中执行以下操作:
serviceusage.services.use
如需在组织或文件夹中的所有项目中启用 Dataplex API,请按以下步骤操作:
-
在 Google Cloud 控制台中,激活 Cloud Shell。
Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。
运行以下脚本:
#!/bin/bash RESOURCE_ID="RESOURCE_ID" gcloud asset search-all-resources \ --scope="RESOURCE_TYPE/$RESOURCE_ID" \ --asset-types="cloudresourcemanager.googleapis.com/Project" \ --format="value(name)" | while read project_name; do project_id=$(echo "$project_name" | sed 's|.*/||') gcloud services enable "dataplex.googleapis.com" --project="$project_id" done替换以下内容:
RESOURCE_ID:包含项目的资源的组织编号或文件夹编号RESOURCE_TYPE:包含项目的资源类型 -organizations或folders
查看方面所需的角色和权限
如需获得搜索与 BigQuery 表相关联的方面所需的权限,请让管理员为您授予该表的以下 IAM 角色:
- Dataplex Catalog Viewer (
roles/dataplex.catalogViewer) - BigQuery Data Viewer (
roles/bigquery.dataViewer)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含搜索与 BigQuery 表相关联的方面所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需搜索与 BigQuery 表相关联的方面,您需要拥有以下权限:
-
查看 Knowledge Catalog 条目:
-
dataplex.entries.list -
dataplex.entries.get
-
-
查看 BigQuery 数据集和表:
-
bigquery.datasets.get -
bigquery.tables.get
-
如需详细了解使用 Knowledge Catalog 所需的权限,请参阅 Knowledge Catalog IAM 权限。
配置并运行 Sensitive Data Protection 检查作业
您可以使用 Google Cloud 控制台或 DLP API 配置并运行 Sensitive Data Protection 检查作业。
控制台
-
在 Google Cloud 控制台中,前往创建作业或作业触发器页面。
- 选择您的项目。
- 输入所需的检查作业详细信息以及要检查的 BigQuery 表的详细信息。如需查看相关说明,请参阅检查 BigQuery 表。如需查看 Sensitive Data Protection 可以检查的信息类型的完整列表,请参阅 InfoType 检测器参考文档。
- 对于添加操作,请启用发布到 Dataplex Universal Catalog。
- 点击创建。作业会立即运行。
REST
以下示例发送 projects.locations.dlpJobs.create 请求,以检查 BigQuery 表并将结果发送到 Knowledge Catalog。
在使用任何请求数据之前,请先进行以下替换:
-
PROJECT_ID:您的 Google Cloud 项目 ID。 项目 ID 是字母数字字符串 -
LOCATION:您希望处理请求的单区域或多区域,例如europe-west1或us。如需查看可用位置,请参阅 Sensitive Data Protection 位置。 -
BIGQUERY_DATASET_NAME:包含要检查的表的 BigQuery 数据集的名称 -
BIGQUERY_TABLE_NAME:要检查的 BigQuery 表的名称
HTTP 方法和网址:
POST https://dlp.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION/dlpJobs
请求 JSON 正文:
{
"inspectJob":
{
"storageConfig":
{
"bigQueryOptions":
{
"tableReference":
{
"projectId": "PROJECT_ID",
"datasetId": "BIGQUERY_DATASET_NAME",
"tableId": "BIGQUERY_TABLE_NAME"
}
}
},
"inspectConfig":
{
"infoTypes":
[
{
"name": "EMAIL_ADDRESS"
},
{
"name": "PERSON_NAME"
},
{
"name": "US_SOCIAL_SECURITY_NUMBER"
},
{
"name": "PHONE_NUMBER"
}
],
"includeQuote": true,
"minLikelihood": "UNLIKELY",
"limits":
{
"maxFindingsPerRequest": 100
}
},
"actions":
[
{
"publishFindingsToDataplexCatalog": {}
}
]
}
}
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{
"name": "projects/PROJECT_ID/locations/LOCATION/dlpJobs/JOB_ID",
"type": "INSPECT_JOB",
"state": "PENDING",
"inspectDetails": {
"requestedOptions": {
"snapshotInspectTemplate": {},
"jobConfig": {
"storageConfig": {
"bigQueryOptions": {
"tableReference": {
"projectId": "PROJECT_ID",
"datasetId": "BIGQUERY_DATASET_NAME",
"tableId": "BIGQUERY_TABLE_NAME"
}
}
},
"inspectConfig": {
"infoTypes": [
{
"name": "EMAIL_ADDRESS"
},
{
"name": "PERSON_NAME"
},
{
"name": "US_SOCIAL_SECURITY_NUMBER"
},
{
"name": "PHONE_NUMBER"
}
],
"minLikelihood": "UNLIKELY",
"limits": {
"maxFindingsPerRequest": 100
},
"includeQuote": true
},
"actions": [
{
"publishFindingsToDataplexCatalog": {}
}
]
}
},
"result": {}
},
"createTime": "2025-09-09T00:29:55.951374Z",
"lastModified": "2025-09-09T00:29:58.022967Z"
}
如需了解如何使用 DLP API 获取检查作业结果,请参阅获取作业。
搜索查询示例
本部分提供了一些示例搜索查询,您可以在 Knowledge Catalog 中使用这些查询来查找组织或项目中具有特定方面值的数据。
您只能找到自己有权访问的数据。数据访问权限通过 IAM 权限控制。如需了解详情,请参阅本文档中的查看切面的角色和权限。
您可以在 Knowledge Catalog 搜索页面上的搜索字段中输入这些示例查询。
如需了解如何构建查询,请参阅 Knowledge Catalog 的搜索语法。
查找具有 Sensitive Data Protection 作业结果方面特征的所有表的条目
aspect:sensitive-data-protection-job-result
查找检查过的表中存在发现结果的条目
aspect:sensitive-data-protection-job-result.hasFindings=True
查找检查过的表中没有发现结果的条目
aspect:sensitive-data-protection-job-result.hasFindings=False
查找已完全检查的表的条目
以下查询返回了 Sensitive Data Protection 逐行检查的表的条目。
aspect:sensitive-data-protection-job-result.isFullScan=True
查找未完全检查的表的条目
以下查询返回 Sensitive Data Protection 通过抽样检查的表的条目。
aspect:sensitive-data-protection-job-result.isFullScan=False
迁移到“发布到 Dataplex Universal Catalog”操作
如需迁移配置为使用已弃用的 Publish to Data Catalog 操作的作业触发器,请按以下步骤操作:
- 修改配置为将检查结果发布到 Data Catalog 的作业触发器。如需了解如何打开和修改作业触发器,请参阅更新现有作业触发器。
- 在操作部分中,停用发布到 Data Catalog。
- 启用发布到 Dataplex Universal Catalog。
- 点击保存。