本文件說明如何在 BigQuery 資料倉儲中導入 14 項雲端資料管理功能 (CDMC) 主要控管機制,協助保護及管理機密資料。機構會部署雲端資料倉儲來儲存機密資訊,以供業務分析之用,因此需要嚴格的治理和法規遵循措施。
CDMC Key Controls Framework 主要適用於雲端服務供應商和技術供應商。這項架構說明瞭 14 項重要控管機制,供應商可導入這些機制,讓客戶有效管理及控管雲端中的機密資料。這些控管措施是由 CDMC 工作小組編寫,有超過 100 家公司的 300 多位專業人士參與。撰寫架構時,CDMC 工作小組考量了許多現有的法律和監管規定。
這項 BigQuery 和 Knowledge Catalog 參考架構已通過 CDMC 主要控管機制架構的評估和認證,成為 CDMC 認證雲端解決方案。參考架構會使用各種Google Cloud 服務和功能,以及公開程式庫,實作 CDMC 主要控制項和建議的自動化功能。本文說明如何導入主要控管機制,協助保護 BigQuery 資料倉儲中的機密資料。
架構
下列 Google Cloud 參考架構符合 CDMC 主要控制項架構測試規格 1.1.1 版。圖中的數字代表 Google Cloud 服務解決的主要控制措施。
參考架構是以安全資料倉儲藍圖為基礎,提供有助於保護 BigQuery 資料倉儲的架構,包括機密資訊。在上圖中,圖表頂端的專案 (灰色部分) 屬於安全資料倉儲藍圖。資料治理專案 (藍色) 包含為符合 CDMC Key Controls Framework 規定而新增的服務。如要導入 CDMC 主要控管機制架構,架構會擴充資料管理專案。資料治理專案提供分類、生命週期管理和資料品質管理等控制項。這個專案也提供稽核架構和回報結果的方法。
如需部署範本和自動化指令碼範例,請參閱 GitHub 上已封存的 Google Cloud CDMC 參考架構開放原始碼參考實作。
替代架構:去中心化資料網狀網路
本文所述的架構會使用集中式資料控管專案,監控及管理集中式 BigQuery 資料倉儲。如果貴機構需要以網域為導向的模式,您可以透過具有聯邦式控管機制的資料網格架構,實作 14 項 CDMC 重要控管措施。在這個模型中,各個網域擁有自己的資料產品,而 CDMC 政策、分類標準和稽核報告則由中央控管。
資料網格架構可讓您導入 CDMC 主要控管機制,方法如下:
- 分組邏輯網域:使用資料湖和資料可用區,將多個 Google Cloud 專案、BigQuery 資料集和 Cloud Storage 值區中的資料整理成不同的業務網域,不必移動資料。如要查看歷程和編目,請使用 Knowledge Catalog。
- 驗證資料品質:定義並排定 Knowledge Catalog 自動資料品質掃描,驗證資料合約,不必依賴中央標記管道。
- 管理資料生命週期:在網域資產上設定 BigQuery 資料表分區到期時間、資料表到期時間,以及 Cloud Storage 物件生命週期管理。
- 追蹤跨網域資料歷程:使用 Knowledge Catalog 資料歷程,追蹤跨網域和專案界線的資料移動和轉換。
- 支援混合和多雲端環境:使用 BigQuery Omni 就地分析資料。
如要部署整合 CDMC 控制項的企業資料網格,請參閱「Deploy an enterprise data management and analytics platform」一文,以及隨附的 Terraform 企業資料網格藍圖。這項藍圖會將分散式網域生產者和消費者環境,與共用資料夾中的中央資料治理專案配對,藉此實作聯邦模型。
CDMC 主要控管機制架構總覽
下表摘要說明 CDMC 金鑰控制項架構。
| # | CDMC 主要控管機制 | CDMC 控制項規定 |
|---|---|---|
| 1 | 資料控管法規遵循 | 定義及控管雲端資料管理業務案例。 所有含有私密資料的資料資產,都必須使用指標和自動通知功能,監控是否符合 CDMC 主要控管措施。 |
| 2 | 為遷移資料和雲端產生的資料建立資料擁有權 | 資料目錄中的「擁有權」欄位必須填入所有機密資料,否則會回報至定義的工作流程。 |
| 3 | 自動化功能可控管及支援資料來源和使用情形 | 對於含有私密資料或必須向已定義工作流程回報的所有資料資產,都必須填寫授權資料來源和佈建點的登記表。 |
| 4 | 管理資料主權和跨國資料移動 | 必須根據定義的政策,記錄、稽核及控管機密資料的資料主權和跨境流動。 |
| 5 | 實作、使用及互通資料目錄 | 所有資料在建立或擷取時都必須自動編目,且所有環境都必須保持一致。 |
| 6 | 定義及使用資料分類 | 所有資料在建立或擷取時都必須自動分類,且這項功能必須一律啟用。系統會自動分類下列項目:
|
| 7 | 管理、強制執行及追蹤資料授權 | 如要使用這項控制選項,必須符合下列條件:
|
| 8 | 管理資料的存取、使用和結果,確保符合道德規範 | 凡是涉及私密資料的資料共用協議,都必須提供資料使用目的。目的必須指定所需資料類型,如果是全球性機構,則須指定國家/地區或法人範圍。 |
| 9 | 資料安全無虞,且控制項有證據可證 | 如要使用這項控制選項,必須符合下列條件:
|
| 10 | 已定義並實施資料隱私權架構 | 系統必須根據管轄範圍,自動對所有個人資料觸發資料保護影響評估 (DPIA)。 |
| 11 | 規劃及管理資料生命週期 | 資料保留、封存和清除作業必須按照定義的保留時間表管理。 |
| 12 | 資料品質管理 | 您必須啟用資料品質評估功能,才能取得機密資料的指標 (如有)。 |
| 13 | 建立並套用成本管理原則 | 建立並套用技術設計原則。目錄中必須提供與資料使用、儲存和移動直接相關的費用指標。 |
| 14 | 瞭解資料來源和歷程 | 所有機密資料都必須提供資料沿襲資訊。這類資訊至少須包含資料的擷取來源,或資料在雲端環境中的建立位置。 |
1. 資料控管法規遵循
您必須使用指標驗證所有私密資料都受到監控,以確保符合這個架構的規定。
這項架構會使用指標,顯示各項重要控制措施的運作程度。這項架構也包含資訊主頁,可指出指標何時未達到定義的門檻。
這項架構包含偵測器,會在資料資產不符合重要控制項時,發布發現項目和補救建議。這些調查結果和建議會以 JSON 格式發布至 Pub/Sub 主題,並發送給訂閱者。您可以將內部服務台或服務管理工具與 Pub/Sub 主題整合,以便在票證系統中自動建立事件。
這項架構會使用 Dataflow 建立範例訂閱者,訂閱結果事件,然後將這些事件儲存在 Data Governance 專案中執行的 BigQuery 執行個體。您可以使用提供的多個檢視區塊,在 Google Cloud 控制台透過 BigQuery Studio 查詢資料。您也可以使用 數據分析 或其他與 BigQuery 相容的商業智慧工具建立報表。您可以查看的報表包括:
- 上次執行發現項目摘要
- 上次執行作業的發現項目詳細資料
- 上次執行中繼資料
- 範圍內上次執行的資料資產
- 上次執行作業的資料集統計資料
下圖顯示適用於這項控制項的服務。
為符合這項控制措施的要求,架構會使用下列服務:
- Pub/Sub 會發布發現項目。
- Dataflow 會將發現項目載入 BigQuery 執行個體。
- BigQuery 會儲存調查結果資料,並提供摘要檢視畫面。
- 數據分析提供資訊主頁和報表。
下方的螢幕截圖顯示了數據分析摘要資訊主頁範例。
下列螢幕截圖顯示依資料資產分類的發現項目檢視畫面範例。

2. 為遷移和雲端產生的資料建立資料擁有權
為符合這項控制措施的要求,架構會自動檢查 BigQuery 資料倉儲中的資料,並新增資料分類標記,指出所有機密資料都已識別擁有者。
Knowledge Catalog 會處理兩種中繼資料:技術中繼資料和業務中繼資料。對於給定的專案,Knowledge Catalog 會自動分類 BigQuery 資料集、資料表和檢視區塊,並填入技術中繼資料。目錄和資料資產之間的同步作業會以近乎即時的方式進行。
這項架構使用 Tag Engine,在 Knowledge Catalog 的 CDMC controls 代碼範本中加入下列業務中繼資料標記:
is_sensitive:資料資產是否含有機密資料 (請參閱控制措施 6 的資料分類)owner_name:資料擁有者owner_email:擁有者的電子郵件地址
系統會使用儲存在資料治理專案參考 BigQuery 資料表中的預設值,填入標記。
根據預設,架構會在資料表層級設定擁有權中繼資料,但您可以變更架構,讓中繼資料在資料欄層級設定。詳情請參閱「管理層面及豐富中繼資料」。
下圖顯示適用於這項控制項的服務。
為符合這項控制措施的要求,架構會使用下列服務:
- 兩個 BigQuery 資料倉儲:一個儲存機密資料,另一個儲存資料資產擁有權的預設值。
- Knowledge Catalog 會透過標記範本和標記儲存擁有權中繼資料。
- 兩個 Cloud Run 執行個體,如下所示:
- 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
- 另一個執行個體則會執行標記引擎,標記安全資料倉儲中的資料。
- Pub/Sub 會發布發現項目。
如要偵測與這項控制項相關的問題,架構會檢查敏感資料是否已指派擁有者名稱標記。
3. 自動化功能可管理及支援資料來源和使用情形
這項控制項需要資料資產分類,以及授權來源和授權經銷商的資料登錄。這項架構會使用 Knowledge Catalog,將 is_authoritative 標記新增至 CDMC controls 代碼範本。這個標記會定義資料資產是否為權威。
Knowledge Catalog 會使用技術中繼資料和業務中繼資料,為 BigQuery 資料集、表格和檢視區塊分類。系統會自動填入技術中繼資料,包括資源網址 (即佈建點的位置)。業務中繼資料是在 Tag Engine 設定檔中定義,包括 is_authoritative 標記。
在下一次排定的執行作業中,標記引擎會從 BigQuery 參考資料表儲存的預設值,在 CDMC controls 代碼範本中填入 is_authoritative 標記。
下圖顯示適用於這項控制項的服務。
為符合這項控制措施的要求,架構會使用下列服務:
- 兩個 BigQuery 資料倉儲:一個儲存機密資料,另一個儲存資料資產授權來源的預設值。
- Knowledge Catalog 會透過標記儲存權威來源中繼資料。
- 兩個 Cloud Run 執行個體,如下所示:
- 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
- 另一個執行個體則會執行標記引擎,標記安全資料倉儲中的資料。
- Pub/Sub 會發布發現項目。
如要偵測與這項控制項相關的問題,架構會檢查敏感資料是否已獲派授權來源標記。
4. 管理資料主權和跨國資料移動
這項控制項需要架構檢查資料登錄,瞭解特定區域的儲存空間需求,並強制執行使用規則。報表會說明資料資產的地理位置。
架構會使用 Knowledge Catalog,將 approved_storage_location 標記新增至 CDMC controls 代碼範本。這個標記會定義資料資產可儲存的地理位置。
資料的實際位置會以技術中繼資料的形式,儲存在 BigQuery 資料表詳細資料中。BigQuery 不允許管理員變更資料集或資料表的位置。如果管理員想變更資料位置,必須複製資料集。
資源位置機構政策服務限制會定義可儲存資料的 Google Cloud 區域。根據預設,架構會在機密資料專案上設定限制,但您也可以視需要,在機構或資料夾層級設定限制。標記引擎會將允許的位置複製到 Knowledge Catalog 代碼範本,並將位置儲存在 approved_storage_location 標記中。如果您啟用 Security Command Center Premium 層級,且有人更新資源位置的機構政策限制,Security Command Center 會針對儲存在更新後政策以外的資源,產生安全性弱點發現項目。
Access Context Manager 會定義使用者必須位於哪個地理位置,才能存取資料資產。您可以使用存取層級,指定要求可來自哪些區域。然後將存取權政策新增至機密資料專案的 VPC Service Controls 範圍。
為追蹤資料移轉作業,BigQuery 會針對每個資料集,維護每項工作和查詢的完整稽核追蹤記錄。稽核追蹤記錄會儲存在 BigQuery 資訊結構定義作業檢視畫面中。
下圖顯示適用於這項控制項的服務。
為符合這項控制措施的要求,架構會使用下列服務:
- 機構政策會定義並強制執行資源位置限制。
- Access Context Manager 會定義使用者可從哪些位置存取資料。
- 兩個 BigQuery 資料倉儲:一個儲存機密資料,另一個則代管用於檢查位置資訊政策的遠端函式。
- Knowledge Catalog 會將核准的儲存空間位置儲存為標記。
- 兩個 Cloud Run 執行個體,如下所示:
- 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
- 另一個執行個體則會執行標記引擎,標記安全資料倉儲中的資料。
- Pub/Sub 會發布發現項目。
- Cloud Logging 會寫入稽核記錄。
- Security Command Center 會回報與資源位置或資料存取權相關的任何發現項目。
如要偵測與這項控制項相關的問題,架構會提供一項發現項目,指出核准地區代碼是否包含機密資料的位置。
5. 實作、使用及互通資料目錄
這項控制項需要有資料目錄,且架構可掃描新資產和更新資產,並視需要新增中繼資料。
為符合這項控制措施的規定,架構會使用 Knowledge Catalog。Knowledge Catalog 會自動記錄 Google Cloud資產,包括 BigQuery 資料集、資料表和檢視區塊。在 BigQuery 中建立新資料表時,Knowledge Catalog 會自動登錄新資料表的技術中繼資料和結構定義。更新 BigQuery 中的資料表時,Knowledge Catalog 幾乎會立即更新項目。
下圖顯示適用於這項控制項的服務。
為符合這項控制措施的要求,架構會使用下列服務:
- 兩個 BigQuery 資料倉儲:一個儲存機密資料,另一個儲存非機密資料。
- Knowledge Catalog 會儲存表格和欄位的技術中繼資料。
根據預設,在這個架構中,Knowledge Catalog 會儲存 BigQuery 的技術中繼資料。如有需要,您可以將 Knowledge Catalog 與其他資料來源整合。
6. 定義及使用資料分類
這項評估需要根據資料的私密程度進行分類,例如是否為 PII、是否可識別客戶,或是否符合貴機構定義的其他標準。為符合這項控制措施的要求,架構會建立資料資產及其機密程度的報表。您可以透過這份報表,確認機密程度設定是否正確。此外,每項新資料資產或現有資料資產的變更,都會導致資料目錄更新。
分類會儲存在sensitive_category資料表層級和資料欄層級的知識目錄標記範本中。分類參照表可讓您為可用的 Sensitive Data Protection 資訊類型 (infoType) 排序,敏感內容的排名越高。
為符合這項控制措施的要求,架構會使用 Sensitive Data Protection、Knowledge Catalog 和 Tag Engine,在 BigQuery 資料表的機密資料欄中加入下列標記:
is_sensitive:資料資產是否含有私密資訊sensitive_category:資料類別,可以是下列任一項目:- 具敏感性的個人識別資訊
- 個人識別資訊
- 私密個人資訊
- 個人資訊
- 公開資訊
您可以變更資料類別,以符合需求。舉例來說,您可以新增重大非公開資訊 (MNPI) 分類。
Sensitive Data Protection 檢查資料後,標記引擎會讀取每個資產的 DLP results 資料表,彙整調查結果。如果表格包含一或多個機密 infoType 的資料欄,系統會判斷最顯著的 infoType,並將機密資料欄和整個表格標記為最高等級的類別。標記引擎也會為資料欄指派相應的政策標記,並為表格指派 is_sensitive 布林標記。
您可以使用 Cloud Scheduler 自動執行 Sensitive Data Protection 檢查作業。
下圖顯示適用於這項控制項的服務。
為符合這項控制措施的要求,架構會使用下列服務:
- 四個 BigQuery 資料倉儲會儲存下列資訊:
- 機密資料
- Sensitive Data Protection 結果資訊
- 資料分類參考資料
- 代碼匯出資訊
- Knowledge Catalog 會儲存分類標記。
- Sensitive Data Protection 會檢查資產是否含有機密 infoType。
- Compute Engine 會執行 Inspect Datasets 指令碼,針對每個 BigQuery 資料集觸發 Sensitive Data Protection 工作。
- 兩個 Cloud Run 執行個體,如下所示:
- 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
- 另一個執行個體則會執行標記引擎,標記安全資料倉儲中的資料。
- Pub/Sub 會發布發現項目。
如要偵測與這項控制項相關的問題,架構會提供下列發現項目:
- 機密資料是否已指派敏感類別標記。
- 機密資料是否已指派資料欄層級的機密類型標記。
7. 管理、強制執行及追蹤資料授權
根據預設,只有創作者和擁有者會獲得權利,並可存取機密資料。此外,這項控制措施要求架構追蹤所有私密資料存取權。
為符合這項控制措施的要求,架構會使用 BigQuery 中的 cdmc
sensitive data classification 政策標記分類,控管 BigQuery 資料表中含有機密資料的資料欄存取權。這個分類包含下列政策標記:
- 具敏感性的個人識別資訊
- 個人識別資訊
- 私密個人資訊
- 個人資訊
政策標記可控管哪些使用者能查看 BigQuery 資料表中的機密資料欄。架構會將這些政策標記對應至從 Sensitive Data Protection infoType 衍生而來的機密程度分類。舉例來說,sensitive_personal_identifiable_information 政策標記和機密類別會對應至 AGE、DATE_OF_BIRTH、PHONE_NUMBER 和 EMAIL_ADDRESS 等 infoType。
架構會使用 Identity and Access Management (IAM) 管理需要存取資料的群組、使用者和服務帳戶。系統會授予特定資產 IAM 權限,以取得資料表層級的存取權。此外,您還可根據政策標記設定資料欄層級的存取權,精細控管機密資料資產的存取權。根據預設,使用者無法存取已定義政策標記的資料欄。
為確保只有通過驗證的使用者可以存取資料, Google Cloud使用 Cloud Identity,您可以將其與現有的身分識別提供者聯合,以驗證使用者身分。
這項控制項也要求架構定期檢查未定義權利資料資產。偵測器由 Cloud Scheduler 管理,會檢查下列情境:
- 資料資產包含敏感類別,但沒有相關的政策標記。
- 類別與政策標記不符。
發生這些情況時,偵測工具會產生發現項目,並由 Pub/Sub 發布,然後由 Dataflow 寫入 BigQuery 的 events 資料表。接著,您可以將調查結果發布至修復工具,如 1. 資料控制項
法規遵循情形。
下圖顯示適用於這項控制項的服務。
為符合這項控制措施的要求,架構會使用下列服務:
- BigQuery 資料倉儲會儲存機密資料,以及精細存取權控管的政策標記繫結。
- IAM 會管理存取權。
- Knowledge Catalog 會儲存資料表層級和資料欄層級的敏感類別標記。
- 兩個 Cloud Run 執行個體,如下所示:
- 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
- 另一個執行個體則會執行標記引擎,標記安全資料倉儲中的資料。
如要偵測與這項控制項相關的問題,架構會檢查機密資料是否具有對應的政策標記。
8. 管理資料的存取、使用和結果,確保符合道德規範
這項控制項要求架構儲存資料提供者和資料消費者之間的資料共用協議,包括核准的消費目的清單。接著,系統會使用查詢標籤,將機密資料的用途對應至儲存在 BigQuery 中的權利。當消費者在 BigQuery 中查詢機密資料時,必須指定符合權限的有效用途 (例如 SET @@query_label =
"use:3";)。
架構會使用 Knowledge Catalog,將下列標記新增至 CDMC controls 代碼範本。這些標記代表與資料供應商的資料共用協議:
approved_use:資料資產的核准用途或使用者sharing_scope_geography:可共用資料資產的地理位置清單sharing_scope_legal_entity:可共用資料資產的同意實體清單
另一個 BigQuery 資料倉儲包含 entitlement_management 資料集,其中有下列資料表:
provider_agreement:與資料供應商簽訂的資料共用協議,包括同意的法人和地理範圍。這項資料會提供sharing_scope_geography和sharing_scope_legal_entity代碼的預設值。consumer_agreement:與資料消費者簽訂的資料共用協議,包括同意的法人和地理範圍。每份協議都與資料資產的 IAM 繫結相關聯。use_purpose:用途,例如資料資產的使用說明和允許的作業。data_asset:資料資產的相關資訊,例如資產名稱和資料擁有者詳細資料。
為稽核資料共用協議,BigQuery 會維護每個作業和查詢的完整稽核追蹤記錄,以利對每個資料集進行稽核。稽核追蹤記錄會儲存在 BigQuery 資訊架構 作業檢視畫面中。將查詢標籤與工作階段建立關聯,並在工作階段中執行查詢後,您就可以收集具有該查詢標籤的查詢稽核記錄。詳情請參閱 BigQuery 稽核記錄參考資料。
下圖顯示適用於這項控制項的服務。
為符合這項控制措施的要求,架構會使用下列服務:
- 兩個 BigQuery 資料倉儲:一個儲存機密資料,另一個儲存授權資料,包括供應商和消費者資料共用協議,以及核准的使用目的。
- Knowledge Catalog 會將供應商資料共用協議資訊儲存為標記。
- 兩個 Cloud Run 執行個體,如下所示:
- 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
- 另一個執行個體則會執行標記引擎,標記安全資料倉儲中的資料。
- Pub/Sub 會發布發現項目。
如要偵測與這項控制項相關的問題,架構會提供下列發現項目:
- 資料資產在
entitlement_management資料集中是否有項目。 - 是否對使用案例過期的敏感資料表執行作業 (例如
consumer_agreement資料表中的valid_until_date已過期)。 - 作業是否在標籤鍵錯誤的敏感資料表上執行。
- 是否對敏感資料表執行作業,且該資料表具有空白或未獲核准的用途標籤值。
- 是否使用未獲核准的作業方法 (例如
SELECT或INSERT) 查詢機密資料表。 - 消費者查詢私密資料時指定的記錄用途,是否符合資料共用協議。
9. 資料安全無虞,且控管措施有憑有據
這項控制措施需要實作資料加密和去識別化,以保護私密資料,並提供這些控制措施的記錄。
這個架構以 Google 預設安全性為基礎,包括靜態資料加密。此外,您也可以透過這項架構,使用客戶自行管理的加密金鑰 (CMEK) 管理自己的金鑰。Cloud Key Management Service 可讓您使用軟體支援的加密金鑰,或通過 FIPS 140-2 第 3 級驗證的硬體安全性模組 (HSM) 加密資料。
這項架構使用透過政策標記設定的資料欄層級動態資料遮蓋,並將機密資料儲存在獨立的 VPC Service Controls 範圍內。您也可以新增應用程式層級的去識別化,這項功能可實作於地端部署環境,或做為資料擷取管道的一部分。
根據預設,架構會使用 HSM 實作 CMEK 加密,但同時也支援 Cloud External Key Manager (Cloud EKM)。
下表說明架構為 us-central1 區域實作的範例安全性政策。您可以根據需求調整政策,包括為不同地區新增不同政策。
| 資料敏感度 | 預設加密方法 | 其他允許的加密方法 | 預設去識別化方法 | 其他允許的去識別化方法 |
|---|---|---|---|---|
| 公開資訊 | 預設加密 | 不限 | 無 | 不限 |
| 具敏感性的個人識別資訊 | 支援 HSM 的 CMEK | EKM | 失效 | SHA-256 雜湊或預設遮蓋值 |
| 個人識別資訊 | 支援 HSM 的 CMEK | EKM | SHA-256 雜湊 | 設為空值或預設遮蓋值 |
| 私密個人資訊 | 支援 HSM 的 CMEK | EKM | 預設遮蓋值 | SHA-256 雜湊或 Nullify |
| 個人資訊 | 支援 HSM 的 CMEK | EKM | 預設遮蓋值 | SHA-256 雜湊或 Nullify |
架構會使用 Knowledge Catalog,將 encryption_method 標記新增至資料表層級的 CDMC controls 代碼範本。encryption_method 定義資料資產使用的加密方法。
此外,架構會建立 security policy template 標記,用來識別特定欄位套用的去識別化方法。這項架構會使用 platform_deid_method,並透過動態資料遮蓋套用。您可以新增 app_deid_method,並使用安全資料倉儲藍圖中包含的 Dataflow 和 Sensitive Data Protection 資料擷取管道填入資料。
下圖顯示適用於這項控制項的服務。
為符合這項控制措施的要求,架構會使用下列服務:
- 兩個選用的 Dataflow 執行個體,一個執行應用程式層級的去識別化,另一個執行重新識別化。
- 三個 BigQuery 資料倉儲:一個儲存機密資料、一個儲存非機密資料,第三個則儲存安全性政策。
- Knowledge Catalog 會儲存加密和去識別化標記範本。
- 兩個 Cloud Run 執行個體,如下所示:
- 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
- 另一個執行個體則會執行標記引擎,標記安全資料倉儲中的資料。
- Pub/Sub 會發布發現項目。
如要偵測與這項控制項相關的問題,架構會提供下列發現項目:
- 加密方法標記的值與指定機密程度和位置的允許加密方法不符。
- 資料表含有機密資料欄,但安全性政策範本標記含有無效的平台層級去識別化方法。
- 資料表含有機密資料欄,但缺少「安全性政策範本」標記。
10. 已定義並實施資料隱私權架構
這項控制項要求架構檢查資料目錄和分類,判斷您是否必須建立資料保護影響評估 (DPIA) 報告或隱私權影響評估 (PIA) 報告。不同地區和監管機構的隱私權評估差異很大。如要判斷是否需要影響評估,架構必須考量資料的所在地,以及資料當事人的所在地。
架構會使用 Knowledge Catalog,在 Impact assessment 代碼範本中加入下列標記:
subject_locations:這個資產中資料所指主體的所在位置。is_dpia:是否已完成這項資產的資料隱私權影響評估 (DPIA)。is_pia:是否已完成這項資產的隱私權影響評估 (PIA)。impact_assessment_reports:影響評估報告的儲存位置外部連結。most_recent_assessment:最近一次影響評估的日期。oldest_assessment:首次影響評估的日期。
如控制項 6 所述,標記引擎會將這些標記新增至每個私密資料資產。偵測工具會根據 BigQuery 中的政策資料表驗證這些標記。政策表會定義資料居住地、主體位置、資料敏感度 (例如是否為 PII) 的有效組合,以及需要哪種影響評估類型 (PIA 或 DPIA)。
下圖顯示適用於這項控制項的服務。
為符合這項控制措施的要求,架構會使用下列服務:
- 四個 BigQuery 資料倉儲會儲存下列資訊:
- 機密資料
- 非機密資料
- 影響評估政策和權利時間戳記
- 用於資訊主頁的代碼匯出
- Knowledge Catalog 會將影響評估詳細資料儲存在標記範本中的標記。
- 兩個 Cloud Run 執行個體,如下所示:
- 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
- 另一個執行個體則會執行標記引擎,標記安全資料倉儲中的資料。
- Pub/Sub 會發布發現項目。
如要偵測與這項控制項相關的問題,架構會提供下列發現項目:
- 存在機密資料,但沒有影響評估範本。
- 含有機密資料,但未連結至 DPIA 或 PIA 報告。
- 標記不符合政策表格中的規定。
- 影響評估的日期早於消費者協議資料表最近核准的資料資產權利。
11. 規劃及管理資料生命週期
這項控制措施需要檢查所有資料資產,以判斷資料生命週期政策是否存在並遵守。
架構會使用 Knowledge Catalog,在 CDMC controls 代碼範本中加入下列標記:
retention_period:保留資料表的時間 (以天為單位)expiration_action:保留期限結束時,是否要封存或清除資料表
根據預設,架構會使用下列保留期限和到期動作:
| 資料類別 | 保留期限 (以天為單位) | 到期動作 |
|---|---|---|
| 具敏感性的個人識別資訊 | 60 | 清除 |
| 個人識別資訊 | 90 | 封存 |
| 私密個人資訊 | 180 | 封存 |
| 個人資訊 | 180 | 封存 |
您可以透過下列選項實作資料生命週期管理:
結合 BigQuery 生命週期功能與無伺服器協調。在本例中,上述標記值定義了控管政策。Cloud Scheduler 會使用 Workflows 或 Cloud Run 函式觸發無伺服器工作流程。這個工作流程會讀取標記中繼資料,並評估到期動作。如果動作是清除,工作流程會建立具有到期時間的資料表快照,以支援軟刪除和復原,並將 BigQuery 資料表到期或分區到期政策套用至來源資料表。如果是封存動作,工作流程會完成下列事項:
- 將資料表資料匯出至 Cloud Storage,並採用 Parquet 格式。
- 註冊 BigLake 資料表,支援外部中繼資料標記。
- 將來源資料表的政策標記和中繼資料複製到 BigLake 資料表 (或使用標記引擎重新套用標記)。
- 捨棄或刪除來源資料表。
部署 Record Manager (BigQuery 的開放原始碼資產),根據上述標籤值和設定檔,清除及封存 BigQuery 資料表。清除程序會為資料表設定到期日,並建立具有到期時間的快照資料表,該時間是在 Record Manager 設定中定義。預設到期時間為 30 天。在虛刪除期間,您可以擷取資料表。封存程序會為每個超過保留期限的 BigQuery 資料表建立外部資料表。資料表以 Parquet 格式儲存在 Cloud Storage 中,並升級為 BigLake 資料表,可讓外部檔案在 Knowledge Catalog 中標記中繼資料。然後,記錄管理工具會捨棄來源資料表,完成封存程序。
無論選擇哪種方式,將資料封存至 Cloud Storage 後,您都可以設定 Cloud Storage 物件生命週期管理,自動將較舊的檔案轉移至費用較低的儲存空間類別。
下圖顯示使用 BigQuery 生命週期功能時,適用於這項控制項的服務。
為符合這項控制措施的要求,架構會使用下列服務:
- 兩個 BigQuery 資料倉儲:一個儲存機密資料,另一個儲存資料保留政策。
- Cloud Storage 提供封存儲存空間。
- Knowledge Catalog 會將保留期限和動作儲存在標記範本和標記中。
- 兩個 Cloud Run 執行個體,如下所示:
- 其中一個執行個體會執行報表引擎,檢查是否已套用標記、根據保留政策評估資料表,並發布結果。
- 另一個執行個體則會執行標記引擎,根據儲存在控管資料倉儲中的公司政策規則,標記安全資料倉儲中的資料。
- Cloud Scheduler 會觸發工作流程,執行到期或封存動作。
- 工作流程或 Cloud Run 函式會執行無伺服器工作流程。
- Pub/Sub 會發布發現項目。
- BigLake 可對封存資料進行存取控管和中繼資料標記。
下圖顯示使用 Record Manager 時,適用於這項控制項的服務。
為符合這項控制措施的要求,架構會使用下列服務:
- 兩個 BigQuery 資料倉儲:一個儲存機密資料,另一個儲存資料保留政策。
- 兩個 Cloud Storage bucket,一個提供封存儲存空間,另一個則用於儲存記錄。
- Knowledge Catalog 會將保留期限和動作儲存在標記範本和標記中。
- 三個 Cloud Run 執行個體,如下所示:
- 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
- 另一個執行個體則會執行標記引擎,標記安全資料倉儲中的資料。
- 另一個執行個體則會執行 Record Manager,自動清除及封存 BigQuery 資料表。
- Pub/Sub 會發布發現項目。
如要偵測與這項控制項相關的問題,架構會提供下列發現項目:
- 敏感資產的到期動作與資產位置的政策不一致。
- 敏感資產的保留期限與資產所在位置的政策不一致。
- 含有機密資料,但沒有保留期限或到期動作標記。
12. 資料品質管理
這項控制項需要根據資料剖析或使用者定義的指標,評估資料品質。
這項架構可讓您為個別或匯總值定義資料品質規則,並為特定資料表欄指派門檻。包括代碼範本,可確保代碼正確無誤且資訊完整。 Knowledge Catalog 會在每個標記範本中加入下列標記:
column_name:指標適用的資料欄名稱metric:指標或品質規則的名稱rows_validated:通過驗證的資料列數success_percentage:符合這項指標的值所占百分比acceptable_threshold:這項指標的可接受閾值meets_threshold:品質分數 (success_percentage值) 是否符合可接受的門檻most_recent_run:指標或品質規則最近一次執行的時間
下圖顯示適用於這項控制項的服務。
為符合這項控制措施的要求,架構會使用下列服務:
- 三個 BigQuery 資料倉儲:一個儲存機密資料、一個儲存非機密資料,第三個則儲存品質規則指標。
- Knowledge Catalog 會將資料品質結果儲存在標記範本和標記中。
- Cloud Scheduler 會定義 Cloud Data Quality Engine 的執行時間。
- 三個 Cloud Run 執行個體,如下所示:
- 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
- 另一個執行個體則會執行標記引擎,標記安全資料倉儲中的資料。
- 第三個執行個體會執行 Cloud Data Quality Engine。
- Cloud Data Quality Engine 會定義資料品質規則,並排定資料表和資料欄的資料品質檢查時間。
- Pub/Sub 會發布發現項目。
數據分析資訊主頁會顯示資料表層級和資料欄層級的資料品質報表。
如要偵測與這項控制項相關的問題,架構會提供下列發現項目:
- 資料屬於機密資訊,但未套用任何資料品質標記範本 (正確性和完整性)。
- 資料屬於機密資料,但資料品質標記未套用至機密資料欄。
- 資料屬於機密資料,但資料品質結果未達到規則中設定的門檻。
- 資料不屬於機密資料,且資料品質結果未達到規則設定的門檻。
除了 Cloud Data Quality Engine,您也可以設定 Knowledge Catalog 自動資料品質。
13. 建立並套用成本管理原則
這項控制項需要檢查資料資產,根據政策規定和資料架構確認費用用量。費用指標應全面涵蓋各項費用,不限於儲存空間用量和資料移動。
架構會使用 Knowledge Catalog,在 cost_metrics 代碼範本中加入下列標記:
total_query_bytes_billed:自本月初以來,這項資料資產的查詢位元組總數。total_storage_bytes_billed:自當月開始以來,這項資料資產的計費儲存位元組總數。total_bytes_transferred:跨區域傳輸至這個資料資產的位元組總數。estimated_query_cost:目前這個月資料資產的預估查詢費用 (以美元計)。estimated_storage_cost:資料資產當月的預估儲存空間費用 (以美元計價)。estimated_egress_cost:資料資產做為目的地資料表時,當月預估的美元輸出費用。
這項架構會將 Cloud Billing 的價格資訊匯出至名為 cloud_pricing_export 的 BigQuery 資料表。
下圖顯示適用於這項控制項的服務。
為符合這項控制措施的要求,架構會使用下列服務:
- Cloud Billing 提供帳單資訊。
- Knowledge Catalog 會將費用資訊儲存在標記範本和標記中。
- BigQuery 會透過內建的 INFORMATION_SCHEMA 檢視畫面,儲存匯出的價格資訊和查詢歷來工作資訊。
- 兩個 Cloud Run 執行個體,如下所示:
- 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
- 另一個執行個體則會執行標記引擎,標記安全資料倉儲中的資料。
- Pub/Sub 會發布發現項目。
如要偵測與這項控制項相關的問題,架構會檢查是否有敏感資料資產,但沒有相關聯的費用指標。
14. 瞭解資料來源和歷程
這項控制措施需要能夠檢查資料資產從來源開始的追溯性,以及資料資產歷程的任何變更。
為維護資料來源和歷程的相關資訊,架構會使用 Knowledge Catalog 的內建資料歷程功能。此外,資料擷取指令碼會定義最終來源,並將來源新增為資料歷程圖中的額外節點。
為符合這項控制項的規定,架構會使用知識目錄,將 ultimate_source 標記新增至 CDMC controls 標記範本。ultimate_source 標記會定義這個資料資產的來源。
下圖顯示適用於這項控制項的服務。
為符合這項控制措施的要求,架構會使用下列服務:
- 兩個 BigQuery 資料倉儲:一個儲存機密資料,另一個儲存最終來源資料。
- Knowledge Catalog 會將最終來源儲存在標記範本和標記中。
- 資料擷取指令碼會從 Cloud Storage 載入資料、定義最終來源,並將來源新增至資料沿襲圖。
- 兩個 Cloud Run 執行個體,如下所示:
- 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
- 另一個執行個體則會執行標記引擎,標記安全資料倉儲中的資料。
- Pub/Sub 會發布發現項目。
如要偵測與這項控制措施相關的問題,架構會進行下列檢查:
- 系統偵測到機密資料,但沒有最終來源標記。
- 系統不會為機密資料資產填入沿襲圖。
代碼參照
本節說明此架構使用的代碼範本和代碼,以符合 CDMC 主要控管措施的要求。
資料表層級的 CDMC 控制項代碼範本
下表列出 CDMC 控制代碼範本中的代碼,以及套用至表格的代碼。
| 標記 | 標記 ID | 適用的金鑰控制項 |
|---|---|---|
| 已核准的儲存位置 | approved_storage_location |
4 |
| 核准用途 | approved_use |
8 |
| 資料擁有者電子郵件 | data_owner_email |
2 |
| 資料擁有者名稱 | data_owner_name |
2 |
| 加密方法 | encryption_method |
9 |
| 到期動作 | expiration_action |
11 |
| 是否為權威來源 | is_authoritative |
3 |
| 機密 | is_sensitive |
6 |
| 敏感類別 | sensitive_category |
6 |
| 分享範圍地理位置 | sharing_scope_geography |
8 |
| 共用範圍法人 | sharing_scope_legal_entity |
8 |
| 保留期限 | retention_period |
11 |
| 最終來源 | ultimate_source |
14 |
影響評估代碼範本
下表列出影響評估標記範本中的標記,以及套用至表格的標記。
| 標記 | 標記 ID | 適用的金鑰控制項 |
|---|---|---|
| 主體位置 | subject_locations |
10 |
| 是否為 DPIA 影響評估 | is_dpia |
10 |
| 是否為 PIA 影響評估 | is_pia |
10 |
| 影響評估報告 | impact_assessment_reports |
10 |
| 最近的影響評估 | most_recent_assessment |
10 |
| 最舊的影響評估 | oldest_assessment |
10 |
費用指標代碼範本
下表列出屬於「費用指標」標記範本的標記,以及套用至表格的標記。
| 標記 | 標記 ID | 適用的金鑰控制項 |
|---|---|---|
| 預估查詢費用 | estimated_query_cost |
13 |
| 預估儲存空間費用 | estimated_storage_cost |
13 |
| 預估輸出流量費用 | estimated_egress_cost |
13 |
| 查詢位元組總計費用 | total_query_bytes_billed |
13 |
| 已產生費用的儲存空間位元組總數 | total_storage_bytes_billed |
13 |
| 已傳輸的位元組總數 | total_bytes_transferred |
13 |
資料敏感度標記範本
下表列出屬於「資料私密程度」標記範本且套用至欄位的標記。
| 標記 | 標記 ID | 適用的金鑰控制項 |
|---|---|---|
| 敏感欄位 | sensitive_field |
6 |
| 敏感類型 | sensitive_category |
6 |
安全性政策標記範本
下表列出屬於安全性政策標記範本,且套用至欄位的標記。
| 標記 | 標記 ID | 適用的金鑰控制項 |
|---|---|---|
| 應用程式去識別化方法 | app_deid_method |
9 |
| 平台去識別化方法 | platform_deid_method |
9 |
資料品質標記範本
下表列出完整性和正確性資料品質標記範本中的標記,以及套用至欄位的標記。
| 標記 | 標記 ID | 適用的金鑰控制項 |
|---|---|---|
| 可接受的門檻 | acceptable_threshold |
12 |
| 資料欄名稱 | column_name |
12 |
| 達到門檻 | meets_threshold |
12 |
| 指標 | metric |
12 |
| 最近一次跑步 | most_recent_run |
12 |
| 已驗證的列數 | rows_validated |
12 |
| 成功百分比 | success_percentage |
12 |
欄位層級 CDMC 政策標記
下表列出 CDMC 敏感資料分類政策標記分類中的政策標記,以及套用至欄位的政策標記。這些政策標記會限制欄位層級的存取權,並啟用平台層級的資料去識別化。
| 資料分類 | 標記名稱 | 適用的金鑰控制項 |
|---|---|---|
| 個人識別資訊 | personal_identifiable_information |
7 |
| 個人資訊 | personal_information |
7 |
| 具敏感性的個人識別資訊 | sensitive_personal_identifiable_information |
7 |
| 私密個人資訊 | sensitive_personal_data |
7 |
預先填入的技術中繼資料
下表列出 Knowledge Catalog 預設會為所有 BigQuery 資料資產同步處理的技術中繼資料。
| 中繼資料 | 適用的金鑰控制項 |
|---|---|
| 資產類型 | — |
| 建立時間 | — |
| 到期時間 | 11 |
| 位置 | 4 |
| 資源網址 | 3 |
後續步驟
- 如要進一步瞭解 CDMC 架構,請前往 EDM Council 網站。
- 瞭解安全資料倉儲藍圖使用的安全控管措施。
- 透過 Knowledge Catalog 資料歷程,追蹤 AI 和機器學習工作負載的訓練資料來源和管道轉換。
- 進一步瞭解代碼引擎。
- 查看 GitHub 上封存的 Google Cloud CDMC 參考架構存放區中的自動化指令碼範例。