(已淘汰) 資料網格使用手冊

Cortex Framework 的資料網格可擴充資料基礎,透過 BigQuery 中繼資料和 Knowledge Catalog 啟用資料治理、發現度和存取控管功能。做法是提供一組基本中繼資料資源和 BigQuery 資產註解,這些資源和註解可自訂,並可視需要與資料基礎架構一併部署。這些基本規格提供自訂設定,是中繼資料基礎,可補足 Cortex Framework Data Foundation。請先參閱「資料網格概念」,再繼續閱讀本指南。

本頁概述的步驟專為 Cortex Framework 設定資料網格。在「Data Mesh directories」(資料網格目錄) 區段中,找出各項工作負載專屬資料夾中的資料網格設定檔。

Cortex Framework 的資料網格架構

圖 1:Cortex Framework 的資料網格架構。

設計

Cortex 的資料網格設計與整體資料基礎類似,包含三個階段,並由 Cortex 或使用者管理不同的子元件:

  1. 基本資源規格更新:Cortex 會在每次發布時更新基本資源規格,為資料網格提供標準化的中繼資料基礎。
  2. 自訂資源規格:使用者可在部署前,依據特定用途和需求調整資源規格。
  3. 資料網格部署和更新:使用者可以在 Cortex 設定檔中啟用資料網格。在 Cortex 部署期間,系統會在資料資產之後部署這項服務。此外,使用者可以彈性地獨立部署資料網格,以便進一步更新。

Cortex Framework 的資料網格設計

圖 2:Cortex Framework 的資料網格設計。

資料網格目錄

請在下列位置,找出各項工作負載和資料來源的資料網格基礎設定檔。請注意,目錄包含不同的檔案結構,但所有規格都位於 config 資料夾下。

工作負載 資料來源 目錄路徑
可使用 SAP ECC src/SAP/SAP_REPORTING/config/ecc
SAP S/4 HANA src/SAP/SAP_REPORTING/config/s4
Salesforce Sales Cloud (SFDC) src/SFDC/config
Oracle EBS src/OracleEBS/config
行銷 CM360 src/marketing/src/CM360/config
Google Ads src/marketing/src/GoogleAds/config
Meta src/marketing/src/Meta/config
Salesforce Marketing Cloud (SFMC) src/marketing/src/SFMC/config
TikTok src/marketing/src/TikTok/config
YouTube (搭配 DV360) src/marketing/src/DV360/config
Google Analytics 4 src/marketing/src/GA4/config

中繼資料資源是在資料來源層級定義,每個 Google Cloud 專案有一個 YAML 檔案,其中包含所有資源的清單。使用者可以視需要擴充現有檔案,或在該目錄中建立其他 YAML 檔案,其中包含其他資源規格。

資產註解是在資產層級定義,目錄中包含許多 YAML 檔案,每個檔案有一個註解。

啟用 API 並驗證權限

修改 Data Mesh 的預設值,即可實作說明以外的功能。如需修改 config.json 中資料網格的預設值,以實作說明以外的功能,請務必設定必要的 API 並確認權限,如下表所示。使用資料基礎部署資料網格時,請將權限授予部署使用者或 Cloud Build 帳戶。如果部署作業涉及不同的來源和目標專案,請確保這些 API 和權限在兩個專案中皆已啟用,以便使用這些功能。

功能 權限角色 說明文件
BigQuery 資產和資料列存取權 BigQuery 資料擁有者 詳情請參閱必要角色和必要權限。
BigQuery 資料欄存取權 政策標記管理員 詳情請參閱「與資料欄層級存取控管機制搭配使用的角色」和「使用資料欄層級存取控管機制限制存取權」說明文件。
目錄標記 Data Catalog TagTemplate 擁有者 詳情請參閱「使用 Data Catalog 標記 BigQuery 資料表」和「Data Catalog IAM」說明文件。
Knowledge Catalog 湖泊 Dataplex 編輯者 詳情請參閱「建立湖泊」說明文件。

瞭解基礎資源規格

如要設定 Cortex 的資料網格,主要介面是基本資源規格,這是一組現成的 YAML 檔案,用於定義要部署的中繼資料資源和註解。基本規格提供初始建議和語法範例,但可進一步自訂,以符合使用者需求。這些規格分為兩類:

  • 中繼資料資源:可套用至各種資料資產。例如,Catalog 標記範本會定義如何使用業務領域標記資產。
  • 註解:指定中繼資料資源如何套用至特定資料資產。例如,將特定資料表與銷售網域建立關聯的目錄標記。

以下各節將引導您完成每種規格類型的基本範例,並說明如何自訂這些規格。基本規格會標記 ## CORTEX-CUSTOMER,如果啟用相關聯的部署選項,則應修改這些規格以符合部署作業。如需進階用途,請參閱 src/common/data_mesh/src/data_mesh_types.py 中這些規格結構定義的標準定義。

中繼資料資源

中繼資料資源是專案中的共用實體,可套用至多項資料資產。大多數規格都包含 display_name 欄位,且須符合下列條件:

  • 只能使用 Unicode 字母、數字 (0-9)、底線 (_)、連字號 (-) 和空格 ( )。
  • 開頭或結尾不得為空格。
  • 長度上限為 200 個半形字元。

在某些情況下,display_name 也會做為 ID 使用,這可能會產生額外需求。在這種情況下,我們會提供標準說明文件的連結。

如果部署作業參照不同來源和目標專案中的中繼資料資源,則必須為每個專案定義規格。例如,Cortex Salesforce (SFDC) 包含兩個湖泊規格。一個用於原始和 CDC 區域,另一個用於報表。

Knowledge Catalog 湖泊

Knowledge Catalog 湖泊、可用區和資產用於從工程角度整理資料。湖泊有 region,區域有 location_type,兩者都與 Cortex 位置 (「config.json」>「location」) 相關。Cortex 位置定義 BigQuery 資料集的儲存位置,可以是單一或多區域。location_type 區域應設為 SINGLE_REGION | MULTI_REGION,以便與該區域相符。不過,湖泊區域一律必須是單一區域。如果 Cortex 位置和區域 location_type 為多區域,請在該群組中選取單一區域做為湖泊區域。

  • 規定
    • 湖泊 display_name 會做為lake_id,且必須符合官方規定。區域和資產 display_name 也是如此。專案中所有湖泊的可用區 ID 不得重複。
    • 湖泊規格必須與單一區域建立關聯。
    • asset_name 應與 BigQuery 資料集的 ID 相符,但 display_name 可以是更容易使用的標籤。
  • 限制
    • Knowledge Catalog 僅支援註冊 BigQuery 資料集,而非個別資料表做為 Knowledge Catalog 資產。
    • 資產可能只在單一可用區註冊。
    • Knowledge Catalog 僅支援特定位置。詳情請參閱「Knowledge Catalog 位置」。

請參閱 lakes.yaml 中的範例。

這些資源是在指定 data_mesh_types.Lakes 的 YAML 檔案中定義。

目錄標記範本

Data Catalog 標記範本可用於為 BigQuery 資料表或個別資料欄新增背景資訊。您可以透過與 Knowledge Catalog 搜尋工具整合的方式,從技術和業務角度分類及瞭解資料。這些規則會定義可用來標記資料的特定欄位,以及每個欄位可包含的資訊類型 (例如文字、數字、日期)。目錄標記是範本的例項,包含實際欄位值。

範本欄位 display_name 會做為欄位 ID,且必須符合類別 TagTemplate 中指定的 TagTemplate.fields 規定。如要進一步瞭解支援的欄位類型,請參閱「Data Catalog 欄位類型」。

Cortex 資料網格建立的所有標記範本都可公開讀取。此外,這項功能也為標記範本規格導入額外的 level 概念,定義標記應套用至整個資產、資產中的個別欄位,還是兩者皆套用,可能的值為:ASSET | FIELD | ANY。雖然目前並未嚴格強制執行這項規定,但日後的驗證檢查可能會確保在部署期間,標記會套用至適當層級。

請參閱以下範例。

範本是在 YAML 檔案中定義,用於指定 data_mesh_types.CatalogTagTemplates。

目錄標記是範本的例項,我們會在下方的「資產註解」中討論。

使用標記範本控管資產和資料欄層級的存取權

Cortex Framework 可讓您對與 Catalog 標記範本相關聯的所有構件,啟用資產或資料欄層級的存取控管。舉例來說,如果使用者想根據業務範圍授予資產存取權,可以為 line_of_business 目錄標記範本建立 asset_policies,並為每個業務網域指定不同的主體。每項政策都接受 filters,可用於僅比對具有特定值的標記。在這種情況下,我們可以比對 domain 值。請注意,這些filters僅支援等式比對,不支援其他運算子。如果列出多個篩選器,結果必須符合所有篩選器 (例如 filter_a AND filter_b)。最終的資產政策組合是直接在註解中定義的政策,以及範本政策中的政策聯集。

使用目錄標記的資料欄層級存取控管機制,運作方式類似於在相符欄位套用政策標記。不過,由於一個資料欄只能套用一個政策標記,因此優先順序如下:

  1. 直接政策標記:如果直接在資料欄註解上定義政策標記,則優先採用。
  2. 相符的標記範本政策:否則,系統會根據相關聯目錄標記範本中欄位定義的第一個相符政策,決定存取權。

使用這項功能時,強烈建議您一併啟用或停用目錄標記和存取控制清單 (ACL) 的部署作業。確保 ACL 已正確部署。

如要瞭解這項進階功能的規格,請參閱 data_mesh_types.CatalogTagTemplate 中 asset_policies 和 field_policies 參數的定義。

目錄詞彙

詞彙表是一項工具,可用來提供資料資產中特定資料欄所用字詞的字典,這些字詞可能並非人人都能理解。使用者可以在控制台中手動新增字詞,但資源規格不支援這項操作。

政策分類和標記

政策分類和標記可讓您以標準化方式,對機密資料資產進行資料欄層級存取控管。舉例來說,您可以建立標記分類,控管特定業務範圍的 PII 資料,只有特定群組可以讀取遮蓋資料、未遮蓋資料,或完全沒有讀取權限。

如要進一步瞭解政策分類和標記,請參閱資料欄資料遮蓋簡介說明文件。以下章節特別重要:

Cortex Framework 提供範例政策標記,示範如何指定標記和潛在使用方式,但資料網格部署作業預設不會啟用影響存取控管的資源。

請參閱以下範例。

政策分類是在 YAML 檔案中定義,用於指定 data_mesh_types.PolicyTaxonomies。

素材資源註解

註解會指定適用於特定資產的中繼資料,並可能參照已定義的共用中繼資料資源。註解包括:

  • 資產說明
  • 欄位說明
  • 目錄標記
  • 素材資源、資料列和資料欄層級存取控管

Cortex Framework Data Foundation 為下列工作負載提供預先設定的註解 (說明)。

  • SAP ECC (原始、CDC 和報表)
  • SAP S4 HANA (原始、CDC 和報表)
  • SFDC (報表專用工具)
  • Oracle EBS (僅限回報)
  • CM360 (僅限報表)
  • Google Ads (僅限報表)
  • Meta (僅限報表)
  • SFMC (僅限報表)
  • TikTok (僅限報表)
  • YouTube (搭配 DV360) (僅限報表)
  • Google Analytics 4 (僅限報表)

請參閱以下範例。

註解是在 YAML 檔案中定義,用於指定 data_mesh_types.BqAssetAnnotation。

目錄標記

目錄標記是已定義範本的執行個體,其中指派的欄位值適用於特定資產。請務必指派與相關聯範本中宣告的欄位類型相符的值。

TIMESTAMP 值應採用下列其中一種格式:

  "%Y-%m-%d %H:%M:%S%z"
  "%Y-%m-%d %H:%M:%S"
  "%Y-%m-%d"

請參閱以下範例。

請參閱 data_mesh_types.CatalogTag 中的規格定義。

指定存取權政策讀取者和主體

使用存取權政策,控管 Cortex Framework 中的 BigQuery 資料存取權。這些政策定義了哪些人 (主體) 可以存取特定資料資產、資產中的資料列,甚至是個別資料欄。主體必須遵循 IAM 政策繫結成員定義的特定格式。

素材資源層級存取權

您可以授予各種權限,允許存取整個 BigQuery 資產:

  • READER:查看資產中的資料。
  • WRITER:修改資產並新增資料。
  • OWNER:對資產擁有完整控制權,包括管理存取權。

這些權限等同於 SQL 中的 GRANT DCL 陳述式。

與大多數資源和註解的行為不同,覆寫旗標不會移除具有 OWNERS 角色的現有主體。啟用覆寫功能後,新增的擁有者只會附加至現有擁有者。這項安全措施可避免意外失去存取權。如要移除資產擁有者,請使用控制台。覆寫會移除具有 READER 或 WRITER 角色的現有主體。

請參閱以下範例。

請參閱 data_mesh_types.BqAssetPolicy 中的規格定義。

資料列層級存取權

您可以根據特定資料欄值篩選器,授予一組資料列的存取權。指定資料列存取政策時,系統會將提供的篩選器字串插入 CREATE DDL statement。如果啟用 overwrite 旗標,系統會先捨棄所有現有的資料列存取權政策,再套用新政策。

關於資料列層級存取權,請考量下列事項:

  • 新增任何資料列存取政策,代表未在這些政策中指定的使用者,將無法查看任何資料列。
  • 資料列政策僅適用於資料表,不適用於檢視表。
  • 請避免在資料列存取權政策篩選器中使用分區資料欄。如要瞭解資產類型和分區資料欄,請參閱相關聯的報表設定 YAML 檔案。

如要進一步瞭解資料列層級存取權政策,請參閱「資料列層級安全防護機制的最佳做法」。

請參閱以下範例。

請參閱 data_mesh_types.BqRowPolicy 中的規格定義。

資料欄層級存取權

如要啟用資料欄層級存取權,請使用政策標記名稱和分類名稱識別的政策標記,為個別欄位加上註解。更新政策標記中繼資料資源,設定存取控管。

請參閱以下範例。

請參閱 data_mesh_types.PolicyTagId 中的規格定義。

部署資料網格

資料網格可以做為資料基礎部署作業的一部分,也可以單獨部署。無論是哪種情況,系統都會使用 Cortex config.json 檔案來判斷相關變數,例如 BigQuery 資料集名稱和部署選項。根據預設,部署資料網格時不會移除或覆寫任何現有資源或註解,以免意外遺失資料。不過,如果單獨部署,也可以覆寫現有資源。

部署選項

您可以前往「config.json」>「DataMesh」,根據使用者的需求和支出限制,啟用或停用下列部署選項。

選項 附註
deployDescriptions 這是預設啟用的唯一選項,會部署 BigQuery 註解,並附上資產和資料欄說明。不需啟用任何額外的 API 或權限。
deployLakes 部署湖泊和可用區。
deployCatalog 部署目錄範本資源,以及資產註解中的相關聯標記。
deployACLs 透過資產註解,部署政策分類資源,以及資產、資料列和資料欄層級的存取控管政策。記錄檔包含指出存取權政策變更方式的訊息。

使用 Data Foundation 部署

根據預設,config.json > deployDataMesh 會在每個工作負載建構步驟結束時,部署資料網格資產說明。這項預設設定不需要啟用任何額外的 API 或角色。只要啟用部署選項、必要的 API 和角色,並修改相關聯的資源規格,即可透過資料基礎部署資料網格的其他功能。

單獨部署

如要單獨部署資料網格,使用者可以使用 common/data_mesh/deploy_data_mesh.py 檔案。這項公用程式會在建構程序中,一次部署一個資料網格工作負載,但如果直接呼叫,也可用於一次部署多個工作負載。您應在 config.json 檔案中,啟用要部署規格的工作負載。舉例來說,如果部署 Data Mesh for SAP,請確認 deploySAP=true。

為確保部署時使用必要的套件和版本,您可以使用 Cortex 部署程序所用的相同映像檔,執行公用程式,指令如下:

  # Run container interactively
  docker container run -it gcr.io/kittycorn-public/deploy-kittycorn:v2.0

  # Clone the repo
  git clone https://github.com/GoogleCloudPlatform/cortex-data-foundation

  # Navigate into the repo
  cd cortex-data-foundation

如需可用參數和用法的說明,請執行下列指令:

  python src/common/data_mesh/deploy_data_mesh.py -h

以下是 SAP ECC 的叫用範例:

  python src/common/data_mesh/deploy_data_mesh.py \
    --config-file config/config.json \
    --lake-directories \
        src/SAP/SAP_REPORTING/config/ecc/lakes \
    --tag-template-directories \
        src/SAP/SAP_REPORTING/config/ecc/tag_templates \
    --policy-directories \
        src/SAP/SAP_REPORTING/config/ecc/policy_taxonomies \
    --annotation-directories \
        src/SAP/SAP_REPORTING/config/ecc/annotations

如要瞭解目錄位置,請參閱「Data Mesh 目錄」一節。

覆寫

根據預設,部署資料網格不會覆寫任何現有資源或註解。不過,單獨部署資料網格時,可以啟用 --overwrite 旗標,透過下列方式變更部署作業。

覆寫湖泊、目錄標記範本和政策標記等中繼資料資源時,會刪除名稱相同的所有現有資源,但不會修改名稱不同的現有資源。這表示如果從 YAML 檔案中完全移除資源規格,然後在啟用覆寫功能的情況下重新部署資料網格,該資源規格不會遭到刪除,因為不會有名稱衝突。這樣一來,Cortex 資料網格部署作業就不會影響可能正在使用的現有資源。

如果是湖泊和可用區等巢狀資源,覆寫資源會移除所有子項。舉例來說,覆寫湖泊也會移除現有的區域和資產參照。如果目錄標記範本和政策標記遭到覆寫,現有的相關聯註解參照也會從資產中移除。覆寫資產註解上的目錄標記,只會覆寫共用相同範本的現有目錄標記例項。

只有在提供的有效非空白新說明與現有說明衝突時,素材資源和欄位說明覆寫才會生效。

另一方面,ACL 的運作方式則不同。覆寫 ACL 會移除所有現有主體 (資產層級擁有者除外)。這是因為從存取政策中省略的主體,與獲得存取權的主體同樣重要。

探索資料網格

部署資料網格後,使用者可以透過 Data Catalog 搜尋及查看資料資產。包括根據套用的目錄標記值探索資產。使用者也可以視需要手動建立及套用目錄詞彙表字詞。

您可以在 BigQuery 結構定義頁面查看已部署的存取權政策,瞭解特定資產在各層級套用的政策。

資料歷程

使用者可能會發現,啟用並以視覺化方式呈現 BigQuery 資產之間的歷程,相當實用。您也可以透過 API,以程式輔助方式存取歷程。資料歷程僅支援資產層級歷程。資料歷程與 Cortex 資料網格並未交錯,但日後可能會推出使用歷程的新功能。

如有任何 Cortex 資料網格或 Cortex Framework 要求,請前往支援專區。