本頁列出 Sensitive Data Protection 的已知問題,以及避免或解決下列問題的方法。
將結果儲存至 BigQuery
工作或探索掃描作業將結果儲存至 BigQuery 時,記錄中會顯示 Already exists 錯誤。這項錯誤不代表有問題,結果會照常儲存。
BigQuery 掃描
本節說明檢查或剖析 BigQuery 資料時可能遇到的問題。
檢查和剖析作業的常見問題
下列問題適用於 BigQuery 檢查和剖析作業。
無法掃描設有資料列層級安全性的資料列
資料列層級安全性政策可能會導致 Sensitive Data Protection 無法檢查及剖析受保護的 BigQuery 資料表。如果 BigQuery 資料表已套用資料列層級安全性政策,建議您設定 TRUE 篩選器,並將服務代理新增至被授權者清單:
- 如果您在組織或資料夾層級剖析資料,請將容器專案的服務代理加入被授權者清單。
- 如果您要在專案層級剖析資料,或對資料表執行檢查工作,請將專案的服務代理加入被授權人清單。
重複資料列
將資料寫入 BigQuery 資料表時,Sensitive Data Protection 可能會寫入重複的資料列。
最近串流的資料
Sensitive Data Protection 不會掃描最近串流的資料 (舊稱為串流緩衝區)。詳情請參閱 BigQuery 說明文件中的「串流資料可用性」。
BigQuery 檢查問題
下列問題僅適用於 BigQuery 資料的檢查作業。不會影響資料剖析。
匯出的發現項目沒有 row_number 欄位的值
設定 Sensitive Data Protection 將發現項目儲存至 BigQuery 時,系統會在掃描輸入資料表時推論產生的 BigQuery 資料表中的 location.content_locations.record_location.record_key.big_query_key.row_number 欄位。其值不具決定性、無法查詢,且檢查工作的值可能為空值。
如需找出含有發現項目的特定資料列,請在建立工作時指定 inspectJob.storageConfig.bigQueryOptions.identifyingFields。
您可以在產生的 BigQuery 資料表的 location.content_locations.record_location.record_key.id_values 欄位中找到識別欄位。
僅掃描新的 BigQuery 內容
如果您將掃描範圍限制為僅限新內容,並使用 BigQuery Storage Write API (gRPC) 填入輸入資料表,Sensitive Data Protection 可能會略過掃描部分資料列。
如要解決這個問題,請在您的檢查工作中,確認 TimespanConfig 物件的 timestampField 是 BigQuery 自動生成 的修訂版本時間戳記。不過,由於 Sensitive Data Protection 不會讀取最近串流的資料,因此仍無法保證不會略過任何資料列。
如要為資料欄自動產生修訂版本時間戳記,並使用舊版串流 API 填入輸入資料表,請按照下列步驟操作:
在輸入資料表的結構定義中,確認時間戳記資料欄的類型為
TIMESTAMP。結構定義範例
以下範例定義
commit_time_stamp欄位,並將其類型設為TIMESTAMP:... { "name": "commit_time_stamp", "type": "TIMESTAMP" } ...在
tabledata.insertAll方法的rows[].json欄位中,確認時間戳記欄中的值設為AUTO。JSON 範例
以下範例會將
commit_time_stamp欄位的值設為AUTO:{ ... "commit_time_stamp": "AUTO", ... }
設定百分比或資料列上限,限制掃描範圍
如果根據資料表資料列總數的百分比 (rowsLimitPercent) 設定取樣限制,Sensitive Data Protection 檢查的資料列數可能會超出預期。如需嚴格限制掃描的資料列數量,建議改為設定資料列數量上限 (rowsLimit)。
BigQuery 剖析問題
下列問題僅適用於 BigQuery 資料剖析作業。詳情請參閱「BigQuery 資料分析器」。
資料表數量超過 5 億個的組織或專案
如果嘗試剖析資料表數量超過 5 億個的組織或專案,Sensitive Data Protection 會傳回錯誤。如果遇到這項錯誤,請按照錯誤訊息中的指示操作。
如果貴組織的資料表數量超過 5 億,而某個專案的資料表數量較少,請改為執行專案層級掃描。
如要瞭解資料表和資料欄限制,請參閱「資料剖析限制」。
檢查範本
檢查範本必須與要剖析的資料位於相同區域。如果資料遍布多個區域,請使用多個檢查範本,每個區域各一個。您也可以使用儲存在 global 區域的檢查範本。如果您在 global 區域加入範本,Sensitive Data Protection 會將該範本用於沒有特定區域範本的資料。詳情請參閱「資料落地注意事項」。
已儲存的 infoType
檢查範本中參照的儲存 infoType (也稱為儲存的自訂字典偵測工具) 必須儲存在下列任一位置:
global區域。- 與檢查範本相同的區域。
否則,剖析作業會失敗,並顯示 Resource not found 錯誤。
資源瀏覽權限
在資料表資料剖析中,BigQuery 資料表的資源瀏覽權限分類取決於包含該資料表的資料集瀏覽權限,而非資料表的瀏覽權限。因此,如果資料表的 IAM 權限與資料集的 IAM 權限不同,資料剖析中指出的資料表資源瀏覽權限可能不正確。這個問題會影響 BigQuery 探索服務和 Vertex AI 探索服務。
在 Google Cloud 控制台中,資源瀏覽權限會顯示在資料表資料設定檔的「Public」(公開) 欄位中。在 Cloud Data Loss Prevention API 中,資源可見度會顯示在 TableDataProfile 的 resourceVisibility 欄位中。
不會到期的資料表到期時間戳記有誤
2025 年 7 月至 2026 年 6 月期間,部分儲存至 BigQuery 的資料表資料剖析檔,在 expiration_time 中包含不正確的 1970-01-01 時間戳記,而非 NULL,適用於不會過期的資料表。
Cloud Storage 掃描
不支援檢查 Strict XLSX 檔案
副檔名為 .xlsx 的檔案可以是以下兩種。其中一種是 Strict Office Open XML 試算表,Sensitive Data Protection 不支援這種格式。另一種是預設的 Microsoft Excel 活頁簿,系統支援這種檔案。
以二進位模式掃描結構化檔案
在某些情況下,通常以結構化剖析模式掃描的檔案可能會以二進位模式掃描,不含結構化剖析模式的強化功能。詳情請參閱「在結構化剖析模式中掃描結構化檔案」。
將分隔檔案去識別化
使用檢查工作去識別化分隔檔案 (例如 CSV 檔案) 時,輸出內容的某些資料列可能會出現額外的空白儲存格。如要避免產生這些額外儲存格,可以改用 content.deidentify 方法去識別化資料。
Cloud SQL 探索
Security Command Center 重複的發現項目
Cloud SQL 資料剖析功能支援將發現項目發布至 Security Command Center。
在 2024 年 4 月 25 日之前,由於一項錯誤,Sensitive Data Protection 偶爾會在 Security Command Center 中產生 Cloud SQL 執行個體的重複發現項目。這些發現項目是以專屬發現項目 ID 產生,但與相同的 Cloud SQL 執行個體有關。問題已解決,但重複的發現項目仍存在。您可以忽略重複項目,在 Security Command Center 的「Findings」(發現項目) 頁面中隱藏這些項目。
探索 Amazon S3
Sensitive Data Protection 傳送至 Security Command Center 的 Amazon S3 發現項目,可能不含受影響資源的 AWS 帳戶 ID 或顯示名稱資訊。這通常發生在下列情況:
- 發現項目傳送至 Security Command Center 時,AWS 連接器僅有效約 24 小時。
- 發現項目傳送至 Security Command Center 時,AWS 帳戶加入 AWS 連接器僅約 24 小時。
如要解決這個問題,請在約 24 小時後刪除資料設定檔,或設定剖析排程,重新產生資料設定檔。完整的發現項目詳細資料會傳送至 Security Command Center。
智慧型文件剖析
本節說明文件剖析的已知問題。
系統不會填入 DocumentLocation 物件
智慧型文件剖析掃描模式不會填入 location.content_locations.document_location.file_offset 欄位。
偵測
下列已知問題說明偵測問題,無論您執行的是檢查、去識別化或探索作業。
字典中的字詞
如果字典字詞包含 Unicode 標準輔助多語言平面中的字元,可能會產生非預期的結果。這類字元包括表情符號、科學符號和歷史文字。