使用 bridge 跨 perimeter 共用

本頁面說明如何使用重疊範圍,讓不同服務範圍內的專案和服務彼此通訊。

事前準備

服務重疊範圍

雖然專案只能指派給一個 service perimeter,但您或許會想讓專案能夠與其他 perimeter 內的專案彼此通訊。如要允許與其他服務進行通訊,以及跨 service perimeter 共用資料,您可以建立 perimeter bridge

perimeter bridge 可讓不同 service perimeters 內的專案互相通訊。perimeter bridge 是雙向的,每個 service perimeter 內的專案在 bridge 範圍中都有同等的存取權。不過,專案的存取層級和服務限制完全取決於專案所屬的 service perimeter。一個專案可以有多個重疊範圍以連結至其他專案。

某個service perimeter 中的專案無法間接獲得其他 perimeter 內專案的存取權。舉例來說,假設我們有 A、B 和 C 三個專案,每個專案都屬於不同的 service perimeter。A 和 B 共用一個 perimeter bridge,B 和 C 也共用一個 perimeter bridge。 資料可以在 A 和 B 之間移動,也可以在 B 和 C 之間移動,但無法在 A 和 C 之間移動,因為這兩個專案未透過 perimeter bridge 直接連結。

注意事項

建立 perimeter bridge 前,請先考量以下事項:

  • 專案必須屬於一個 service perimeter,才能使用 perimeter bridge 連結至其他專案。

  • perimeter bridge 無法包含不同組織的專案。 透過 perimeter bridge 相連結的專案必須屬於相同組織中的 service perimeter。

  • perimeter bridge 無法包含來自不同範圍政策的專案。不過,您可以使用輸入或輸出規則,允許不同範圍政策的專案進行通訊。

  • 為專案建立 perimeter bridge 後,您就無法將該專案的虛擬私有雲網路新增至 perimeter。

perimeter bridge 範例

以下用一個較廣泛的設定範例來說明 perimeter bridge 的運作方式:

perimeter bridge 存取圖表

我們的目標是要只允許在 DMZ perimeter 中的 Cloud Storage bucket 與接收器專案中的 bucket 之間複製資料,而不允許 DMZ perimeter 中的任何 VM 存取私人專案中 Storage bucket 的資料。

使用下列指令即可建立 perimeter bridge (即圖中的 Bridge),指定透過 perimeter bridge 連結專案 A 和專案 B。

gcloud access-context-manager perimeters create Bridge \
  --title="Perimeter Bridge" --perimeter-type=bridge \
  --resources=projects/12345,projects/67890

perimeter bridge 邊界是雙向的,這表示您可將資料從 DMZ perimeter 複製到私人 perimeter,也可從私人 perimeter 複製到 DMZ perimeter。如要提供具有方向性的控管機制,建議您針對執行複製作業的服務帳戶或身分,同時使用 perimeter 和 IAM 權限。