共用 VPC Service Controls 規則
本文件說明您需要的輸入和輸出規則,讓發布者和訂閱者存取設有 VPC Service Controls 範圍的專案資料。本文假設您熟悉 VPC Service Controls 範圍、共用資料集、資料交換、資訊清單和連結資料集。
Caller 專案是啟動要求的網路或用戶端專案,例如 SQL 查詢或 Google Cloud CLI 指令。
建立資料交換
在下圖中,包含資料交換和共用資料集的專案位於不同的服務範圍:
圖 1. 建立資料交換的 VPC Service Controls 規則。
在圖 1 中,標示了下列元件:
- Caller 是 Analytics Hub 管理員。
- Project R 是呼叫端專案。
- Project E 會代管 BigQuery sharing (舊稱 Analytics Hub) 資料交換和項目。
身為 Analytics Hub 管理員,如果您在與呼叫端專案不同的專案中建立資料交換服務,則必須新增下列輸入和輸出規則:
專案 | 規則 |
---|---|
專案 R | 專案 E 的輸出規則 |
專案 E (資料交換) | 專案 R 的 ingress 規則 |
建立商家資訊
在下圖中,包含資料交換和共用資料集的專案位於不同的服務範圍:
圖 2:建立資訊清單的 VPC Service Controls 規則。
在圖 2 中,標示了下列元件:
- Caller 是 Analytics Hub 管理員或發布者。
- Project R 是呼叫端專案。
- Project E 會代管共用資料交換和清單。
- Project S 代管共用資料集。
在資料交換中建立清單時,如果該資料交換位於與共用資料集不同的專案中,您必須新增下列輸入和輸出規則,才能允許發布端建立清單:
專案 | 規則 |
---|---|
專案 R |
專案 E 的輸出規則 專案 S 的輸出規則 |
專案 E (資料交換) |
專案 S 的輸出規則 專案 R 的 ingress 規則 |
專案 S (共用資料集) |
專案 E 的輸出規則 專案 R 的 ingress 規則 |
訂閱商店資訊
在下圖中,包含商家資訊的專案和該商家資訊的連結資料集位於不同的服務範圍:
圖 3:訂閱商家資訊的 VPC Service Controls 規則。
在圖 3 中,標示了下列元件:
- Caller 是 Analytics Hub 訂閱者。
- Project R 是呼叫端專案。
- Project E 會代管共用資料交換和清單。
- Project L 代管已連結的資料集。
身為 Analytics Hub 訂閱者,如果您在資料交換中訂閱的產品資訊位於其他專案,則必須新增下列進站和出站規則:
專案 | 規則 |
---|---|
專案 R |
專案 E 的輸出規則 專案 L 的輸出規則 |
專案 E (清單) |
專案 L 的輸出規則 專案 R 的 ingress 規則 |
專案 L (已連結的資料集) |
專案 E 的輸出規則 專案 R 的 ingress 規則 |
查詢連結資料集中的資料表
在下圖中,呼叫端專案和包含已連結資料集的專案位於不同的服務範圍:
圖 4:用於查詢已連結資料集的 VPC Service Controls 規則。
在圖 4 中,標示了下列元件:
- Caller 是 Analytics Hub 訂閱者,或連結資料集的任何 BigQuery 作業使用者。
- Project R 是呼叫端專案。
- Project L 代管已連結的資料集。
- Project V 會代管含有該資料表的共用資料集。
身為 Analytics Hub 訂閱者,在查詢已連結資料集中的資料表時,您必須新增下列入站和出站規則:
專案 | 規則 |
---|---|
專案 R | 專案 L 的輸出規則 |
專案 L (已連結的資料集) | 專案 R 的 ingress 規則 |
查詢連結資料集中的檢視表
情境 1
在下圖中,包含已連結資料集的專案和與檢視畫面相關聯的基礎資料表,位於不同的服務範圍。檢視畫面 (Project S) 和與檢視畫面相關聯的基礎資料表 (Project V) 位於不同的專案中:
圖 5. 用於查詢已連結資料集中的檢視畫面的 VPC Service Controls 規則。
在圖 5 中,標示了下列元件:
- Caller 是 Analytics Hub 訂閱者,或連結資料集的任何 BigQuery 作業使用者。
- Project R 是呼叫端專案。
- Project L 代管已連結的資料集。
- Project S 代管共用資料集。
- Project V 會代管資料集,其中包含與檢視畫面相關聯的基本資料表。
身為 Analytics Hub 訂閱者,在連結資料集中查詢檢視畫面時,您必須新增下列入站和出站規則:
專案 | 規則 |
---|---|
專案 R |
專案 L 的輸出規則 專案 V 的輸出規則 |
專案 L (已連結的資料集) |
專案 R 的 ingress 規則 專案 V 的輸出規則 |
Project V |
專案 L 的輸出規則 專案 R 的 ingress 規則 |
情境 2
在下圖中,檢視畫面 (Project V) 和與檢視畫面 (Project V) 相關聯的基本資料表位於同一個專案中:
圖 6:用於查詢已連結資料集中的檢視畫面的 VPC Service Controls 規則。
在圖 6 中,標示了下列元件:
- Caller 是 Analytics Hub 訂閱者,或連結資料集的任何 BigQuery 作業使用者。
- Project R 是呼叫端專案。
- Project L 代管已連結的資料集。
- Project V 會代管檢視畫面和與檢視畫面相關聯的主資料表。
身為 Analytics Hub 訂閱者,在連結資料集中查詢檢視畫面時,您必須新增下列入站和出站規則:
專案 | 規則 |
---|---|
專案 R |
專案 L 的輸出規則 |
專案 L (已連結的資料集) |
專案 R 的 ingress 規則 |
查詢已連結資料集中的已授權檢視表
在下圖中,授權檢視畫面和與授權檢視畫面 (Project V) 相關聯的基礎資料表,都位於同一個專案中:
圖 7. 用於查詢已連結資料集中的檢視畫面的 VPC Service Controls 規則。
在圖 7 中,標示了下列元件:
- Caller 是 Analytics Hub 訂閱者,或連結資料集的任何 BigQuery 作業使用者。
- Project R 是呼叫端專案。
- Project L 代管已連結的資料集。
- Project V 會代管已授權的檢視表,以及與該檢視表相關聯的主資料表。
身為 Analytics Hub 訂閱者,在連結資料集中查詢檢視畫面時,您必須新增下列入站和出站規則:
專案 | 規則 |
---|---|
專案 R |
專案 L 的輸出規則 |
專案 L (已連結的資料集) |
專案 R 的 ingress 規則 |
限制
BigQuery sharing (原 Analytics Hub) 不支援方法規則。如要允許方法,您必須允許所有方法。例如:
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
後續步驟
- 如要排解 VPC Service Controls 問題,請參閱「排解常見問題」。
- 瞭解輸入和輸出規則。
- 瞭解如何設定輸入和輸出政策。
- 瞭解如何建立商家資訊。
- 瞭解如何訂閱商家資訊。
- 瞭解共用稽核記錄。