本文說明如何檢查 BigQuery 資料表中的私密資料,並將檢查結果傳送至 Dataplex Universal Catalog。這項動作會自動將切面新增至與 BigQuery 資料表相關聯的 Dataplex Universal Catalog 項目。
本文也提供範例查詢,可用於在貴機構和專案中,找出具有特定層面值的資料。
如果您想透過 Sensitive Data Protection 檢查工作,將機密資料分類資訊新增至 Dataplex Universal Catalog 的中繼資料,這項功能就非常實用。
產生的層面包含下列詳細資料:
- 檢查工作名稱
- 系統在資料表中偵測到的資訊類型 (infoTypes)
關於 Dataplex Universal Catalog
Dataplex Universal Catalog 提供整合式 Google Cloud 資源清單。
Dataplex Universal Catalog 可讓您使用切面,將業務和技術中繼資料新增至資料,擷取資源的背景資訊和知識。然後在整個機構中搜尋及探索資料,並對資料資產啟用資料管理功能。詳情請參閱「層面」。
運作方式
如要根據檢查工作結果自動建立 Dataplex Universal Catalog 切面,請按照下列高階工作流程操作:
建立或編輯檢查工作,檢查 BigQuery 資料表。如需操作說明,請參閱「檢查 BigQuery 資料表」。
在「新增動作」步驟中,啟用「發布至 Dataplex Universal Catalog」。
Sensitive Data Protection 會新增或更新與 BigQuery 資料表相關聯的 Dataplex Universal Catalog 項目的 Sensitive Data Protection job result
切面。然後,您可以在 Dataplex Universal Catalog 中,搜尋機構或專案中具有特定切面值的所有資料。如需查詢範例,請參閱本文件中的搜尋查詢範例。
產生的 Dataplex Universal Catalog 構面會儲存在與 BigQuery 資料表相同的專案和區域中。
切面欄位
Sensitive Data Protection job result
方面具有下列欄位:
- 工作名稱
- 檢查工作的完整資源名稱,例如
projects/example-project/locations/us/dlpJobs/i-8992079400000000000
。 - InfoType 計數
- 檢查工作搜尋的 InfoType 名稱 (如檢查設定中所指定),以及每種 InfoType 的發現項目數量。如果 infoType 沒有發現項目,則計數為
0
。 - 結束時間
- 檢查工作的結束日期和時間。
- Is Full Scan
- 檢查工作是否掃描資料表中的所有資料列。舉例來說,如果檢查工作已啟用取樣功能,這個欄位的值就會是
False
。 - 有發現項目
- 檢查工作是否偵測到任何掃描的 infoType。
啟用 Dataplex API
您必須在每個包含要新增層面資料的專案中啟用 Dataplex API。本節說明如何在單一專案中,或在機構或資料夾中的所有專案中啟用 Dataplex API。
在單一專案中啟用 Dataplex API
選取要啟用 Dataplex API 的專案。
-
Enable the Dataplex API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.
在機構或資料夾中的所有專案啟用 Dataplex API
本節提供指令碼,可搜尋機構或資料夾中的所有專案,並在每個專案中啟用 Dataplex API。
如要在機構或資料夾的所有專案中啟用 Dataplex API,請管理員授予下列 IAM 角色:
-
機構或資料夾的「Cloud Asset 檢視者」 (
roles/cloudasset.viewer
) -
DLP 使用者 (
roles/dlp.user
) 在您要啟用 Dataplex API 的每個專案中
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色具備在機構或資料夾的所有專案中啟用 Dataplex API 所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要在機構或資料夾的所有專案中啟用 Dataplex API,您必須具備下列權限:
-
如要搜尋機構或資料夾中的所有專案:
cloudasset.assets.searchAllResources
在機構或資料夾上 -
如要啟用 Dataplex API,請在要啟用 Dataplex API 的每個專案中執行下列操作:
serviceusage.services.use
如要在機構或資料夾中的所有專案啟用 Dataplex API,請按照下列步驟操作:
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
執行下列指令碼:
#!/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
-
Dataplex Catalog 檢視者 (
roles/dataplex.catalogViewer
) -
BigQuery 資料檢視者 (
roles/bigquery.dataViewer
) -
查看 Dataplex Universal Catalog 項目:
-
dataplex.entries.list
-
dataplex.entries.get
-
-
查看 BigQuery 資料集和資料表:
-
bigquery.datasets.get
-
bigquery.tables.get
-
-
前往 Google Cloud 控制台的「Create job or job trigger」(建立工作或工作觸發條件) 頁面。
- 選取專案。
- 輸入必要的檢查工作詳細資料,以及要檢查的 BigQuery 資料表詳細資料。如需操作說明,請參閱「檢查 BigQuery 表格」。如需 Sensitive Data Protection 可檢查的資訊類型完整清單,請參閱 InfoType 偵測工具參考資料。
- 在「新增動作」中,啟用「發布至 Dataplex Universal Catalog」。
- 按一下「Create」(建立)。工作會立即執行。
-
PROJECT_ID
:您的 Google Cloud 專案 ID。專案 ID 為英數字串 -
LOCATION
:要處理要求的區域或多區域,例如europe-west1
或us
。如要查看適用的位置,請參閱「Sensitive Data Protection 位置」。 -
BIGQUERY_DATASET_NAME
:BigQuery 資料集名稱,其中包含要檢查的資料表 -
BIGQUERY_TABLE_NAME
:要檢查的 BigQuery 資料表名稱
查看層面的角色和權限
如要取得搜尋與 BigQuery 資料表相關聯的構面所需的權限,請要求管理員在資料表上授予下列 IAM 角色:
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色具備搜尋與 BigQuery 資料表相關聯層面所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要搜尋與 BigQuery 資料表相關聯的構面,您必須具備下列權限:
如要進一步瞭解使用 Dataplex Universal Catalog 時所需的權限,請參閱「Dataplex Universal Catalog IAM 權限」。
設定及執行 Sensitive Data Protection 檢查作業
您可以使用 Google Cloud 控制台或 DLP API,設定及執行 Sensitive Data Protection 檢查工作。
控制台
REST
下列範例會傳送projects.locations.dlpJobs.create
要求,檢查 BigQuery 表格並將結果傳送至 Dataplex Universal Catalog。
使用任何要求資料之前,請先替換以下項目:
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 取得檢查工作結果,請參閱「取得工作」一文。
搜尋查詢範例
本節提供範例搜尋查詢,您可以在 Dataplex Universal Catalog 中使用這些查詢,找出貴機構或專案中具有特定切面值的資料。
您只能找到自己有權存取的資料。資料存取權由 IAM 權限控管。詳情請參閱本文的「檢視層面的角色和權限」。
您可以在 Dataplex Universal Catalog 的「Search」(搜尋) 頁面,於「Search」(搜尋) 欄位中輸入這些範例查詢。
如要瞭解如何建立查詢,請參閱「Dataplex Universal 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