如果您設定機密資料探索服務,將所有成功產生的資料剖析檔傳送至 BigQuery,即可查詢這些資料剖析檔,深入瞭解資料。您也可以使用數據分析等視覺化工具,根據業務需求建立自訂報表。或者,您也可以使用 Sensitive Data Protection 提供的預先製作報表,視需要調整並共用。
本頁面提供範例 SQL 查詢,可協助您進一步瞭解資料剖析。此外,本文也會說明如何在數據分析中以圖表呈現資料設定檔。
如要進一步瞭解資料剖析,請參閱「機密資料探索總覽」。
事前準備
本頁面假設您已在機構、資料夾或專案層級設定剖析功能。在探索掃描設定中,請務必啟用「將資料剖析檔副本儲存至 BigQuery」動作。如要進一步瞭解如何建立探索掃描設定,請參閱「建立掃描設定」。
輸出資料表
在本文件中,包含匯出資料設定檔的資料表稱為「輸出資料表」。
請確認您已備妥輸出資料表的專案 ID、資料集 ID 和資料表 ID。您需要這些權限才能執行本頁面的程序。
latest 檢視表
當 Sensitive Data Protection 將資料剖析檔匯出至輸出資料表時,也會建立 latest 檢視畫面。這個檢視畫面是經過預先篩選的虛擬資料表,只包含資料設定檔的最新快照。latest 檢視區與輸出資料表具有相同的結構定義,因此您可以在 SQL 查詢和數據分析報表中交替使用這兩者。輸出資料表包含較舊的資料剖析快照,因此結果可能有所不同。
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 查詢或數據分析報表中選擇使用輸出資料表和 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'
;
詳情請參閱「檔案儲存資料設定檔」。
列出所有掃描的 bucket 路徑、叢集和副檔名,其中機密程度分數為 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
;
詳情請參閱「檔案儲存資料設定檔」。
列出掃描到信用卡號的所有 bucket 路徑、叢集和副檔名
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代表美國社會安全號碼
詳情請參閱「檔案儲存資料設定檔」。
在數據分析中處理資料設定檔
如要在數據分析中以圖像化方式呈現資料設定檔,可以使用預先製作的報表,或自行建立報表。
使用預先製作的報表
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檢視畫面」。- 輸出資料表的名稱,也就是包含匯出資料設定檔的資料表,例如
數據分析 可能需要幾分鐘的時間,才能載入含有資料的報表。如果發生錯誤或報表無法載入,請參閱本頁的「排解預先建立報表的錯誤」。
在下列範例中,資訊主頁顯示全球多個國家/地區都有低敏感度和高敏感度資料。
預製報表的舊版
您仍可透過下列網址存取預先建立的報表第一版:
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
建立報表
數據分析可讓您建立互動式報表。在本節中,您會根據匯出至 BigQuery 輸出資料表的資料剖析檔,在數據分析內建立簡易的資料表報表。
請確認您已備妥輸出資料表或latest檢視區塊的專案 ID、資料集 ID 和資料表 ID。您需要這些權限才能執行這項程序。
本範例說明如何建立報表,其中包含的表格會顯示資料設定檔中回報的每個 infoType,以及對應的頻率。
一般來說,透過 Google 數據分析存取 BigQuery 時,會產生 BigQuery 使用費。詳情請參閱「使用數據分析將 BigQuery 資料視覺化」。
如要建立報表,請按照下列步驟操作:
- 開啟數據分析並登入。
- 按一下「空白報表」。
- 在「連結至資料」分頁中,按一下「BigQuery」資訊卡。
- 如果系統提示,請授權數據分析存取您的 BigQuery 專案。
連結至 BigQuery 資料:
- 在「Project」(專案) 部分,選取含有輸出資料表的專案。您可以在「近期專案」、「我的專案」和「共用專案」分頁中搜尋專案。
- 在「Dataset」(資料集) 部分,選取包含輸出資料表的資料集。
在「Table」(資料表) 中,選取輸出資料表或輸出資料表的
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。這些範例提供資料欄和檔案叢集層級的資料。你也可以嘗試其他尺寸。舉例來說,您可以使用表格層級和 bucket 層級的維度。
在「指標」部分,新增「記錄計數」。
產生的資料表如下所示:
進一步瞭解 Data Studio 中的表格。
排解預先製作報表的錯誤
載入預先建立的報表時,如果看到任何錯誤、缺少控制項或缺少圖表,請確認預先建立的報表是否使用最新欄位:
如果預先製作的報表已連結至輸出表格,請確認該表格已附加至有效的探索掃描設定。如要查看掃描設定的設定,請參閱「查看掃描設定」。
如果預先建立的報表已連結至
latest檢視畫面,請確認該檢視畫面是否仍存在於 BigQuery。如果有的話,請嘗試變更檢視畫面。或者,您也可以複製檢視區塊,然後將預先製作的報表連結至該副本。如要進一步瞭解latest檢視畫面,請參閱本頁的「latest檢視畫面」。
如果嘗試上述步驟後仍會收到錯誤訊息,請與 Cloud Customer Care 團隊聯絡。
後續步驟
瞭解如何採取行動修正資料剖析檔結果。