(已淘汰) 資料網格使用手冊
Cortex Framework 的資料網格可擴充資料基礎,透過 BigQuery 中繼資料和 Knowledge Catalog 啟用資料治理、發現度和存取控管功能。做法是提供一組基本中繼資料資源和 BigQuery 資產註解,這些資源和註解可自訂,並可視需要與資料基礎架構一併部署。這些基本規格提供自訂設定,是中繼資料基礎,可補足 Cortex Framework Data Foundation。請先參閱「資料網格概念」,再繼續閱讀本指南。
本頁概述的步驟專為 Cortex Framework 設定資料網格。在「Data Mesh directories」(資料網格目錄) 區段中,找出各項工作負載專屬資料夾中的資料網格設定檔。

設計
Cortex 的資料網格設計與整體資料基礎類似,包含三個階段,並由 Cortex 或使用者管理不同的子元件:
- 基本資源規格更新:Cortex 會在每次發布時更新基本資源規格,為資料網格提供標準化的中繼資料基礎。
- 自訂資源規格:使用者可在部署前,依據特定用途和需求調整資源規格。
- 資料網格部署和更新:使用者可以在 Cortex 設定檔中啟用資料網格。在 Cortex 部署期間,系統會在資料資產之後部署這項服務。此外,使用者可以彈性地獨立部署資料網格,以便進一步更新。

資料網格目錄
請在下列位置,找出各項工作負載和資料來源的資料網格基礎設定檔。請注意,目錄包含不同的檔案結構,但所有規格都位於 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 為多區域,請在該群組中選取單一區域做為湖泊區域。
- 規定
- 限制
- 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)。最終的資產政策組合是直接在註解中定義的政策,以及範本政策中的政策聯集。
使用目錄標記的資料欄層級存取控管機制,運作方式類似於在相符欄位套用政策標記。不過,由於一個資料欄只能套用一個政策標記,因此優先順序如下:
- 直接政策標記:如果直接在資料欄註解上定義政策標記,則優先採用。
- 相符的標記範本政策:否則,系統會根據相關聯目錄標記範本中欄位定義的第一個相符政策,決定存取權。
使用這項功能時,強烈建議您一併啟用或停用目錄標記和存取控制清單 (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 要求,請前往支援專區。