本文適用於資料產品擁有者,說明如何更新、刪除及授予 Knowledge Catalog (原稱 Dataplex Universal Catalog) 中資料產品的存取權。
如要進一步瞭解資料產品的架構和重要概念,請參閱「關於資料產品」。
事前準備
-
啟用 Dataplex 和 BigQuery API。
啟用 API 時所需的角色
如要啟用 API,您需要服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。
必要的角色
如要取得管理資料產品所需的權限,請要求管理員授予您專案的下列 IAM 角色:
-
具備建立、更新、刪除及管理資料產品權限的完整權限:
Dataplex 資料產品管理員 (
roles/dataplex.dataProductsAdmin) -
更新及管理現有資料產品:Dataplex 資料產品編輯者 (
roles/dataplex.dataProductsEditor) -
新增
schema、overview和contacts等層面: Dataplex 項目和 EntryLink 擁有者 (roles/dataplex.entryOwner) -
搜尋及新增資產:
Dataplex Catalog 檢視者 (
roles/dataplex.catalogViewer) -
編輯系統切面類型,例如文件和合約切面,以更新頻率:
Dataplex Catalog 編輯者 (
roles/dataplex.catalogEditor)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這些預先定義的角色具備管理資料產品所需的權限。如要查看確切的必要權限,請展開「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 審查、核准或拒絕這些要求。
控制台
查看特定資料產品的存取要求
前往 Google Cloud 控制台的 Knowledge Catalog「資料產品」頁面。
按一下要查看存取要求的資料產品。
按一下「存取要求管理」分頁標籤。
選取要查看要求的申請人。
按一下「動作」,然後點按「核准」或「拒絕」。
按一下 [儲存]。
查看多個資料產品的存取要求
前往 Google Cloud 控制台的 Knowledge Catalog「Governance workflows」(控管工作流程) 頁面。
按一下「待核准」分頁標籤。
選用:依特定資料產品名稱篩選清單,即可找出該產品的要求。
選取目標要求,然後按一下「核准」或「拒絕」。
按一下 [儲存]。
核准後的行為
使用者要求:要求使用者身分存取權的消費者,會自動新增為對應存取權群組的 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
更新資料產品
您可以更新現有資料產品的基本詳細資料 (例如資料產品名稱、說明、擁有者詳細資料)、資產、存取群組、權限、合約、層面和額外文件。
更新資料產品的基本詳細資料
控制台
前往 Google Cloud 控制台的 Knowledge Catalog「資料產品」頁面。
按一下要更新的資料產品。
按一下 [編輯]。
視需要更新「資料產品名稱」、「資料產品圖示」、「說明」、「資料產品擁有者的電子郵件地址」、「資料產品核准者的電子郵件地址」和「標籤」。
按一下 [儲存]。
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
更新資料產品的資產
控制台
在 Google Cloud 控制台,前往 Knowledge Catalog 的「資料產品」頁面。
按一下要更新資產的資料產品。
按一下「資產」分頁標籤。
如要新增素材資源,請按照下列步驟操作:
按一下 +Add。
搜尋並選取要新增至資料產品的資產。所選資產必須與資料產品位於相同區域。
如果您擁有必要權限,點選資產即可查看資產的中繼資料。
如要縮小搜尋結果範圍,請使用「篩選器」。
選取資產後,按一下「新增」。
如要從資料產品中移除資產,請按照下列步驟操作:
找到要移除的素材資源,然後依序按一下 >「移除」。
按一下「移除」確認這項操作。
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
更新存取權群組和資產權限
控制台
前往 Google Cloud 控制台的 Knowledge Catalog「資料產品」頁面。
按一下要更新存取群組和權限的資料產品。
按一下「存取權群組和權限」分頁標籤。
如要更新存取權群組,請按照下列步驟操作:
按一下「Edit」(編輯)。
視需要更新存取權群組名稱、說明和 ID。
如要新增存取權群組,請按一下「新增存取權群組」,然後按照下列步驟操作:
在「存取群組名稱」欄位中,輸入新存取群組的名稱。例如:
Analyst。在「存取權群組說明」欄位中,輸入存取權群組的說明。
在「存取權群組 ID」欄位中,輸入要指派給這個存取權群組的 Google 群組和/或服務帳戶的電子郵件地址:
Google 群組:要求存取權的資料產品消費者會新增為對應 Google 群組的成員。
服務帳戶:如果資料產品消費者要求服務帳戶的存取權,系統會授予服務帳戶權杖建立者 (
roles/iam.serviceAccountTokenCreator) IAM 角色,模擬對應至存取權群組的資料生產者服務帳戶。
按一下「新增」。
如要移除存取權群組,請按照下列步驟操作:
找到要移除的存取權群組,然後依序按一下 >「移除」。
按一下「移除」確認這項操作。
如果所選資料產品未設定任何存取權群組,您可以點選新增存取權群組,新增存取權群組。
如要更新素材資源權限,請按照下列步驟操作:
如要更新資產的權限,請依序點選 >「權限」。
更新必要的存取群組和 IAM 角色。
按一下 [設定]。
REST
如要更新與資料產品相關聯的存取群組,請使用 dataProducts.patch 方法。如需程式碼範例,請參閱「設定存取群組」。
如要更新資產權限,請使用 dataAssets.patch 方法。如需程式碼範例,請參閱「設定資產權限」。
更新資料產品合約
控制台
前往 Google Cloud 控制台的 Knowledge Catalog「資料產品」頁面。
按一下要更新合約的資料產品。
按一下「合約」分頁標籤。
如要更新現有合約,請按照下列步驟操作:
按一下「Edit」(編輯)。
更新必要欄位。
按一下 [儲存]。
如果所選資料產品未附加合約,請按一下「新增合約」來新增合約。
REST
如要更新合約,請使用 entries.patch 方法。如需程式碼範例,請參閱「新增合約」。
更新資料產品的各個層面
控制台
前往 Google Cloud 控制台的 Knowledge Catalog「資料產品」頁面。
按一下要更新切面的資料產品。
按一下「Aspects」(層面) 分頁標籤。
如要更新層面,請按照下列步驟操作:
按一下要更新的層面。
按一下「Edit」(編輯)。
視需要更新切面類型、國家/地區和區域。
按一下 [儲存]。
如要為資料產品新增層面,請按照下列步驟操作:
點選「+ 新增切面」。
在「選取層面類型」欄位中,搜尋並從清單中選取層面類型。例如:
Geo context。在「國家/地區」欄位中,選取資產所屬的國家/地區。
在「Region」(區域) 欄位中,選取資產所屬的業務區域。
按一下 [儲存]。
如要刪除層面,請按照下列步驟操作:
按一下要刪除的面向。
按一下「刪除」圖示 。
如要確認操作,請按一下「確認」。
REST
如要更新資料產品項目的任何方面,請使用 entries.patch 方法。
更新資料產品說明文件
控制台
前往 Google Cloud 控制台的 Knowledge Catalog「資料產品」頁面。
按一下要更新說明文件的資料產品。
按一下「總覽」分頁標籤。
按一下「Documentation」(文件) 旁的 「Edit」(編輯)。
視需要更新使用手冊、查詢範例和其他說明文件。
按一下 [儲存]。
REST
文件屬於 overview 方面。如要更新資料產品說明文件,請使用 entries.patch 方法。
刪除資料產品
如要刪除資料產品,請先從資料產品中移除所有資產。
控制台
前往 Google Cloud 控制台的 Knowledge Catalog「資料產品」頁面。
按一下要刪除的資料產品。
按一下「資產」分頁標籤。
針對列出的每個素材資源,依序點按 >「移除」。 按一下「移除」確認這項操作。
移除所有資產後,按一下「刪除」,即可刪除資料產品。
在確認對話方塊中輸入
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 繫結,因此還原專案後,資料存取權通常會立即恢復。