透過資料無塵室共用機密資料

您可以運用資料無塵室,建立安全性更高的環境。在這個環境中,多方可以共用、彙整及分析資料資產。這項協作作業不會移動或揭露基礎資料。

BigQuery 資料無塵室與 BigQuery sharing (舊稱 Analytics Hub) 平台整合。標準 BigQuery 共用資料交換支援大規模跨組織資料共用。不過,您會使用資料無塵室處理私密和受保護的資料。資料無塵室提供額外的安全控管機制,可保護基礎資料,並強制執行資料擁有者定義的分析規則。

用途

主要用途包括:

  • 廣告活動規劃和目標對象洞察。讓兩方 (例如賣家和買家) 混合第一方資料,並以注重隱私權的方式充實資料。
  • 評估和歸因。比對顧客和媒體成效資料,進一步瞭解行銷成效,並決定日後的廣告活動。
  • 啟用:結合客戶資料和其他方的資料,深入瞭解顧客,進而提升區隔功能和媒體啟用成效。

資料無塵室也支援行銷業以外的多種用途:

  • 零售和民生消費用品業 (CPG)。整合零售商的銷售點資料和 CPG 公司的行銷資料,進一步提升行銷和宣傳活動成效。
  • 金融服務。結合其他金融和政府機構的機密資料,提升詐欺偵測準確度。匯總多間銀行的客戶資料,建立信用風險評分。
  • 醫療照護:在醫生和藥物研究人員之間分享資料,瞭解病患對治療的反應。
  • 供應鏈、物流和運輸。結合供應商和行銷人員的資料,全面瞭解產品在整個生命週期中的成效。

角色

BigQuery 資料無塵室有三種主要角色:

  • 資料無塵室擁有者:管理 Google Cloud 專案中一或多個資料無塵室的權限、瀏覽權限和成員資格。資料無塵室擁有者可以將資料貢獻者和資料無塵室訂閱者角色指派給使用者。這個角色類似於 Analytics Hub 管理員 IAM 角色。
  • 資料貢獻者:將資料發布至資料無塵室。在許多情況下,資料無塵室擁有者也是資料提供者。這個角色類似於 Analytics Hub 發布者 IAM 角色。
  • 資料無塵室訂閱者:訂閱資料無塵室中發布的資料,並對資料執行查詢。這個角色類似於 Analytics Hub 訂閱者和 Analytics Hub 訂閱項目擁有者 IAM 角色的組合。

架構

BigQuery 資料無塵室採用 BigQuery 資料的發布及訂閱模型。BigQuery 架構會區分運算和儲存空間,讓資料提供者不必建立多份資料副本,就能共用資料。下圖顯示 BigQuery 資料無塵室架構:

資料提供者將資料發布至資料無塵室,訂閱者則可使用隱私權篩選器查詢資料。

資料無塵室

資料無塵室是共用機密資料的環境,可防止原始存取,並強制執行查詢限制。只有新增為資料無塵室訂閱者的使用者或群組,才能訂閱共用資料。資料無塵室擁有者可以在 BigQuery 共用中建立任意數量的資料無塵室。

共用資源

共用資源是資料無塵室中的資料共用單位。資源必須是 BigQuery 資料表、檢視表或常式 (資料表值函式)。資料貢獻者可以在專案中建立或使用現有的 BigQuery 資源,並與資料無塵室訂閱者共用。

清單

以資料提供者身分將資料新增至資料無塵室時,系統會建立目錄。清單包含共用資源的參照資訊,以及有助於訂閱者使用資料的說明資訊。你可以加入說明、範例查詢和文件連結等資訊,供訂閱者參考。

連結的資料集

連結的資料集是唯讀 BigQuery 資料集,做為資料無塵室中所有資料的符號連結。資料無塵室訂閱者查詢連結資料集中的資源時,系統會傳回共用資源中的資料,並符合資料提供者設定的分析規則集。訂閱資料無塵室後,BigQuery 會在專案中建立連結的資料集。系統不會建立資料副本,訂閱者也無法查看特定中繼資料,例如檢視定義。

分析規則

資料提供者可在資料無塵室中,為您共用的資源設定分析規則。分析規則有助於防止未經授權存取基礎資料,並強制執行查詢限制。舉例來說,資料無塵室支援匯總門檻分析規則,資料無塵室訂閱者只能透過匯總查詢分析資料。

資料輸出控制項

資料輸出控制項會自動防止資料無塵室訂閱者複製及匯出資料無塵室中的原始資料。資料貢獻者可以設定額外的控制項,防止訂閱者複製及匯出查詢結果。

查詢範本

查詢範本 可讓資料無塵室擁有者和 BigQuery sharing 發布者共用預先定義的查詢,而不必共用資料表和檢視區塊的基礎資源。

預先定義的查詢會使用 BigQuery 中的資料表值函式 (TVF),允許整個資料表或特定欄位做為輸入參數傳遞,並傳回資料表做為輸出。

限制

BigQuery 資料無塵室有下列限制:

  • 您只能在檢視區塊中設定分析規則,無法在資料表或具體化檢視區塊中設定。因此,如果資料提供者直接將資料表、具體化檢視表或沒有數據分析規則的檢視表分享至資料無塵室,訂閱者就能存取原始資料。
  • 分析規則可提供隱私權控制選項,但無法保證能封鎖所有未經授權的查詢,防止原始資料遭到擷取。為保護資訊安全,請在資料無塵室中使用查詢範本審查及核准查詢,藉此封鎖未經授權的嘗試。
  • 由於資料無塵室使用 BigQuery 共用平台,因此所有 BigQuery 共用限制皆適用。
  • 資料無塵室僅適用於 BigQuery 共用區域。
  • 資料無塵室訂閱者無法在 Knowledge Catalog 搜尋共用資源。
  • 資料無塵室訂閱者無法在連結的資料集上查詢INFORMATION_SCHEMA檢視區塊。
  • 資料提供者無法直接將整個資料集發布至資料淨室。
  • 資料提供者無法將模型或常式 (查詢範本除外) 發布至資料無塵室。
  • 資料無塵室最多可新增 100 項共用資源。如要提高上限,請傳送電子郵件至 bq-dcr-feedback@google.com。
  • 資料無塵室不支援多個區域的產品資訊。

事前準備

授予 Identity and Access Management (IAM) 角色,確保您具備完成本文中工作所需的權限、啟用 Analytics Hub API,以及將 Analytics Hub 管理員角色指派給資料無塵室擁有者。

所需權限

如要取得使用資料無塵室所需的權限,請要求管理員授予您「BigQuery 資料編輯者 」(roles/bigquery.dataEditor) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備使用資料無塵室所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要使用資料無塵室,必須具備下列權限:

  • serviceUsage.services.get
  • serviceUsage.services.list
  • serviceUsage.services.enable

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

如要進一步瞭解 BigQuery 的 IAM 角色和權限,請參閱「IAM 簡介」。

啟用 Analytics Hub API

如要啟用 Analytics Hub API,請選取下列其中一個選項:

控制台

前往「Analytics Hub API」頁面,為 Google Cloud 專案啟用 API。

啟用 Analytics Hub API

bq

執行 gcloud services enable 指令:

gcloud services enable analyticshub.googleapis.com

啟用 Analytics Hub API 後,即可存取「Sharing (Analytics Hub)」(共用 (Analytics Hub)) 頁面。

授予 Analytics Hub 管理員角色

如要以擁有者身分建立資料無塵室,您必須具備 Analytics Hub 管理員角色 (roles/analyticshub.admin)。如要進一步瞭解如何將這個角色授予其他使用者,請參閱「建立 BigQuery sharing 管理員」。

資料無塵室擁有者工作流程

資料無塵室擁有者可以執行下列操作:

  • 建立資料無塵室。
  • 更新資料無塵室屬性。
  • 刪除資料無塵室。
  • 管理資料提供者。
  • 管理資料無塵室訂閱者。
  • 共用資料無塵室。

其他資料無塵室擁有者權限

如要完成資料無塵室擁有者工作,您必須具備專案的 Analytics Hub 管理員角色 (roles/analyticshub.admin)。您也可以在資料夾或組織層級指派這個角色 (如適用)。

建立資料無塵室

如要建立資料無塵室,請選取下列其中一個選項:

控制台

  1. 前往 Google Cloud 控制台的「Sharing (Analytics Hub)」(共用 (Analytics Hub)) 頁面。

    前往「共用 (Analytics Hub)」

  2. 按一下「建立資料無塵室」。

  3. 在「Project」(專案) 部分,選取資料無塵室的專案。您必須為專案啟用 Analytics Hub API。

  4. 指定資料無塵室的位置、名稱、主要聯絡人、圖示 (選用) 和說明。您只能列出與資料無塵室位於相同區域的資料無塵室資源。

  5. 選用:如要記錄所有在連結資料集上執行工作和查詢的使用者主體 ID,請按一下「Subscriber Email Logging」(訂閱者電子郵件記錄) 切換鈕。記錄的資料會顯示在 INFORMATION_SCHEMA.SHARED_DATASET_USAGE 檢視畫面的 job_principal_subject 欄位中。

  6. 按一下「建立資料無塵室」。

  7. 選用:在「資料無塵室權限」部分,新增其他資料無塵室擁有者、資料貢獻者或資料無塵室訂閱者。

    在 BigQuery sharing 中建立資料無塵室窗格。

API

請使用 projects.locations.dataExchanges.create 方法,並將共用環境設為 dcrExchangeConfig。

以下範例說明如何使用 curl 指令呼叫 projects.locations.dataExchanges.create 方法:

  curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges?data_exchange_id=CLEAN_ROOM_ID -d
  '{
    display_name: "CLEAN_ROOM_NAME",
    sharing_environment_config: {dcr_exchange_config: {}}
  }'

請替換下列項目:

  • PROJECT_ID:專案 ID
  • LOCATION:資料無塵室的位置
  • CLEAN_ROOM_ID:資料無塵室 ID
  • CLEAN_ROOM_NAME:資料淨室的顯示名稱

在要求主體中,提供資料交換詳細資料。

如果要求成功,回應主體會包含資料無塵室的詳細資料。

如果使用 logLinkedDatasetQueryUserEmail 欄位啟用訂閱者電子郵件記錄功能,資料交換回應會包含 log_linked_dataset_query_user_email: true。記錄的資料會顯示在 INFORMATION_SCHEMA.SHARED_DATASET_USAGE 檢視畫面的 job_principal_subject 欄位中。

更新資料無塵室

如要更新資料無塵室屬性,請選取下列其中一個選項:

控制台

  1. 前往 Google Cloud 控制台的「Sharing (Analytics Hub)」(共用 (Analytics Hub)) 頁面。

    前往「共用 (Analytics Hub)」

  2. 按一下要更新的資料無塵室顯示名稱。

  3. 在「詳細資料」分頁中,按一下「編輯資料無塵室詳細資料」。

  4. 視需要更新資料無塵室名稱、主要聯絡人、圖示、說明或訂閱者電子郵件記錄設定。

  5. 按一下 [儲存]。

API

使用 projects.locations.dataExchanges.patch 方法,並將共用環境設為 dcrExchangeConfig。

以下範例說明如何使用 curl 指令呼叫 projects.locations.dataExchanges.patch 方法:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID?updateMask=UPDATEMASK -d
'{
  display_name: "CLEAN_ROOM_NAME",
  sharing_environment_config: {dcr_exchange_config: {}}
}'

替換下列內容:

  • PROJECT_ID:專案 ID
  • LOCATION:資料無塵室的位置
  • CLEAN_ROOM_ID:您的資料無塵室 ID
  • CLEAN_ROOM_NAME:資料無塵室的顯示名稱

將 UPDATEMASK 替換為要更新的欄位清單。如要更新多個值,請使用以半形逗號分隔的清單。舉例來說,如要更新資料交換作業的顯示名稱和主要聯絡人,請輸入 displayName,primaryContact。

在要求主體中,指定下列欄位的更新值:

  • displayName
  • description
  • primaryContact
  • documentation
  • icon
  • discoveryType
  • logLinkedDatasetQueryUserEmail

如要進一步瞭解這些欄位,請參閱「資源:DataExchange」。

刪除資料無塵室

如要刪除資料無塵室,請選取下列任一選項:

控制台

  1. 前往 Google Cloud 控制台的「Sharing (Analytics Hub)」(共用 (Analytics Hub)) 頁面。

    前往「共用 (Analytics Hub)」

  2. 在要刪除的資料無塵室所在資料列中,依序點按「更多動作」圖示 >「刪除」。

  3. 如要確認,請輸入 delete,然後按一下「刪除」。這項操作無法復原。

API

使用 projects.locations.dataExchanges.delete 方法,並將共用環境設為 dcrExchangeConfig。

以下範例說明如何使用 curl 指令呼叫 projects.locations.dataExchanges.delete 方法:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges?data_exchange_id=CLEAN_ROOM_ID

請替換下列項目:

  • PROJECT_ID:專案 ID
  • LOCATION:資料無塵室的位置
  • CLEAN_ROOM_ID:資料無塵室 ID

刪除資料無塵室後,當中的所有產品資訊都會刪除。共用資源和連結資料集不會遭到刪除。連結的資料集會與來源資料集取消連結,因此資料無塵室訂閱者開始無法查詢資料無塵室中的資源。

管理資料提供者

資料無塵室擁有者可以管理哪些使用者能將資料新增至資料無塵室 (即資料貢獻者)。如要允許資料提供者在資料無塵室中新增資料,請授予他們該資料無塵室的 Analytics Hub 發布商角色 (roles/analyticshub.publisher):

控制台

  1. 前往 Google Cloud 控制台的「Sharing (Analytics Hub)」頁面。

    前往「共用 (Analytics Hub)」

  2. 按一下要授予權限的資料無塵室顯示名稱。

  3. 在「詳細資料」分頁中,按一下「設定權限」。

  4. 按一下「Add principal」(新增主體)。

  5. 在「New principals」(新增主體) 中,輸入要新增的資料提供者使用者名稱或電子郵件。

  6. 在「選取角色」部分,依序選取 「Analytics Hub」>「Analytics Hub 發布者」。

  7. 按一下 [儲存]。

您隨時可以點選「Set permissions」(設定權限),刪除及更新資料提供者。

API

請使用 projects.locations.dataExchanges.setIamPolicy 方法。

以下範例說明如何使用 curl 指令呼叫 projects.locations.dataExchanges.setIamPolicy 方法:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID:setIamPolicy -d
'{
  "policy": {
    "bindings": [
      {
        "members": [
          "my-service-account@my-project.iam.gserviceaccount.com"
        ],
        "role": "roles/analyticshub.publisher"
      }
    ]
  }
}'

要求主體中的政策必須符合政策的結構。

您可以在「IAM」頁面中,為整個專案授予 Analytics Hub 發布者角色 (roles/analyticshub.publisher)。這項權限可讓您將資料新增至該專案中的任何資料無塵室。不建議在專案層級授予這個角色,因為這可能會導致存取權限過於寬鬆。

管理資料無塵室訂閱者

資料無塵室擁有者可以管理哪些人能訂閱資料無塵室 (即訂閱者)。如要允許訂閱者訂閱資料無塵室,請授予他們該資料無塵室的 Analytics Hub 訂閱者角色 (roles/analyticshub.subscriber) 和 Analytics Hub 訂閱項目擁有者角色 (roles/analyticshub.subscriptionOwner):

控制台

  1. 前往 Google Cloud 控制台的「Sharing (Analytics Hub)」(共用 (Analytics Hub)) 頁面。

    前往「共用」(Analytics Hub)

  2. 按一下要授予權限的資料無塵室顯示名稱。

  3. 在「詳細資料」分頁中,按一下「設定權限」。

  4. 按一下「Add principal」(新增主體)。

  5. 在「New principals」(新增主體) 中,輸入要新增的資料無塵室訂閱者使用者名稱或電子郵件地址。

  6. 在「請選擇角色」部分,依序選取 「Analytics Hub > Analytics Hub 訂閱者」

  7. 按一下 「Add another role」(新增其他角色)。

  8. 在「選取角色」部分,依序選取 「Analytics Hub」>「Analytics Hub 訂閱項目擁有者」。

  9. 按一下 [儲存]。

您隨時可以點選「Set permissions」(設定權限),刪除及更新資料無塵室訂閱者。

API

請使用 projects.locations.dataExchanges.setIamPolicy 方法。

以下範例說明如何使用 curl 指令呼叫 projects.locations.dataExchanges.setIamPolicy 方法:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID:setIamPolicy -d
'{
  "policy": {
    "bindings": [
      {
        "members": [
          "user:mike@example.com"
        ],
        "role": "roles/analyticshub.subscriptionOwner"
      },
      {
        "members": [
          "user:mike@example.com"
        ],
        "role": "roles/analyticshub.subscriber"
      }
    ]
  }
}'

要求主體中的政策必須符合 Policy 的結構。

您可以在「IAM」頁面,為整個專案授予 Analytics Hub 訂閱者角色 (roles/analyticshub.subscriber) 和 Analytics Hub 訂閱項目擁有者角色 (roles/analyticshub.subscriptionOwner)。這些角色可授予訂閱該專案中任何資料無塵室的權限。請避免在專案層級授予這些角色,因為這可能會導致過於寬鬆的存取權。

共用資料無塵室

您可以直接與資料無塵室訂閱者共用資料無塵室:

  1. 前往 Google Cloud 控制台的「Sharing (Analytics Hub)」(共用 (Analytics Hub)) 頁面。

    前往「共用 (Analytics Hub)」

  2. 在要分享的資料無塵室資料列中,依序點選 「更多動作」>「複製分享連結」。

  3. 如要讓訂閱者查看及訂閱資料無塵室,請與他們分享複製的連結。

資料貢獻者工作流程

資料提供者可以執行下列操作:

  • 建立房源資訊,將資料新增至資料無塵室。
  • 更新商店資訊。
  • 刪除房源資訊。
  • 共用資料無塵室。
  • 監控商家資訊。

其他資料貢獻者權限

如要完成資料貢獻者工作,您必須在資料無塵室中具備Analytics Hub 發布者角色 (roles/analyticshub.publisher)。

此外,您還需要來源資料集和資料表的 bigquery.datasets.get、bigquery.datasets.update 和 bigquery.tables.get 權限。這些權限屬於 BigQuery 資料擁有者角色 (roles/bigquery.dataOwner)。

如要查看貴組織中不屬於目前專案的資料無塵室,您必須具備 resourcemanager.organization.get 權限。

如要使用資料無塵室建立程序,建立具有分析規則的 BigQuery 檢視表,您必須具備 bigquery.tables.setPrivacyPolicy 和 bigquery.tables.create 權限。如果直接參照檢視表,則不需要這項權限。

建立商家資訊 (新增資料)

如要使用分析規則準備資料,並以清單形式發布至資料無塵室,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「Sharing (Analytics Hub)」(共用 (Analytics Hub)) 頁面。

    前往「共用 (Analytics Hub)」

  2. 按一下要建立產品資訊的資料無塵室顯示名稱。

    如果您與資料無塵室擁有者不屬於同一個組織,且無法查看資料無塵室,請向資料無塵室擁有者索取直接連結。

  3. 點選「新增資料」。

  4. 在「Select dataset」(選取資料集) 和「Table/view name」(資料表/檢視表名稱),輸入要在資料無塵室列出的資料表或檢視表,以及對應的資料集。您將新增分析規則,防止原始存取這個基礎資料,只需幾個步驟即可完成。

  5. 選取要發布的資源資料欄。

  6. 設定清單的檢視名稱、主要聯絡人和說明 (選用)。

  7. 點選「下一步」。

  8. 為清單選擇分析規則,並設定詳細資料。

  9. 為商家資訊設定資料輸出控制選項。

  10. 點選「下一步」。

  11. 查看要新增至資料無塵室的資料和分析規則。

  12. 按一下「新增資料」。系統會為資料建立檢視表,並將其新增為資料無塵室的項目。來源資料表或檢視表本身不會新增。

API

請使用 projects.locations.dataExchanges.listings.create 方法。

以下範例說明如何使用 curl 指令呼叫 projects.locations.dataExchanges.listings.create 方法:

  curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -H 'x-goog-user-project:DCR_PROJECT_ID' -X POST https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/listings?listingId=LISTING_ID -d
  '{"bigqueryDataset":{"dataset":"projects/PROJECT_ID/datasets/DATASET_ID","selectedResources":[{"table":"projects/PROJECT_ID/datasets/DATASET_ID/tables/VIEW_ID"}],},"displayName":LISTING_NAME"}'

請替換下列項目:

  • DCR_PROJECT_ID:建立資料無塵室的專案 ID。
  • PROJECT_ID:來源資料集所屬專案的專案 ID。
  • DATASET_ID:來源資料集 ID。
  • LOCATION:資料無塵室的位置。
  • CLEAN_ROOM_ID:資料無塵室 ID。
  • LISTING_ID:您的產品資訊 ID。
  • LISTING_NAME:您的產品資訊名稱。
  • VIEW_ID:您的資料檢視 ID。新增至資料無塵室的檢視表必須是已設定數據分析規則的授權檢視表。

在資料無塵室中列出資源,即表示您授予所有目前和未來的資料無塵室訂閱者,存取共用資源中資料的權限。

如果您建立的清單包含缺少分析規則的共用資源,系統會顯示警告,指出訂閱者可以存取該資源的原始資料。確認警告後,仍可建立產品資訊。

如果收到 Failed to save listing 錯誤,請確認您具備完成資料提供者工作所需的權限。

更新商店資訊

如要更新房源資訊,請選取下列其中一個選項:

控制台

  1. 前往 Google Cloud 控制台的「Sharing (Analytics Hub)」(共用 (Analytics Hub)) 頁面。

    前往「共用」(Analytics Hub)

  2. 按一下資料無塵室的顯示名稱,其中包含該產品資訊。

  3. 在要更新的房源資料列中,依序點按 「更多動作」 >「編輯房源」。

  4. 視需要更新主要聯絡人或說明。

  5. 點選「下一步」。

  6. 視需要更新分析規則。您只能更新所選規則的參數。無法切換至其他規則。

  7. 點選「下一步」。

  8. 檢查商店資訊,然後按一下「儲存」。

API

請使用 projects.locations.dataExchanges.listings.patch 方法。

以下範例說明如何使用 curl 指令呼叫 projects.locations.dataExchanges.listings.patch 方法:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -H 'x-goog-user-project:DCR_PROJECT_ID' -X PATCH https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/listings/listingId=LISTING_ID?updateMask=displayName -d
'{"displayName":LISTING_NAME"}'

請替換下列項目:

  • DCR_PROJECT_ID:建立資料無塵室的專案 ID。
  • LOCATION:資料無塵室的位置。
  • CLEAN_ROOM_ID:資料無塵室 ID。
  • LISTING_ID:您的產品資訊 ID。
  • LISTING_NAME:您的產品資訊名稱。

建立清單後,就無法變更來源資源或資料輸出控管。

刪除項目

如要刪除商店資訊,請選擇下列其中一個選項:

控制台

  1. 前往 Google Cloud 控制台的「Sharing (Analytics Hub)」(共用 (Analytics Hub)) 頁面。

    前往「共用」(Analytics Hub)

  2. 按一下資料無塵室的顯示名稱,其中包含該產品資訊。

  3. 在要刪除的房源所在資料列中,依序點按「更多動作」>「刪除房源」。

  4. 如要確認,請輸入 delete,然後按一下「Delete」(刪除)。這項操作無法復原。

API

請使用 projects.locations.dataExchanges.listings.delete 方法。

以下範例說明如何使用 curl 指令呼叫 projects.locations.dataExchanges.listings.delete 方法:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -H 'x-goog-user-project:DCR_PROJECT_ID' -X DELETE https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/listings?listingId=LISTING_ID

請替換下列項目:

  • DCR_PROJECT_ID:建立資料無塵室的專案 ID。
  • LOCATION:資料無塵室的位置。
  • CLEAN_ROOM_ID:資料無塵室 ID。
  • LISTING_ID:您的產品資訊 ID。

刪除項目時,系統不會刪除共用資源和連結的資料集。連結的資料集會與來源資料集取消連結,因此資料無塵室訂閱者無法再查詢該清單中的資源。

共用資料無塵室

您可以直接與資料無塵室訂閱者共用資料無塵室:

  1. 前往 Google Cloud 控制台的「Sharing (Analytics Hub)」(共用 (Analytics Hub)) 頁面。

    前往「共用」(Analytics Hub)

  2. 在要分享的資料無塵室資料列中,依序點選 「更多動作」 >「複製分享連結」。

  3. 如要讓訂閱者查看及訂閱資料無塵室,請與他們分享複製的連結。

監控房源

如要查看資料無塵室中分享資源的來源資料集用量指標,請查詢 INFORMATION_SCHEMA.SHARED_DATASET_USAGE 檢視區塊。

如要查看資料無塵室訂閱者,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Sharing (Analytics Hub)」(共用 (Analytics Hub)) 頁面。

    前往「共用」(Analytics Hub)

  2. 按一下資料無塵室的顯示名稱。

  3. 在要查看的產品資訊列中,依序按一下 「More actions」(更多動作) >「View subscriptions」(查看訂閱項目)。

資料無塵室訂閱者工作流程

資料無塵室訂閱者可以執行下列操作:

  • 訂閱資料無塵室。
  • 查詢連結資料集中的資料。

訂閱資料無塵室後,系統會在專案中建立一個連結的資料集。每個連結資料集的名稱都與資料無塵室相同。

您無法訂閱資料無塵室中的特定清單。您只能訂閱資料無塵室本身。

其他資料無塵室訂閱者權限

如要完成資料無塵室訂閱者工作,您必須具備資料無塵室的 Analytics Hub 訂閱者角色 (roles/analyticshub.subscriber),以及訂閱專案的 Analytics Hub 訂閱項目擁有者角色 (roles/analyticshub.subscriptionOwner)。

訂閱資料無塵室時,您也需要專案中的 bigquery.datasets.create 權限,才能建立連結的資料集。

訂閱資料無塵室

訂閱資料無塵室後,您就能在專案中建立連結的資料集,進而查詢商家資訊中的資料。如要訂閱資料淨室,請按照下列步驟操作:

控制台

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往「BigQuery」

  2. 在「Explorer」窗格中,點選 「Add data」(新增資料)。

  3. 選取「Sharing (Analytics Hub)」。探索頁面隨即開啟。

  4. 如要顯示您有權存取的資料無塵室,請在篩選器清單中選取「Clean rooms」(資料無塵室)。

  5. 按一下要訂閱的資料無塵室。系統會開啟資料無塵室的說明頁面。在這個頁面中,您也可以查看供應商是否已啟用訂閱者電子郵件記錄功能。

  6. 點選「訂閱」。

  7. 選取訂閱項目的目的地專案,然後按一下「訂閱」。

API

請使用 projects.locations.dataExchanges.subscribe 方法。

以下範例說明如何使用 curl 指令呼叫 projects.locations.dataExchanges.subscribe 方法:

  curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X POST https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID:subscribe  --data '{"destination":"projects/SUBSCRIBER_PROJECT_ID/locations/LOCATION","subscription":"SUBSCRIPTION"}'

替換下列內容:

  • DCR_PROJECT_ID:資料無塵室建立所在專案的專案 ID。
  • LOCATION:資料清理室的位置。
  • CLEAN_ROOM_ID:資料無塵室 ID。
  • SUBSCRIBER_PROJECT_ID:訂閱者專案的專案 ID。
  • SUBSCRIPTION:訂閱項目的名稱。
  • LINKED_DATASET_ID:您要提供給連結資料集的 ID。
  • PRIMARY_REGION:要建立連結資料集的主要地理區域。

在要求主體中,指定目的地位置、訂閱名稱,以及要建立連結資料集的資料集:

{
  "destination": "projects/SUBSCRIBER_PROJECT_ID/locations/LOCATION",
  "subscription": "SUBSCRIPTION",
  "destinationDataset": {
    "datasetReference": {
      "projectId": "SUBSCRIBER_PROJECT_ID",
      "datasetId": "LINKED_DATASET_ID"
    },
    "location": "PRIMARY_REGION"
  }
}

如果要求成功,回應主體會包含訂閱物件。

如果您使用 logLinkedDatasetQueryUserEmail 欄位為資料無塵室啟用訂閱者電子郵件記錄功能,訂閱回應會包含 log_linked_dataset_query_user_email: true。記錄的資料會顯示在 INFORMATION_SCHEMA.SHARED_DATASET_USAGE 檢視畫面的 job_principal_subject 欄位中。

連結的資料集現已新增至您指定的專案,並可供查詢。

身為資料無塵室訂閱者,您存取連結資料集時須遵守下列條件:

  • 中繼資料和權限:您可以編輯連結資料集的部分中繼資料 (例如說明和標籤),也可以設定連結資料集的權限。變更連結的資料集不會影響來源資料集。您無法查看檢視區塊定義。
  • 唯讀資源:連結資料集中的資源為唯讀。訂閱者無法編輯連結資料集中資源的資料或中繼資料,也無法指定連結資料集中個別資源的權限。
  • 取消訂閱:如要取消訂閱資料無塵室,請刪除連結的資料集。

查詢連結資料集中的資料

如要查詢已連結資料集中的資料,請使用 SELECT WITH AGGREGATION_THRESHOLD 語法,對強制執行分析規則的檢視表執行查詢。如需這個語法的範例,請參閱「查詢強制執行匯總門檻分析規則的檢視表」。

範例情境:廣告主和發布商的歸因分析

廣告主想追蹤行銷廣告活動的成效,廣告主擁有顧客的第一方資料,包括購買記錄、受眾特徵和興趣。發布商擁有網站資料,包括向訪客顯示的廣告和轉換。

廣告主和發布商同意使用資料無塵室合併資料,並評估廣告活動成效。在此情況下,發布商會建立資料無塵室,並提供資料供廣告主分析。產生的歸因報表會向廣告主顯示哪些廣告最能有效提升銷售量。廣告主會運用這項資訊,最佳化日後的行銷廣告活動。

廣告主和發布商會透過下列各節所述的程序,協調 BigQuery 資料無塵室。

建立資料無塵室 (發布商)

  1. 發布商組織中的資料無塵室擁有者,在 BigQuery 專案中啟用 Analytics Hub API,並指派使用者 A 為資料無塵室擁有者 (Analytics Hub 管理員 (roles/analyticshub.admin))。
  2. 使用者 A 建立名為 Campaign Analysis 的資料無塵室,並指派下列權限:
    • 資料貢獻者 (Analytics Hub 發布者 (roles/analyticshub.publisher)):使用者 B,發布者機構的資料工程師。
    • 資料無塵室訂閱者 (Analytics Hub 訂閱者 (roles/analyticshub.subscriber) 和訂閱項目擁有者 (roles/analyticshub.subscriptionOwner)):使用者 C,廣告主機構的行銷分析師。

將資料新增至資料無塵室 (發布商)

使用者 B 在資料無塵室中建立名為 Publisher Conversion Data 的新清單。建立商家資訊時,系統會建立新的分析規則檢視畫面。

訂閱資料無塵室 (廣告主)

  1. 使用者 C 訂閱資料無塵室,系統會為資料無塵室中的所有產品資訊 (包括 Publisher Conversion Data 產品資訊) 建立連結資料集。
  2. 使用者 C 現在可以執行彙整查詢,將這個已連結資料集的資料與第一方資料合併,評估廣告活動成效。

實體解析

資料無塵室的應用實例通常需要連結資料貢獻者和資料無塵室訂閱者資料集中的實體,但這些資料集不包含通用 ID。訂閱者和資料提供者可能會在多個資料集中以不同方式表示相同的記錄,原因可能是資料集來自不同的資料來源,或資料集使用來自不同命名空間的 ID。

BigQuery 的實體解析功能是資料準備的一部分,可執行下列操作:

  • 對於資料提供者,系統會使用所選通用供應商的 ID,在共用資源中重複資料並解決記錄。這個程序可讓跨貢獻者加入。
  • 對於資料無塵室訂閱者,系統會將第一方資料集中的記錄去重複化並解析,然後連結至資料貢獻者資料集中的實體。這個程序可讓訂閱者和資料提供者資料之間進行聯結。

如要進一步瞭解如何設定實體解析,請參閱「在 BigQuery 中設定及使用實體解析」。

探索資料無塵室資產

如要找出您有權存取的所有資料無塵室,請按照下列步驟操作:

  • 資料無塵室擁有者和資料貢獻者可以在Google Cloud 控制台前往「Sharing (Analytics Hub)」頁面。

    前往「共用 (Analytics Hub)」

    系統會列出您可存取的所有資料無塵室。

  • 資料無塵室訂閱者請按照下列步驟操作:

    1. 前往 Google Cloud 控制台的「BigQuery」頁面。

      前往「BigQuery」

    2. 在「Explorer」窗格中,按一下 「新增資料」。

    3. 選取「Sharing (Analytics Hub)」。探索頁面隨即開啟。

    4. 如要顯示您有權存取的資料無塵室,請在篩選器清單中選取「Clean rooms」(資料無塵室)。

如要找出專案中由資料無塵室建立的所有連結資料集,請在指令列環境中執行下列指令:

PROJECT=PROJECT_ID \
for dataset in $(bq ls --project_id $PROJECT | tail +3); \
do [ "$(bq show -d --project_id $PROJECT $dataset | egrep LINKED)" ] \
&& echo $dataset; done

將 PROJECT_ID 替換為包含連結資料集的專案。

定價

下表摘要列出 BigQuery 資料無塵室的定價:

角色 定價詳細資料
資料提供者 只會收取資料儲存費用。
資料無塵室訂閱者 執行查詢時,只會收取運算 (分析) 費用。

後續步驟