管理資料交換
本文說明如何在 BigQuery sharing (舊稱 Analytics Hub) 中管理資料交易所。BigQuery 共用管理員可以執行下列操作:
- 建立、更新、查看、分享及刪除資料交換。
- 建立、更新、刪除及共用房源資訊。
- 管理 BigQuery sharing 管理員、清單管理員、發布者、訂閱者和檢視者。
資料交換預設為私密。只有具備交易所存取權的使用者或群組,才能查看或訂閱交易所的資料。您可以要求公開資料交換。將資料交換作業設為公開,Google Cloud 使用者 (allAuthenticatedUsers) 就能探索及訂閱清單。
事前準備
如要開始使用 BigQuery sharing (舊稱 Analytics Hub),請在專案中啟用 Analytics Hub API。 Google Cloud
如要啟用 Analytics Hub API,您需要下列 Identity and Access Management (IAM) 權限:
serviceUsage.services.getserviceUsage.services.listserviceUsage.services.enable
以下是具有啟用 Analytics Hub API 所需權限的預先定義 IAM 角色:
- 服務使用情形管理員 (
roles/serviceusage.serviceUsageAdmin)
如要啟用 Analytics Hub API,請選取下列其中一個選項:
控制台
前往 Analytics Hub API 頁面,為專案啟用 Analytics Hub API。 Google Cloud
gcloud
執行 gcloud services enable 指令:
gcloud services enable analyticshub.googleapis.com
必要的角色
如要取得管理資料交換所需的權限,請要求管理員授予您專案的 Analytics Hub 管理員角色 (roles/analyticshub.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
建立資料交換庫
如要建立資料交換庫,請按照下列步驟操作:
控制台
前往「Sharing (Analytics Hub)」頁面。
按一下 「建立兌換交易」。
在「建立交易」對話方塊中,選取資料交易的「專案」和「區域」。建立資料交換後,您就無法更新專案和區域。
在「顯示名稱」欄位中,輸入資料交易所的名稱。
選填:在下列欄位中輸入值:
- 主要聯絡人:輸入資料交換的主要聯絡人網址或電子郵件地址。
- 說明:輸入資料交換的說明。
如要記錄在連結資料集上執行工作和查詢的所有使用者主體 ID,請按一下「訂閱端電子郵件記錄」切換鈕。啟用這個選項後,資料交換庫中所有日後的清單項目都會啟用訂閱者電子郵件記錄功能。記錄的資料會顯示在
INFORMATION_SCHEMA.SHARED_DATASET_USAGE檢視區塊的job_principal_subject欄位中。如要啟用公開可偵測性,請點選「公開可偵測性」切換按鈕。如果交換庫可供公開搜尋,目錄中就會顯示交換庫中的所有項目,且可供搜尋。啟用公開探索功能後,請設定交換權限。根據預設,所有清單都會沿用資料交換的開放搜尋設定。這表示公開交易平台無法有私人清單項目,但私人交易平台可以有公開清單項目。您可以在個別房源資訊層級設定公開探索類型。建立資料交換的專案必須有相關聯的機構和帳單帳戶。
按一下「建立交易」。
選用步驟:在「Exchange Permissions」部分中,完成下列步驟:
在下列欄位中輸入電子郵件地址,即可授予 Identity and Access Management (IAM) 角色:
- 管理員:為這些使用者指派 Analytics Hub 管理員角色 (
roles/analyticshub.admin)。 - 發布者:將 Analytics Hub 發布者角色 (
roles/analyticshub.publisher) 指派給這些使用者。如要瞭解 BigQuery 共用發布端可執行的工作,請參閱「管理清單」。 - 訂閱者:將 Analytics Hub 訂閱者角色 (
roles/analyticshub.subscriber) 指派給這些使用者。如要瞭解 BigQuery sharing 訂閱者可以執行的工作,請參閱「查看及訂閱清單和資料交換」。 檢視者:為這些使用者指派 Analytics Hub 檢視者角色 (
roles/analyticshub.viewer)。BigQuery 共用檢視者可以查看房源資訊。如果啟用公開探索功能,請將 Analytics Hub 檢視者角色授予
allUsers或allAuthenticatedUsers。
- 管理員:為這些使用者指派 Analytics Hub 管理員角色 (
如要儲存權限,請按一下「設定權限」。
如果未設定資料交換的權限,請按一下「略過」。
API
請使用 projects.locations.dataExchanges.create 方法。
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges?dataExchangeId=DATAEXCHANGE_ID
更改下列內容:
PROJECT_ID:您要在當中建立資料交換的專案 ID。LOCATION:資料交易所的位置。如要進一步瞭解支援 BigQuery 共用的位置,請參閱支援的區域。DATAEXCHANGE_ID:資料交易所的 ID。
在要求主體中,提供資料交換詳細資料。
如果要求成功,回應主體會包含資料交換的詳細資料。
如果您使用 logLinkedDatasetQueryUserEmail 欄位啟用訂閱者電子郵件記錄功能,資料交換庫回應會包含 log_linked_dataset_query_user_email: true。記錄的資料會顯示在 INFORMATION_SCHEMA.SHARED_DATASET_USAGE 檢視區塊的 job_principal_subject 欄位中。
如要進一步瞭解如何使用 API 對資料交易所執行工作,請參閱 projects.locations.dataExchanges 方法。
更新資料交換
如要更新資料交換庫,請按照下列步驟操作:
控制台
前往「Sharing (Analytics Hub)」頁面。
從資料交換清單中,選取要更新的資料交換。
前往「詳細資料」分頁。
按一下「Edit exchange」(編輯兌換)。
在「編輯交易所」對話方塊中,更新下列欄位:
- 顯示名稱
- 主要聯絡人
- 說明
- 開放搜尋
- 如要啟用公開探索功能,請將 Analytics Hub 檢視者角色 (
roles/analyticshub.viewer) 授予allUsers或allAuthenticatedUsers。 - 如要停用公開探索功能,請從
allUsers或allAuthenticatedUsers移除 Analytics Hub 檢視者角色 (roles/analyticshub.viewer)。公開交換庫中不能有私人清單項目,但私人交換庫中可以有公開清單項目。
- 如要啟用公開探索功能,請將 Analytics Hub 檢視者角色 (
訂閱端電子郵件記錄
按一下 [儲存]。
API
請使用 projects.locations.dataExchanges.patch 方法。
PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID?updateMask=UPDATEMASK
將 UPDATEMASK 替換為要更新的欄位清單。如要更新多個值,請使用以半形逗號分隔的清單。舉例來說,如要更新資料交換的顯示名稱和主要聯絡人,請輸入 displayName,primaryContact。
在要求主體中,為下列欄位指定更新的值:
displayNamedescriptionprimaryContactdocumentationicondiscoveryTypelogLinkedDatasetQueryUserEmail
如要瞭解這些欄位的詳細資訊,請參閱「資源:DataExchange」。
如要進一步瞭解如何使用 API 對資料交易所執行工作,請參閱 projects.locations.dataExchanges 方法。
查看資料交換庫
如要查看您有權存取的專案或機構資料交換庫,請按照下列步驟操作:
控制台
前往「Sharing (Analytics Hub)」頁面。
這個頁面會顯示專案中的資料交換。 Google Cloud 如果您擁有
resourcemanager.organizations.get權限,也可以查看貴機構的資料交換。 Google Cloud
API
如要查看專案中的資料交換,請使用 projects.locations.dataExchanges.list 方法:
GET https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges
更改下列內容:
- PROJECT_ID:專案 ID。
- LOCATION:要列出現有資料交易所的位置。
如要查看貴機構的資料交換活動,請使用 organizations.locations.dataExchanges.list 方法:
GET https://analyticshub.googleapis.com/v1/organizations/ORGANIZATION_ID/location/LOCATION/dataExchanges
更改下列內容:
ORGANIZATION_ID:組織 ID。詳情請參閱「取得機構 ID」。LOCATION:要列出現有資料交換的位置。
共用資料交換庫
如果 BigQuery sharing 發布者與資料交換庫所屬的機構不同,發布者就無法在 BigQuery sharing 中查看您的資料交換庫。與發布商共用資料交換連結。
前往「Sharing (Analytics Hub)」頁面。
在資料交換清單中,按一下「更多選項」。
按一下「複製共用連結」。
授予使用者資料交換存取權
如要授予使用者資料交換存取權,您必須為該資料交換設定 IAM 政策。如要瞭解預先定義的 IAM 使用者角色,請參閱「BigQuery 共用 IAM 角色」。
控制台
前往 Google Cloud 控制台的「Sharing (Analytics Hub)」頁面。
按一下要設定權限的資料交換名稱。
前往「詳細資料」分頁。
按一下 「設定權限」。
如要新增主體,請按一下「新增主體」。
在「New principals」(新增主體) 欄位中,新增要授予存取權的電子郵件 ID。您也可以使用
allUsers將資源設為公開,讓網際網路上的所有人都能存取,或使用allAuthenticatedUsers將資源設為僅供登入 Google 的使用者存取。在「Select a role」(選取角色) 選單中,選取「Analytics Hub」(資料分析中心),然後選取下列任一 Identity and Access Management (IAM) 角色:
- Analytics Hub 管理員
- Analytics Hub 清單管理員
- Analytics Hub 發布者
- Analytics Hub 訂閱者
- Analytics Hub 訂閱項目擁有者
- Analytics Hub 檢視者
按一下 [儲存]。
API
使用
projects.locations.dataExchanges.getIamPolicy方法,透過清單getIamPolicy方法讀取現有政策:POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:getIamPolicy
更改下列內容:
PROJECT_ID:專案 ID,例如my-project-1。LOCATION:資料交換的位置。使用小寫英文字母。DATAEXCHANGE_ID:資料交換 ID。
BigQuery sharing (舊稱 Analytics Hub) 會傳回目前的政策。
如要新增或移除成員及其相關聯的身分與存取權管理 (IAM) 角色,請使用文字編輯器編輯政策。請使用下列格式新增成員:
user:test-user@gmail.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
舉例來說,如要將
roles/analyticshub.subscriber角色授予group:subscribers@example.com,請在政策中新增下列繫結:{ "members": [ "group:subscribers@example.com" ], "role":"roles/analyticshub.subscriber" }使用
projects.locations.dataExchanges.setIamPolicy方法寫入更新後的政策。在要求主體中,提供上一個步驟中更新的 IAM 政策。POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:setIamPolicy
在要求主體中提供房源詳細資料。如果要求成功,回應主體會包含房源詳細資料。
建立 BigQuery 共用管理員
如要管理資料交換,請授予使用者「Analytics Hub 管理員」角色 (roles/analyticshub.admin),在專案或資料交換層級建立資料交換管理員。
如要允許管理員管理專案中的所有資料交換,請為他們授予該專案的 Analytics Hub 管理員角色。
如要允許管理員管理特定資料交換,請授予他們該資料交換的 Analytics Hub 管理員角色。
公開資料交換庫
資料交換預設為私密。只有有權存取交易平台的群組或使用者,才能查看或訂閱交易平台的刊登項目。您可以將資料交換設為公開,讓Google Cloud 使用者 (allAuthenticatedUsers) 探索及訂閱其中的清單。
如要公開資料交換庫,請按照下列步驟操作:
如要允許
allAuthenticatedUsers查看商家資訊,請在資料交換層級授予 Analytics Hub 檢視者角色 (roles/analyticshub.viewer)。如要允許
allAuthenticatedUsers訂閱商家資訊,請在資料交換層級授予 Analytics Hub 訂閱者角色 (roles/analyticshub.subscriber)。
刪除資料交換
刪除資料交易所時,系統也會一併刪除所有刊登項目。但系統不會刪除共用和連結的資料集。刪除專案時,系統不會刪除資料交換。請先刪除這些資料交換,再刪除專案。 資料交換刪除後即無法復原。
刪除資料交換前,請根據資料交換的設定完成下列步驟:
- 如要與整合 Google Cloud Marketplace 的商用清單進行資料交換,請停用整合 Cloud Marketplace 的清單。
- 如要與多個地區的房源進行資料交換,請使用
projects.locations.subscriptions.revoke方法移除所有有效訂閱項目。
如要刪除資料交換庫,請按照下列步驟操作:
控制台
前往「Sharing (Analytics Hub)」頁面。
從資料交易平台清單中,選取要刪除的資料交易平台。
前往「詳細資料」分頁。
按一下 「刪除兌換項目」。
在「Delete exchange?」(要刪除兌換交易嗎?) 對話方塊中輸入「delete」(刪除),確認要刪除兌換交易。
按一下「Delete」(刪除)。
API
請使用 projects.locations.dataExchanges.delete 方法。
DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID
更改下列內容:
PROJECT_ID:您要在當中建立資料交換的專案 ID。LOCATION:資料交易所的位置。如要進一步瞭解支援 BigQuery 共用的位置,請參閱支援的區域。DATAEXCHANGE_ID:資料交易所的 ID。
如要進一步瞭解如何使用 API 對資料交易所執行工作,請參閱 projects.locations.dataExchanges 方法。
後續步驟
- 瞭解如何管理房源資訊。
- 瞭解如何授予 Analytics Hub 使用者角色。
- 瞭解如何查看及訂閱清單和資料交換。
- 瞭解共用稽核記錄。