在 BigQuery 資料倉儲中導入 CDMC 主要控管架構

CDMC 徽章

許多機構會部署雲端資料倉儲來儲存機密資訊,以便分析資料,用於各種業務目的。本文說明如何在 BigQuery 資料倉儲中,實作由 Enterprise Data Management Council 管理的 Cloud Data Management Capabilities (CDMC) 主要控管架構。

CDMC Key Controls Framework 主要適用於雲端服務供應商和技術供應商。這項架構說明瞭供應商可導入的 14 項重要控管措施,協助客戶有效管理及控管雲端中的機密資料。這些控管措施是由 CDMC 工作小組編寫,有超過 100 家公司的 300 多位專業人士參與。在撰寫架構時,CDMC 工作小組考量了許多現有的法律和法規要求。

這項 BigQuery 和 Data Catalog 參考架構已通過 CDMC 關鍵控制架構的評估和認證,成為 CDMC 認證的雲端解決方案。參考架構會使用各種 Google Cloud 服務和功能,以及公開程式庫,實作 CDMC 主要控制項和建議的自動化功能。本文說明如何實作重要控管措施,協助保護 BigQuery 資料倉儲中的機密資料。

架構

下列 Google Cloud 參考架構符合 CDMC 金鑰控制架構測試規格 v1.1.1。圖表中的數字代表 Google Cloud 服務所處理的主要控制項。

CDMC 架構元件。

參考架構以安全資料倉儲藍圖為基礎,提供有助於保護 BigQuery 資料倉儲的架構,包括機密資訊。在上圖中,頂端的專案 (灰色) 是安全資料倉儲藍圖的一部分,而資料管理專案 (藍色) 則包含為符合 CDMC Key Controls Framework 需求而新增的服務。如要導入 CDMC 金鑰控管架構,架構會擴充資料管理專案。資料治理專案提供分類、生命週期管理和資料品質管理等控制項。這個專案也提供稽核架構的方法,並回報發現的結果。

如要進一步瞭解如何實作這項參考架構,請參閱 GitHub 上的 Google Cloud CDMC 參考架構

CDMC 主要控管架構總覽

下表摘要說明 CDMC Key Controls Framework

# 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 查詢資料。您也可以使用 Looker Studio 或其他與 BigQuery 相容的商業智慧工具建立報表。您可以查看下列報表:

  • 上次執行結果摘要
  • 上次執行結果的詳細資料
  • 上次執行中繼資料
  • 範圍內上次執行的資料資產
  • 上次執行資料集統計資料

下圖顯示適用於這項控制項的服務。

Control 1 架構元件。

為符合這項控制措施的要求,架構會使用下列服務:

  • Pub/Sub 會發布發現項目。
  • Dataflow 會將發現項目載入 BigQuery 執行個體。
  • BigQuery 會儲存發現項目資料,並提供摘要檢視畫面。
  • Looker Studio 提供資訊主頁和報表。

下列螢幕截圖顯示 Looker Studio 摘要資訊主頁的範例。

Looker Studio 摘要資訊主頁範例。

下圖為按資料資產顯示的調查結果範例。

按資料資產查看發現項目的範例檢視畫面。

2. 為遷移和雲端產生的資料建立資料擁有權

為符合這項控制項的規定,架構會自動檢查 BigQuery 資料倉儲中的資料,並新增資料分類標記,指出所有機密資料都已識別擁有者。

Data Catalog 會處理兩種中繼資料:技術中繼資料和業務中繼資料。對於給定的專案,Data Catalog 會自動分類 BigQuery 資料集、資料表和檢視區塊,並填入技術中繼資料。目錄和資料資產之間的同步作業會以近乎即時的方式進行。

這項架構會使用 Tag Engine,將下列業務中繼資料標記新增至 Data Catalog 中的 CDMC controls 標記範本:

  • is_sensitive:資料資產是否含有機密資料 (請參閱資料分類的控制措施 6)
  • owner_name:資料擁有者
  • owner_email:擁有者的電子郵件地址

系統會使用預設值填入標記,這些預設值儲存在資料控管專案的參照 BigQuery 資料表中。

根據預設,架構會在資料表層級設定擁有權中繼資料,但您可以變更架構,改為在資料欄層級設定中繼資料。詳情請參閱「Data Catalog 標記和標記範本」。

下圖顯示適用於這項控制項的服務。

Control 2 架構元件。

為符合這項控制措施的要求,架構會使用下列服務:

  • 兩個 BigQuery 資料倉儲:一個儲存機密資料,另一個儲存資料資產擁有權的預設值。
  • Data Catalog 會透過標記範本和標記儲存擁有權中繼資料。
  • 兩個 Cloud Run 執行個體,如下所示:
    • 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
    • 另一個執行個體會執行代碼引擎,為安全資料倉儲中的資料加上標記。
  • Pub/Sub 會發布發現項目。

如要偵測與這項控制項相關的問題,架構會檢查敏感資料是否已指派擁有者名稱標記。

3. 自動化功能可管理及支援資料來源和使用情形

這項控制項需要資料資產分類,以及授權來源和授權經銷商的資料登錄。這個架構會使用 Data Catalog,將 is_authoritative 標記新增至 CDMC controls 標記範本。這個標記會定義資料資產是否為權威。

Data Catalog 會編目 BigQuery 資料集、資料表和檢視區塊,並提供技術中繼資料和業務中繼資料。系統會自動填入技術中繼資料,包括資源網址 (即佈建點的位置)。商家中繼資料是在 Tag Engine 設定檔中定義,且包含 is_authoritative 標記。

在下一次排定的執行作業中,標記引擎會從 BigQuery 參考資料表儲存的預設值,在 CDMC controls 標記範本中填入 is_authoritative 標記。

下圖顯示適用於這項控制項的服務。

Control 3 架構元件。

為符合這項控制措施的要求,架構會使用下列服務:

  • 兩個 BigQuery 資料倉儲:一個儲存機密資料,另一個儲存資料資產權威來源的預設值。
  • Data Catalog 會透過標記儲存具公信力的來源中繼資料。
  • 兩個 Cloud Run 執行個體,如下所示:
    • 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
    • 另一個執行個體則會執行代碼引擎,為安全資料倉儲中的資料加上標記。
  • Pub/Sub 會發布發現項目。

如要偵測與這項控制項相關的問題,架構會檢查機密資料是否已指派授權來源標記。

4. 管理資料主權和跨國資料傳輸

這項控制項需要架構檢查資料登錄,確認區域專屬的儲存空間需求,並強制執行使用規則。這份報表說明資料資產的地理位置。

這個架構會使用 Data Catalog,將 approved_storage_location 標記新增至 CDMC controls 標記範本。這個標記會定義資料資產可儲存的地理位置。

資料的實際位置會以技術中繼資料的形式,儲存在 BigQuery 資料表詳細資料中。BigQuery 不允許管理員變更資料集或資料表的位置。如果管理員想變更資料位置,必須複製資料集

資源位置機構政策服務限制會定義可儲存資料的 Google Cloud 區域。根據預設,架構會在機密資料專案上設定限制,但您也可以視需要,在機構或資料夾層級設定限制。代碼引擎會將允許的位置複製到 Data Catalog 代碼範本,並將位置儲存在 approved_storage_location 代碼中。如果您啟用 Security Command Center Premium 級,且有人更新資源位置機構政策服務限制,Security Command Center 會針對儲存在更新後政策以外的資源,產生安全性弱點發現項目

Access Context Manager 可定義使用者必須位於哪個地理位置,才能存取資料資產。使用存取層級,您可以指定要求可來自的區域。然後將存取權政策新增至機密資料專案的 VPC Service Controls 範圍。

為追蹤資料移轉作業,BigQuery 會針對每個資料集,為每項工作和查詢保留完整的稽核追蹤記錄。稽核記錄會儲存在 BigQuery 資訊結構定義工作檢視畫面中。

下圖顯示適用於這項控制項的服務。

Control 4 架構元件。

為符合這項控制措施的要求,架構會使用下列服務:

  • 機構政策服務會定義並強制執行資源位置限制。
  • Access Context Manager 會定義使用者可從哪些位置存取資料。
  • 兩個 BigQuery 資料倉儲:一個儲存機密資料,另一個則代管用於檢查位置資訊政策的遠端函式。
  • Data Catalog 會將核准的儲存位置儲存為標記。
  • 兩個 Cloud Run 執行個體,如下所示:
    • 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
    • 另一個執行個體則會執行代碼引擎,為安全資料倉儲中的資料加上標記。
  • Pub/Sub 會發布發現項目。
  • Cloud Logging 會寫入稽核記錄。
  • Security Command Center 會針對資源位置或資料存取權相關的發現項目產生報告。

如要偵測與這項控制項相關的問題,架構會納入一項發現,判斷核准的位置資訊標記是否包含機密資料的位置。

5. 實作、使用資料目錄,並確保資料目錄可互通

這項控制項需要有資料目錄,且架構可掃描新資產和更新資產,並視需要新增中繼資料。

為符合這項控制措施的要求,架構會使用資料目錄。Data Catalog 會自動記錄Google Cloud 資產,包括 BigQuery 資料集、資料表和檢視區塊。在 BigQuery 中建立新資料表時,Data Catalog 會自動註冊新資料表的技術中繼資料和結構定義。更新 BigQuery 中的資料表時,資料目錄幾乎會立即更新項目。

下圖顯示適用於這項控制項的服務。

Control 5 架構元件。

為符合這項控制措施的要求,架構會使用下列服務:

  • 兩個 BigQuery 資料倉儲:一個儲存機密資料,另一個儲存非機密資料。
  • Data Catalog 會儲存資料表和欄位的技術中繼資料。

根據預設,在這個架構中,Data Catalog 會儲存 BigQuery 的技術中繼資料。視需要整合 Data Catalog 與其他資料來源

6. 定義及使用資料分類

這項評估需要根據資料的機密程度進行分類,例如是否為 PII、是否可識別客戶,或是否符合貴機構定義的其他標準。為符合這項控制措施的規定,架構會建立資料資產及其機密程度的報表。您可以利用這份報表,確認機密程度設定是否正確。此外,每項新資料資產或現有資料資產的變更,都會導致資料目錄更新。

分類會儲存在資料表層級和資料欄層級的 Data Catalog 標記範本中。sensitive_category分類參考表可讓您為可用的 Sensitive Data Protection 資訊類型 (infoType) 排序,機密程度越高的內容排名越高。

為符合這項控制措施的要求,架構會使用 Sensitive Data Protection、Data Catalog 和 Tag Engine,在 BigQuery 資料表的機密資料欄中新增下列標記:

  • is_sensitive:資料資產是否含有私密資訊
  • sensitive_category:資料類別,可以是下列任一項目:
    • 具敏感性的個人識別資訊
    • 個人識別資訊
    • 私密個人資訊
    • 個人資訊
    • 公開資訊

您可以變更資料類別,以符合需求。舉例來說,您可以新增重大非公開資訊 (MNPI) 分類。

Sensitive Data Protection 檢查資料後,標記引擎會讀取每個資產的 DLP results 表格,彙整發現項目。如果資料表包含一或多個含有機密 infoType 的資料欄,系統會判斷最顯著的 infoType,並將機密資料欄和整個資料表標記為最高等級的類別。標記引擎也會為資料欄指派相應的政策標記,並為表格指派 is_sensitive 布林值標記。

您可以使用 Cloud Scheduler 自動執行 Sensitive Data Protection 檢查。

下圖顯示適用於這項控制項的服務。

Control 6 架構元件。

為符合這項控制措施的要求,架構會使用下列服務:

  • 四個 BigQuery 資料倉儲會儲存下列資訊:
    • 機密資料
    • Sensitive Data Protection 結果資訊
    • 資料分類參考資料
    • 代碼匯出資訊
  • Data Catalog 會儲存分類標記。
  • Sensitive Data Protection 會檢查資產是否含有機密 infoType。
  • Compute Engine 會執行「檢查資料集」指令碼,針對每個 BigQuery 資料集觸發 Sensitive Data Protection 工作。
  • 兩個 Cloud Run 執行個體,如下所示:
    • 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
    • 另一個執行個體則會執行代碼引擎,為安全資料倉儲中的資料加上標記。
  • Pub/Sub 會發布發現項目。

如要偵測與這項控制項相關的問題,架構會提供下列發現項目:

  • 機密資料是否已指派機密類別標記。
  • 機密資料是否已指派資料欄層級的機密類型標記。

7. 管理、強制執行及追蹤資料授權

根據預設,只有創作者和擁有者會獲得權利,並可存取私密資料。此外,這項控制措施要求架構追蹤所有私密資料存取作業。

為符合這項控制措施的要求,架構會使用 BigQuery 中的 cdmc sensitive data classification 政策標記分類,控管 BigQuery 資料表中含有機密資料的資料欄存取權。分類包含下列政策標記:

  • 具敏感性的個人識別資訊
  • 個人識別資訊
  • 私密個人資訊
  • 個人資訊

政策標記可控管誰能查看 BigQuery 資料表中的機密資料欄。這項架構會將這些政策標記對應至從 Sensitive Data Protection infoType 衍生而來的機密程度分類。舉例來說,sensitive_personal_identifiable_information 政策標記和敏感類別會對應至 infoType,例如 AGEDATE_OF_BIRTHPHONE_NUMBEREMAIL_ADDRESS

架構會使用 Identity and Access Management (IAM) 管理需要存取資料的群組、使用者和服務帳戶。系統會為特定資產授予 IAM 權限,以取得資料表層級的存取權。此外,您還能根據政策標記設定資料欄層級的存取權,精細控管機密資料資產的存取權。根據預設,使用者無法存取已定義政策標記的資料欄。

為確保只有經過驗證的使用者可以存取資料,Google Cloud 使用 Cloud Identity,您可以將其與現有的身分識別提供者聯合,以驗證使用者。

這項控制項也要求架構定期檢查未定義權利資料資產。偵測器由 Cloud Scheduler 管理,會檢查下列情境:

  • 資料資產包含敏感類別,但沒有相關的政策標記。
  • 類別與政策標記不符。

發生這些情況時,偵測器會產生發現項目,並由 Pub/Sub 發布,然後由 Dataflow 寫入 BigQuery 的 events 資料表。接著,您可以按照步驟 1 的說明,將調查結果發布至補救工具。資料控管法規遵循

下圖顯示適用於這項控制項的服務。

Control 7 架構元件。

為符合這項控制措施的要求,架構會使用下列服務:

  • BigQuery 資料倉儲會儲存機密資料,以及精細存取權控管的政策標記繫結。
  • IAM 會管理存取權。
  • Data Catalog 會儲存敏感類別的資料表層級和資料欄層級標記。
  • 兩個 Cloud Run 執行個體,如下所示:
    • 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
    • 另一個執行個體則會執行代碼引擎,為安全資料倉儲中的資料加上標記。

如要偵測與這項控制項相關的問題,架構會檢查機密資料是否具有對應的政策標記。

8. 管理資料的存取、使用和結果,確保符合道德規範

這項控制項要求架構儲存資料供應商和資料消費者之間的資料共用協議,包括核准的消費目的清單。然後,系統會使用查詢標籤,將機密資料的用途對應至儲存在 BigQuery 中的權利。當消費者在 BigQuery 中查詢私密資料時,必須指定符合權限的有效用途 (例如 SET @@query_label = “use:3”;)。

這個架構會使用 Data Catalog,將下列標記新增至 CDMC controls 標記範本。這些標記代表與資料提供者簽訂的資料共用協議:

  • approved_use:資料資產的核准用途或使用者
  • sharing_scope_geography:資料資產可共用的地理位置清單
  • sharing_scope_legal_entity:可共用資料資產的同意實體清單

另一個 BigQuery 資料倉儲包含 entitlement_management 資料集,其中有下列資料表:

  • provider_agreement:與資料供應商簽訂的資料共用協議,包括同意的法人和地理範圍。這項資料是 shared_scope_geographysharing_scope_legal_entity 標記的預設值。
  • consumer_agreement:與資料消費者簽署的資料共用協議,包括同意的法律實體和地理範圍。每份協議都與資料資產的 IAM 繫結相關聯。
  • use_purpose:消費目的,例如資料資產的使用說明和允許的作業
  • data_asset:資料資產的相關資訊,例如資產名稱和資料擁有者詳細資料。

為稽核資料共用協議,BigQuery 會針對每個資料集,維護每項工作和查詢的完整稽核追蹤記錄。稽核記錄會儲存在 BigQuery 資訊結構定義工作檢視畫面中。將查詢標籤與工作階段建立關聯,並在工作階段中執行查詢後,您就能收集具有該查詢標籤的查詢稽核記錄。詳情請參閱 BigQuery 稽核記錄參考資料

下圖顯示適用於這項控制項的服務。

Control 8 架構元件。

為符合這項控制措施的要求,架構會使用下列服務:

  • 兩個 BigQuery 資料倉儲:一個儲存機密資料,另一個儲存授權資料,包括供應商和消費者資料共用協議,以及核准的使用目的。
  • Data Catalog 會將供應商資料共用協議資訊儲存為標記。
  • 兩個 Cloud Run 執行個體,如下所示:
    • 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
    • 另一個執行個體則會執行代碼引擎,為安全資料倉儲中的資料加上標記。
  • Pub/Sub 會發布發現項目。

如要偵測與這項控制項相關的問題,架構會提供下列發現項目:

  • entitlement_management 資料集中是否有資料資產的項目。
  • 是否對敏感資料表執行作業,且使用案例已過期 (例如 consumer_agreement table 中的 valid_until_date 已過期)。
  • 作業是否在標籤金鑰錯誤的敏感資料表上執行。
  • 作業是否在敏感資料表上執行,且使用空白或未獲核准的用途標籤值。
  • 是否使用未獲核准的作業方法 (例如 SELECTINSERT) 查詢機密資料表。
  • 消費者查詢私密資料時指定的記錄用途,是否符合資料共用協議。

9. 資料安全無虞,且控管措施有憑有據

這項控制措施要求導入資料加密和去識別化機制,以協助保護私密資料,並提供這些控制措施的記錄。

這個架構是以 Google 預設安全性為基礎,包括靜態加密。此外,您也可以透過客戶自行管理的加密金鑰 (CMEK),管理自己的金鑰。Cloud KMS 可讓您使用軟體支援的加密金鑰,或通過 FIPS 140-2 第 3 級驗證的硬體安全性模組 (HSM) 加密資料。

這項架構使用透過政策標記設定的資料欄層級動態資料遮蓋,並將機密資料儲存在獨立的 VPC Service Controls 範圍內。您也可以新增應用程式層級的去識別化功能,這項功能可實作於內部部署環境,或做為資料擷取管道的一部分。

根據預設,這項架構會使用 HSM 實作 CMEK 加密,但同時也支援 Cloud External Key Manager (Cloud EKM)。

下表說明架構為 us-central1 地區實作的安全性政策範例。您可以根據需求調整政策,包括為不同地區新增不同政策。

Data sensitivity 預設加密方法 其他允許的加密方法 預設去識別化方法 其他允許的去識別化方法
公開資訊 預設加密 不限 不限
具敏感性的個人識別資訊 支援 HSM 的 CMEK EKM 失效 SHA-256 雜湊或預設遮蓋值
個人識別資訊 支援 HSM 的 CMEK EKM SHA-256 雜湊 設為空值或預設遮蓋值
私密個人資訊 支援 HSM 的 CMEK EKM 預設遮蓋值 SHA-256 雜湊或 Nullify
個人資訊 支援 HSM 的 CMEK EKM 預設遮蓋值 SHA-256 雜湊或 Nullify

這項架構會使用 Data Catalog,將 encryption_method 標記新增至資料表層級的 CDMC controls 標記範本。encryption_method 定義資料資產使用的加密方法。

此外,架構會建立 security policy template 標記,用來識別特定欄位套用的去識別化方法。此架構會使用 platform_deid_method,並透過動態資料遮蓋套用。您可以新增 app_deid_method,並使用安全資料倉儲藍圖中包含的 Dataflow 和 Sensitive Data Protection 資料擷取管道填入資料。

下圖顯示適用於這項控制項的服務。

Control 9 架構元件。

為符合這項控制措施的要求,架構會使用下列服務:

  • 兩個選用的 Dataflow 執行個體,一個執行應用程式層級的去識別化,另一個執行重新識別化。
  • 三個 BigQuery 資料倉儲:一個儲存機密資料、一個儲存非機密資料,第三個則儲存安全性政策。
  • Data Catalog 會儲存加密和去識別化標記範本。
  • 兩個 Cloud Run 執行個體,如下所示:
    • 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
    • 另一個執行個體則會執行代碼引擎,為安全資料倉儲中的資料加上標記。
  • 發布至 Pub/Sub 的發現項目。

如要偵測與這項控制項相關的問題,架構會提供下列發現項目:

  • 加密方法標記的值與指定私密程度和位置的允許加密方法不符。
  • 資料表含有敏感資料欄,但安全性政策範本標記含有無效的平台層級去識別化方法。
  • 資料表含有機密資料欄,但缺少「安全性政策範本」標記。

10. 已定義並實施資料隱私權架構

這項控制項要求架構檢查資料目錄和分類,判斷您是否必須建立資料保護影響評估 (DPIA) 報告或隱私權影響評估 (PIA) 報告。隱私權評估因地區和監管機構而異。如要判斷是否需要影響評估,架構必須考量資料的所在地,以及資料主體的所在地。

這個架構會使用 Data Catalog,將下列標記新增至 Impact assessment 標記範本:

  • subject_locations:這個資產中資料所指主體的所在位置。
  • is_dpia:是否已完成這項資產的資料隱私權影響評估 (DPIA)。
  • is_pia:是否已完成這項資產的隱私權影響評估 (PIA)。
  • impact_assessment_reports:影響評估報告的儲存位置外部連結。
  • most_recent_assessment:最近一次影響評估的日期。
  • oldest_assessment:首次影響評估的日期。

控制項 6 所定義,標記引擎會將這些標記新增至每個機密資料資產。偵測器會根據 BigQuery 中的政策表驗證這些標記,包括資料落地、主體位置、資料私密性 (例如是否為 PII) 的有效組合,以及需要哪種影響評估類型 (PIA 或 DPIA)。

下圖顯示適用於這項控制項的服務。

Control 10 架構元件。

為符合這項控制措施的要求,架構會使用下列服務:

  • 四個 BigQuery 資料倉儲會儲存下列資訊:
    • 機密資料
    • 非機密資料
    • 影響評估政策和權利時間戳記
    • 用於資訊主頁的代碼匯出
  • Data Catalog 會將影響評估詳細資料儲存在標記範本中的標記內。
  • 兩個 Cloud Run 執行個體,如下所示:
    • 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
    • 另一個執行個體則會執行代碼引擎,為安全資料倉儲中的資料加上標記。
  • Pub/Sub 會發布發現項目。

如要偵測與這項控制項相關的問題,架構會提供下列發現項目:

  • 存在機密資料,但沒有影響評估範本。
  • 存在機密資料,但未連結至 DPIA 或 PIA 報告。
  • 代碼不符合政策表格中的規定。
  • 影響評估的日期早於消費者協議表格中,最近核准的資料資產授權日期。

11. 規劃及管理資料生命週期

這項控制措施需要檢查所有資料資產,以判斷資料生命週期政策是否存在並遵守。

這個架構會使用 Data Catalog,將下列標記新增至 CDMC controls 標記範本:

  • retention_period:保留資料表的時間 (以天為單位)
  • expiration_action:保留期限結束時,是否要封存或清除資料表

根據預設,架構會使用下列保留期限和到期動作:

資料類別 保留期限 (以天為單位) 到期動作
具敏感性的個人識別資訊 60 清除
個人識別資訊 90 封存
私密個人資訊 180 封存
個人資訊 180 封存

記錄管理工具是 BigQuery 的開放原始碼資產,可根據上述標記值和設定檔,自動清除及封存 BigQuery 資料表。清除程序會為資料表設定到期日,並建立具有到期時間的快照資料表,該時間是在記錄管理員設定中定義。預設到期時間為 30 天。在軟刪除期間,您可以擷取資料表。 封存程序會為每個超過保留期限的 BigQuery 資料表建立外部資料表。資料表會以 Parquet 格式儲存在 Cloud Storage 中,並升級為 BigLake 資料表,方便您在 Data Catalog 中為外部檔案加上中繼資料標記。

下圖顯示適用於這項控制項的服務。

Control 11 架構元件。

為符合這項控制措施的要求,架構會使用下列服務:

  • 兩個 BigQuery 資料倉儲:一個儲存機密資料,另一個儲存資料保留政策。
  • 兩個 Cloud Storage 執行個體,一個提供封存儲存空間,另一個則儲存記錄。
  • Data Catalog 會將保留期限和動作儲存在標記範本和標記中。
  • 兩個 Cloud Run 執行個體,一個執行 Record Manager,另一個部署偵測器。
  • 三個 Cloud Run 執行個體,如下所示:
    • 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
    • 另一個執行個體則會執行代碼引擎,為安全資料倉儲中的資料加上標記。
    • 另一個執行個體則會執行 Record Manager,自動清除及封存 BigQuery 資料表。
  • Pub/Sub 會發布發現項目。

如要偵測與這項控制項相關的問題,架構會提供下列發現項目:

  • 如果是敏感資產,請確保保留方式符合資產所在位置的政策。
  • 如果是敏感資產,請確保保留期限符合資產所在位置的政策。

12. 資料品質管理

這項控制項需要根據資料剖析或使用者定義的指標,評估資料品質。

這項架構可讓您為個別或匯總值定義資料品質規則,並為特定資料表欄指派門檻。包括代碼範本的正確性和完整性。 Data Catalog 會在每個標記範本中新增下列標記:

  • column_name:指標適用的資料欄名稱
  • metric:指標或品質規則的名稱
  • rows_validated:通過驗證的資料列數
  • success_percentage:符合這項指標的值所占的百分比
  • acceptable_threshold:這項指標的可接受門檻
  • meets_threshold:品質分數 (success_percentage 值) 是否達到可接受的門檻
  • most_recent_run:指標或品質規則最近一次執行的時間

下圖顯示適用於這項控制項的服務。

Control 12 架構元件。

為符合這項控制措施的要求,架構會使用下列服務:

  • 三個 BigQuery 資料倉儲:一個儲存機密資料、一個儲存非機密資料,第三個則儲存品質規則指標。
  • Data Catalog 會將資料品質結果儲存在標記範本和標記中。
  • Cloud Scheduler 會定義 Cloud Data Quality Engine 的執行時間。
  • 三個 Cloud Run 執行個體,如下所示:
    • 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
    • 另一個執行個體則會執行代碼引擎,為安全資料倉儲中的資料加上標記。
    • 第三個執行個體會執行 Cloud Data Quality Engine
  • Cloud Data Quality Engine 會定義資料品質規則,並排定資料表和資料欄的資料品質檢查時間。
  • Pub/Sub 會發布發現項目。

Looker Studio 資訊主頁會顯示資料表和資料欄層級的資料品質報表。

如要偵測與這項控制項相關的問題,架構會提供下列發現項目:

  • 資料屬於機密資訊,但未套用任何資料品質標記範本 (正確性和完整性)。
  • 資料屬於機密資料,但資料品質標記未套用至機密資料欄。
  • 資料屬於敏感資料,但資料品質結果未達到規則中設定的門檻。
  • 資料不屬於機密資料,且資料品質結果未超出規則設定的門檻。

除了 Cloud Data Quality Engine,您也可以設定 Dataplex Universal Catalog 資料品質工作

13. 建立並套用成本管理原則

這項控制項需要檢查資料資產,根據政策規定和資料架構確認費用用量。成本指標應全面涵蓋各項費用,而不僅限於儲存空間使用和移動。

這個架構會使用 Data 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 資料表。

下圖顯示適用於這項控制項的服務。

Control 13 架構元件。

為符合這項控制措施的要求,架構會使用下列服務:

  • Cloud Billing 提供帳單資訊。
  • Data Catalog 會將費用資訊儲存在標記範本和標記中。
  • BigQuery 會透過內建的 INFORMATION_SCHEMA 檢視畫面,儲存匯出的價格資訊和查詢歷來工作資訊。
  • 兩個 Cloud Run 執行個體,如下所示:
    • 其中一個執行個體會執行報表引擎,檢查是否已套用標記並發布結果。
    • 另一個執行個體則會執行代碼引擎,為安全資料倉儲中的資料加上標記。
  • Pub/Sub 會發布發現項目。

如要偵測與這項控制項相關的問題,架構會檢查是否有敏感資料資產,但沒有相關聯的費用指標。

14. 瞭解資料出處和歷程

這項控制項需要能夠檢查資料資產的追溯性,包括來源和資料資產沿襲的任何變更。

為維護資料出處和歷程的相關資訊,架構會使用 Data Catalog 的內建資料歷程功能。此外,資料擷取指令碼會定義最終來源,並將來源新增為資料沿襲圖的額外節點。

為符合這項控制措施的規定,架構會使用 Data Catalog 將 ultimate_source 標記新增至 CDMC controls 標記範本。ultimate_source 標記會定義這個資料資產的來源。

下圖顯示適用於這項控制項的服務。

Control 14 架構元件。

為符合這項控制措施的要求,架構會使用下列服務:

  • 兩個 BigQuery 資料倉儲:一個儲存機密資料,另一個儲存最終來源資料。
  • Data 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

預先填入的技術中繼資料

下表列出 Data Catalog 預設會為所有 BigQuery 資料資產同步處理的技術中繼資料。

中繼資料 適用的金鑰控制項
資產類型
建立時間
到期時間 11
位置 4
資源網址 3

後續步驟