共用 VPC Service Controls 規則

本文說明輸入和輸出規則,讓 BigQuery sharing (原為 Analytics Hub) 中的發布者和訂閱者,存取具有 VPC Service Controls 邊界的專案資料。本文假設您已熟悉 VPC Service Controls 範圍共用資料集資料交換資訊主頁連結資料集

呼叫端專案是指啟動要求的網路或用戶端 Google Cloud 專案,例如 SQL 查詢或 Google Cloud CLI 指令。

建立資料交換庫

在下圖中,包含資料交換和共用資料集的專案位於不同的服務安全防護範圍:

建立資料交換時的 VPC Service Controls 規則。

圖 1. 建立資料交換的 VPC Service Controls 規則。

圖 1 標示了下列元件:

  • 呼叫端:BigQuery 共用管理員。
  • 專案 R:呼叫端專案。
  • 專案 E:主機代管資料交換庫和清單。

身為 BigQuery sharing 管理員,如果您在與呼叫端專案不同的專案中建立資料交換,則必須新增下列輸入和輸出規則:

專案 規則
Project R 專案 E 的輸出規則
專案 E (資料交換) 專案 R 的輸入規則

建立商家資訊

在下圖中,包含資料交換和共用資料集的專案位於不同的服務安全防護範圍:

建立房源資訊時的 VPC Service Controls 規則。

圖 2:建立房源資訊的 VPC Service Controls 規則。

圖 2 標示了下列元件:

  • 呼叫端:BigQuery 共用管理員或發布者。
  • 專案 R:呼叫端專案。
  • 專案 E:主機代管資料交換庫和清單。
  • 專案 S:代管共用資料集。

如果您在資料交易所建立的資訊公開項目與共用資料集位於不同專案,則必須新增下列輸入和輸出規則,允許 BigQuery 共用發布者建立資訊公開項目:

專案 規則
Project R

專案 E 的輸出規則

專案 S 的輸出規則

專案 E (資料交換)

專案 S 的輸出規則

專案 R 的輸入規則

專案 S (共用資料集)

專案 E 的輸出規則

專案 R 的輸入規則

訂閱產品資訊

在下圖中,包含商家資訊和該商家資訊連結資料集的專案位於不同的服務範圍:

訂閱資訊時的 VPC Service Controls 規則。

圖 3:訂閱資訊的 VPC Service Controls 規則。

圖 3 標示了下列元件:

  • 呼叫端:BigQuery 共用訂閱者。
  • 專案 R:呼叫端專案。
  • 專案 E:主機代管資料交換庫和清單。
  • 專案 L:代管連結的資料集。

如果您是 BigQuery 共用訂閱者,且訂閱的資料交易所屬專案與您的專案不同,則必須新增下列輸入和輸出規則:

專案 規則
Project R

專案 E 的輸出規則

專案 L 的輸出規則

專案 E (房源)

專案 L 的輸出規則

專案 R 的輸入規則

專案 L (連結的資料集)

專案 E 的輸出規則

專案 R 的輸入規則

查詢連結資料集中的資料表

在下圖中,呼叫端專案和包含連結資料集的專案位於不同的服務範圍:

查詢連結資料集中的資料表時,VPC Service Controls 規則。

圖 4:查詢連結資料集的 VPC Service Controls 規則。

圖 4 標示了下列元件:

  • 呼叫端:BigQuery 共用訂閱者或連結資料集的任何 BigQuery 工作使用者。
  • 專案 R:呼叫端專案。
  • 專案 L:代管連結的資料集。
  • 專案 V:代管含有資料表的共用資料集。

如果您是 BigQuery 共用訂閱者,在連結的資料集中查詢資料表時,必須新增下列輸入和輸出規則:

專案 規則
Project R 專案 L 的輸出規則
專案 L (連結的資料集) 專案 R 的輸入規則

查詢連結資料集中的檢視區塊

本節說明查詢連結資料集中的檢視區塊時,所需的 VPC Service Controls 規則。規則會因檢視區塊及其基礎資料表是否位於同一專案或不同專案而異。

情境 1

在下圖中,包含連結資料集的專案,以及與檢視區塊相關聯的基礎資料表,位於不同的服務安全防護範圍。檢視區塊 (專案 S) 和與檢視區塊相關聯的基礎資料表 (專案 V) 位於不同專案中:

檢視表和基礎資料表位於不同專案。

圖 5. 查詢連結資料集中的檢視區塊時,適用的 VPC Service Controls 規則。

圖 5 標示了下列元件:

  • 呼叫端:BigQuery 共用訂閱者或連結資料集的任何 BigQuery 工作使用者。
  • 專案 R:呼叫端專案。
  • 專案 L:代管連結的資料集。
  • 專案 S:代管共用資料集。
  • 專案 V:代管包含與檢視區塊相關聯基本資料表的資料集。

如果您是 BigQuery 共用訂閱者,在連結的資料集中查詢檢視區塊時,必須新增下列輸入和輸出規則:

專案 規則
Project R

專案 L 的輸出規則

專案 V 的輸出規則

專案 L (連結的資料集)

專案 R 的輸入規則

專案 V 的輸出規則

Project V

專案 L 的輸出規則

專案 R 的輸入規則

情境 2

在下圖中,檢視區塊 (專案 V) 和與檢視區塊 (專案 V) 相關聯的基礎資料表位於同一個專案中:

檢視區和基礎資料表位於同一個專案中。

圖 6:查詢連結資料集中的檢視區塊時,適用的 VPC Service Controls 規則。

圖 6 標示了下列元件:

  • 呼叫端:BigQuery 共用訂閱者或連結資料集的任何 BigQuery 工作使用者。
  • 專案 R:呼叫端專案。
  • 專案 L:代管連結的資料集。
  • 專案 V:同時代管檢視區塊和與檢視區塊相關聯的基礎資料表。

如果您是 BigQuery 共用訂閱者,在連結的資料集中查詢檢視區塊時,必須新增下列輸入和輸出規則:

專案 規則
Project R

專案 L 的輸出規則

專案 L (連結的資料集)

專案 R 的輸入規則

查詢連結資料集中的授權檢視表

在下圖中,授權檢視區塊和與授權檢視區塊 (專案 V) 相關聯的基礎資料表位於同一個專案中:

授權檢視區和基本資料表位於同一專案。

圖 7. 查詢連結資料集中的檢視區塊時,適用的 VPC Service Controls 規則。

圖 7 標示了下列元件:

  • 呼叫端:BigQuery 共用訂閱者或連結資料集的任何 BigQuery 工作使用者。
  • 專案 R:呼叫端專案。
  • 專案 L:代管連結的資料集。
  • 專案 V:同時代管已授權的檢視區塊,以及與該檢視區塊相關聯的基礎資料表。

如果您是 BigQuery 共用訂閱者,在連結的資料集中查詢檢視區塊時,必須新增下列輸入和輸出規則:

專案 規則
Project R

專案 L 的輸出規則

專案 L (連結的資料集)

專案 R 的輸入規則

限制

BigQuery 共用功能不支援以方法為準的規則。如要啟用方法規則,必須允許所有方法。例如:

          ingressTo:
            operations:
            - methodSelectors:
              - method: '*'
              serviceName: analyticshub.googleapis.com
            resources:
            - projects/PROJECT_ID

如果 BigQuery 資源也受到服務範圍保護,您必須允許 BigQuery 服務的輸入和輸出規則。建立資料交換時,不一定要允許輸入和輸出規則。BigQuery 的進入和退出規則與 BigQuery 共用規則類似。例如:

          ingressTo:
            operations:
            - methodSelectors:
              - method: '*'
              serviceName: bigquery.googleapis.com
            resources:
            - projects/PROJECT_ID

後續步驟