透過 VPC Service Controls 保護 IAP 的 TCP 轉送功能

本頁面說明如何使用 VPC Service Controls 保護 IAP 的 TCP 轉送功能,以及如何在 VPC Service Controls 範圍內使用 IAP 的 TCP 轉送功能。

事前準備

  1. 參閱「VPC Service Controls 總覽」。

  2. 設定 IAP TCP 轉送功能,不使用服務範圍。

  3. 使用 VPC Service Controls 建立服務範圍。這個服務範圍可保護您指定的 Google 代管服務資源。建立服務範圍時,請按照下列步驟操作:

    1. 將包含您要透過 IAP 連線的 Compute Engine 執行個體的專案,新增至服務範圍內的專案。如果您在 Compute Engine 執行個體上執行 TCP 用戶端的 IAP,請將包含此執行個體的專案納入邊界。

    2. Identity-Aware Proxy TCP API 新增至受服務範圍保護的服務清單。

    如果您建立服務範圍時未新增所需的專案和服務,請參閱「管理服務範圍」,瞭解如何更新服務範圍。

使用 Cloud DNS 設定 DNS 記錄

如果 TCP 用戶端的 IAP (可能是 Google Cloud CLI) 並未在任何邊界內執行,您可以略過這個步驟。另一方面,如果您在邊界內執行用戶端,則必須為 TCP 的 IAP 設定 DNS 記錄。

TCP 適用的 IAP 會使用非 googleapis.com 子網域的網域。使用 Cloud DNS 新增 DNS 記錄,確保虛擬私人雲端網路能正確處理傳送至這些網域的要求。如要進一步瞭解 VPC 路徑,請參閱路徑總覽

請按照下列步驟為網域建立代管區域、新增 DNS 記錄來轉送要求,然後執行交易。您可以使用 gcloud CLI 搭配偏好的終端機,或是使用已預先安裝 gcloud CLI 的 Cloud Shell

  1. 設定 *.googleapis.com DNS,這通常是 VPC Service Controls 整合的做法。

  2. 收集下列資訊,以便在設定 DNS 記錄時使用:

    • PROJECT_ID 是代管虛擬私有雲網路的專案 ID。

    • NETWORK_NAME 是您在其中執行 TCP 用戶端 IAP 的 VPC 網路名稱。

    • ZONE_NAME 是您要建立的區域名稱。例如:iap-tcp-zone

  3. 為網域 tunnel.cloudproxy.app 建立私人代管區域,以便虛擬私人雲端網路處理。

    gcloud dns managed-zones create ZONE_NAME \
     --visibility=private \
     --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \
     --dns-name=tunnel.cloudproxy.app \
     --description="Description of your managed zone"
  4. 啟動交易。

    gcloud dns record-sets transaction start --zone=ZONE_NAME
  5. 新增下列 DNS A 記錄。這麼做可將流量重新導向至 Google 的受限制 VIP (虛擬 IP 位址)。

    gcloud dns record-sets transaction add \
     --name=tunnel.cloudproxy.app. \
     --type=A 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \
     --zone=ZONE_NAME \
     --ttl=300
  6. 新增下列 DNS CNAME 記錄,指向您剛新增的 A 記錄。這麼做可將所有與網域相符的流量重新導向至上一個步驟中列出的 IP 位址。

    gcloud dns record-sets transaction add \
     --name="*.tunnel.cloudproxy.app." \
     --type=CNAME tunnel.cloudproxy.app. \
     --zone=ZONE_NAME \
     --ttl=300
  7. 執行交易。

    gcloud dns record-sets transaction execute --zone=ZONE_NAME

使用 BIND 設定 DNS

您可以改用 BIND 而非 Cloud DNS。在這種情況下,請按照使用 BIND 設定 DNS的說明操作,但使用 TCP 網域的 IAP,而非一般 googleapis.com 網域。

使用私人 VIP

視您設定的邊界和網路而定,您可能可以使用私人 VIP,而非受限 VIP。如果您偏好這樣做,請使用

199.36.153.8 199.36.153.9 199.36.153.10 199.36.153.11

取代

199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7

的操作說明中,瞭解如何設定 DNS 記錄。

使用共用虛擬私有雲

如果您使用共用虛擬私有雲,則必須將主機和服務專案新增至服務範圍。請參閱「管理服務範圍」。

後續步驟