管理資料產品

本文適用於資料產品擁有者,說明如何更新、刪除及授予 Knowledge Catalog (原稱 Dataplex Universal Catalog) 中資料產品的存取權。

如要進一步瞭解資料產品的架構和重要概念,請參閱「關於資料產品」。

事前準備

  1. 啟用 Dataplex 和 BigQuery API。

    啟用 API 時所需的角色

    如要啟用 API,您需要服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色

    啟用 API

必要的角色

如要取得管理資料產品所需的權限,請要求管理員授予您專案的下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這些預先定義的角色具備管理資料產品所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要管理資料產品,必須具備下列權限:

  • 編輯 overview 系統切面類型: dataplex.entryGroups.useOverviewAspect
  • 編輯 refresh cadence 系統切面類型: dataplex.entryGroups.useRefreshCadenceAspect
  • 核准資料產品的存取要求: dataplex.dataProducts.approve

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

BigQuery 模型存取控管

資料產品中的 BigQuery 模型存取權,是透過套用至父項資料集 IAM 政策的 IAM 條件來管理。

如果您刪除 BigQuery 模型,然後使用相同名稱重新建立,Knowledge Catalog 會透過資料產品還原先前授予 Google 群組或服務帳戶的權限。

設定權限,讓使用者能探索資料產品

如要讓潛在消費者搜尋、查看及要求存取資料產品,資料產品擁有者必須授予資料產品資源適當的 IAM 角色,確保產品可供探索:

  • 搜尋、查看及要求存取資料產品: Dataplex 資料產品消費者 (dataplex.dataProductsConsumer)

  • 查看資料產品定義和中繼資料 (唯讀存取權): Dataplex 資料產品檢視者 (dataplex.dataProductsViewer)

管理資料產品存取要求

資料產品消費者提出存取要求時,資料產品擁有者會收到電子郵件通知。擁有者可以透過 Google Cloud 控制台或 API 審查、核准或拒絕這些要求。

控制台

查看特定資料產品的存取要求

  1. 前往 Google Cloud 控制台的 Knowledge Catalog「資料產品」頁面。

    前往「資料產品」

  2. 按一下要查看存取要求的資料產品。

  3. 按一下「存取要求管理」分頁標籤。

  4. 選取要查看要求的申請人。

  5. 按一下「動作」,然後點按「核准」或「拒絕」

  6. 按一下 [儲存]

查看多個資料產品的存取要求

  1. 前往 Google Cloud 控制台的 Knowledge Catalog「Governance workflows」(控管工作流程) 頁面。

    前往「治理工作流程」

  2. 按一下「待核准」分頁標籤。

  3. 選用:依特定資料產品名稱篩選清單,即可找出該產品的要求。

  4. 選取目標要求,然後按一下「核准」或「拒絕」

  5. 按一下 [儲存]

核准後的行為

  • 使用者要求:要求使用者身分存取權的消費者,會自動新增為對應存取權群組的 Google 群組成員。

  • 服務帳戶要求:如果消費者要求服務帳戶的存取權,系統會授予權限,讓他們模擬對應存取權群組的資料生產者服務帳戶。

處理完畢後,要求狀態會自動更新,項目也會移至「核准記錄」分頁。

REST

列出所有待處理的存取要求

如要列出特定專案和位置中,等待您審查的所有存取要求,請使用自訂集合方法 :listReviewable 傳送 GET 要求:

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests:listReviewable"

更改下列內容:

  • PROJECT_ID:您 Google Cloud 專案的 ID

  • LOCATION:資料產品所在的區域 (例如 us-central1)

核准存取要求

擁有 dataplex.dataProducts.approve 權限的資料產品擁有者可以將 POST 要求傳送至自訂方法 :approve,核准待處理的要求:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests/CHANGE_REQUEST_ID:approve"

更改下列內容:

  • PROJECT_ID:您 Google Cloud 專案的 ID

  • LOCATION:資料產品所在的區域 (例如 us-central1)

  • CHANGE_REQUEST_ID:要核准的存取要求專屬 ID

與透過控制台核准不同,使用 REST API 核准變更要求時,系統不會自動修改 Google 群組成員資格或設定服務帳戶權杖模擬。您必須手動完成下列下游存取權管理步驟:

  • 使用者身分存取要求:將資料產品消費者新增至對應的 Google 群組。詳情請參閱「將成員新增至 Google 群組」。

  • 服務帳戶存取要求:執行下列指令,將服務帳戶權杖建立者 (roles/iam.serviceAccountTokenCreator) IAM 角色授予資源上的資料產品消費者服務帳戶:

    gcloud iam service-accounts add-iam-policy-binding PRODUCER_SERVICE_ACCOUNT \
      --member="serviceAccount:CONSUMER_SERVICE_ACCOUNT" \
      --role="roles/iam.serviceAccountTokenCreator"
    

    更改下列內容:

    • PRODUCER_SERVICE_ACCOUNT:對應至資料產品存取權群組的服務帳戶完整電子郵件地址

    • CONSUMER_SERVICE_ACCOUNT:要求存取權的消費者所屬服務帳戶的完整電子郵件地址

拒絕存取要求

擁有 dataplex.dataProducts.approve 權限的資料產品擁有者可以將 POST 要求傳送至自訂方法 :reject,並附上理由酬載,藉此拒絕待處理的要求:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{
  "comment": "REJECTION_REASON"
}' \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/changeRequests/CHANGE_REQUEST_ID:reject"

更改下列內容:

  • PROJECT_ID:您 Google Cloud 專案的 ID

  • LOCATION:資料產品所在的區域 (例如 us-central1)

  • CHANGE_REQUEST_ID:要拒絕的存取要求專屬 ID

更新資料產品

您可以更新現有資料產品的基本詳細資料 (例如資料產品名稱、說明、擁有者詳細資料)、資產、存取群組、權限、合約、層面和額外文件。

更新資料產品的基本詳細資料

控制台

  1. 前往 Google Cloud 控制台的 Knowledge Catalog「資料產品」頁面。

    前往「資料產品」

  2. 按一下要更新的資料產品。

  3. 按一下 [編輯]

  4. 視需要更新「資料產品名稱」、「資料產品圖示」、「說明」、「資料產品擁有者的電子郵件地址」、「資料產品核准者的電子郵件地址」和「標籤」

  5. 按一下 [儲存]

REST

如要更新資料產品的基本詳細資料,請使用 dataProducts.patch 方法。

舉例來說,如要更新資料產品的說明,請傳送下列 PATCH 要求:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{"description": "NEW_DESCRIPTION"}' \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/dataProducts/DATA_PRODUCT_ID?update_mask="description"

更改下列內容:

  • NEW_DESCRIPTION:資料產品的新說明
  • PROJECT_ID:您 Google Cloud專案的 ID
  • LOCATION:資料產品所在的區域
  • DATA_PRODUCT_ID:資料產品的 ID

更新資料產品的資產

控制台

  1. 在 Google Cloud 控制台,前往 Knowledge Catalog 的「資料產品」頁面。

    前往「資料產品」

  2. 按一下要更新資產的資料產品。

  3. 按一下「資產」分頁標籤。

  4. 如要新增素材資源,請按照下列步驟操作:

    1. 按一下 +Add

    2. 搜尋並選取要新增至資料產品的資產。所選資產必須與資料產品位於相同區域。

      如果您擁有必要權限,點選資產即可查看資產的中繼資料。

    3. 如要縮小搜尋結果範圍,請使用「篩選器」

    4. 選取資產後,按一下「新增」

  5. 如要從資料產品中移除資產,請按照下列步驟操作:

    1. 找到要移除的素材資源,然後依序按一下 >「移除」

    2. 按一下「移除」確認這項操作。

REST

如要將新的資料資產新增至資料產品,請使用 dataAssets.create 方法。如需程式碼範例,請參閱「選用:新增素材資源」。

如要從資料產品中刪除資料資產,請使用 dataAssets.delete 方法。舉例來說,請傳送下列 DELETE 要求:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataProducts/DATA_PRODUCT_ID/dataAssets/DATA_ASSET_ID"

更改下列內容:

  • PROJECT_ID:您 Google Cloud專案的 ID
  • LOCATION:要建立資料產品的區域
  • DATA_PRODUCT_ID:資料產品的專屬 ID
  • DATA_ASSET_ID:要從資料產品中移除的資料資產 ID

更新存取權群組和資產權限

控制台

  1. 前往 Google Cloud 控制台的 Knowledge Catalog「資料產品」頁面。

    前往「資料產品」

  2. 按一下要更新存取群組和權限的資料產品。

  3. 按一下「存取權群組和權限」分頁標籤。

  4. 如要更新存取權群組,請按照下列步驟操作:

    1. 按一下「Edit」(編輯)

    2. 視需要更新存取權群組名稱、說明和 ID。

    3. 如要新增存取權群組,請按一下「新增存取權群組」,然後按照下列步驟操作:

      1. 在「存取群組名稱」欄位中,輸入新存取群組的名稱。例如:Analyst

      2. 在「存取權群組說明」欄位中,輸入存取權群組的說明。

      3. 在「存取權群組 ID」欄位中,輸入要指派給這個存取權群組的 Google 群組和/或服務帳戶的電子郵件地址:

        • Google 群組:要求存取權的資料產品消費者會新增為對應 Google 群組的成員。

        • 服務帳戶:如果資料產品消費者要求服務帳戶的存取權,系統會授予服務帳戶權杖建立者 (roles/iam.serviceAccountTokenCreator) IAM 角色,模擬對應至存取權群組的資料生產者服務帳戶。

    4. 按一下「新增」。

  5. 如要移除存取權群組,請按照下列步驟操作:

    1. 找到要移除的存取權群組,然後依序按一下 >「移除」

    2. 按一下「移除」確認這項操作。

  6. 如果所選資料產品未設定任何存取權群組,您可以點選新增存取權群組,新增存取權群組。

  7. 如要更新素材資源權限,請按照下列步驟操作:

    1. 如要更新資產的權限,請依序點選 >「權限」

    2. 更新必要的存取群組和 IAM 角色。

    3. 按一下 [設定]

REST

如要更新與資料產品相關聯的存取群組,請使用 dataProducts.patch 方法。如需程式碼範例,請參閱「設定存取群組」。

如要更新資產權限,請使用 dataAssets.patch 方法。如需程式碼範例,請參閱「設定資產權限」。

更新資料產品合約

控制台

  1. 前往 Google Cloud 控制台的 Knowledge Catalog「資料產品」頁面。

    前往「資料產品」

  2. 按一下要更新合約的資料產品。

  3. 按一下「合約」分頁標籤。

  4. 如要更新現有合約,請按照下列步驟操作:

    1. 按一下「Edit」(編輯)

    2. 更新必要欄位。

    3. 按一下 [儲存]

  5. 如果所選資料產品未附加合約,請按一下「新增合約」來新增合約。

REST

如要更新合約,請使用 entries.patch 方法。如需程式碼範例,請參閱「新增合約」。

更新資料產品的各個層面

控制台

  1. 前往 Google Cloud 控制台的 Knowledge Catalog「資料產品」頁面。

    前往「資料產品」

  2. 按一下要更新切面的資料產品。

  3. 按一下「Aspects」(層面) 分頁標籤。

  4. 如要更新層面,請按照下列步驟操作:

    1. 按一下要更新的層面。

    2. 按一下「Edit」(編輯)

    3. 視需要更新切面類型國家/地區區域

    4. 按一下 [儲存]

  5. 如要為資料產品新增層面,請按照下列步驟操作:

    1. 點選「+ 新增切面」

    2. 在「選取層面類型」欄位中,搜尋並從清單中選取層面類型。例如:Geo context

    3. 在「國家/地區」欄位中,選取資產所屬的國家/地區。

    4. 在「Region」(區域) 欄位中,選取資產所屬的業務區域。

    5. 按一下 [儲存]

  6. 如要刪除層面,請按照下列步驟操作:

    1. 按一下要刪除的面向。

    2. 按一下「刪除」圖示

    3. 如要確認操作,請按一下「確認」

REST

如要更新資料產品項目的任何方面,請使用 entries.patch 方法。

更新資料產品說明文件

控制台

  1. 前往 Google Cloud 控制台的 Knowledge Catalog「資料產品」頁面。

    前往「資料產品」

  2. 按一下要更新說明文件的資料產品。

  3. 按一下「總覽」分頁標籤。

  4. 按一下「Documentation」(文件) 旁的 「Edit」(編輯)

  5. 視需要更新使用手冊、查詢範例和其他說明文件。

  6. 按一下 [儲存]

REST

文件屬於 overview 方面。如要更新資料產品說明文件,請使用 entries.patch 方法。

刪除資料產品

如要刪除資料產品,請先從資料產品中移除所有資產。

控制台

  1. 前往 Google Cloud 控制台的 Knowledge Catalog「資料產品」頁面。

    前往「資料產品」

  2. 按一下要刪除的資料產品。

  3. 按一下「資產」分頁標籤。

  4. 針對列出的每個素材資源,依序點按 >「移除」。 按一下「移除」確認這項操作。

  5. 移除所有資產後,按一下「刪除」,即可刪除資料產品。

  6. 在確認對話方塊中輸入 delete,然後按一下「刪除」

REST

如要刪除資料產品,請使用 dataProducts.delete 方法。

舉例來說,請傳送下列 DELETE 要求:

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/ LOCATION/dataProducts/DATA_PRODUCT_ID

更改下列內容:

  • PROJECT_ID:您 Google Cloud專案的 ID
  • LOCATION:資料產品所在的區域
  • DATA_PRODUCT_ID:要刪除的資料產品 ID

資料保留與專案刪除

刪除含有資料產品的 Google Cloud 專案時,相關聯的資源會遵循標準 Google Cloud 刪除生命週期,也稱為清除。如要詳細瞭解控管這項行為的技術程序和時間表,請參閱「 Google Cloud資料刪除」。

刪除專案期間的資源生命週期

在專案刪除要求提出後,資料產品和資料資產的生命週期會進入兩個主要階段:

  • 軟刪除 (Hidden 狀態):啟動專案刪除作業後,專案中的所有資料產品和資料資產都會立即標示為 Hidden。在這 30 天的寬限期內,中繼資料會保留,但無法再透過 Dataplex API 或 Google Cloud 控制台存取。在此期間,您隨時可以還原專案及其資源。

  • 永久清除 (Purged 狀態):30 天的寬限期過後,系統會永久刪除專案和所有 Knowledge Catalog 中繼資料。Knowledge Catalog 會採用內部資料列刪除政策,從儲存空間中可驗證地清除這些記錄。

跨專案資源的身分與存取權管理政策行為

Knowledge Catalog 中繼資料與對基礎實體資料 (例如 BigQuery 資料集或 Cloud Storage bucket) 強制執行的 IAM 政策之間,存在重要的運作差異。

專案中的 Knowledge Catalog 中繼資料會自動清除,但如果資料資源位於其他專案 (專案 B),則在刪除資料產品擁有者專案 (專案 A) 時,系統不會自動撤銷套用至資料資源的任何 IAM 繫結。

  • 孤立的繫結:由於目標專案中的實體資源仍處於啟用狀態,IAM 系統不會自動移除與已刪除專案相關聯的主體 ID。

  • 避免殭屍權限:如要確保資料存取權完全停用,請先從資料產品手動刪除資料資產,或明確從跨專案資源中移除相關聯的 IAM 繫結,再啟動專案刪除作業。

還原專案 (取消刪除)

如果在 30 天寬限期內還原已刪除的專案,Knowledge Catalog 會嘗試還原資源及其在目錄中的顯示狀態。如果是跨專案資產,由於系統不會在刪除程序中自動撤銷基礎 IAM 繫結,因此還原專案後,資料存取權通常會立即恢復。

後續步驟