使用 VPC Service Controls
本頁面說明如何使用 VPC Service Controls,在服務範圍內設定 Colab Enterprise 筆記本。
總覽
VPC Service Controls 是一項 Google Cloud 功能,可讓您設定周邊範圍,防範資料遭竊。
VPC Service Controls 可為Google Cloud 服務提供額外一層防護,與 Identity and Access Management (IAM) 提供的防護機制互不相干。
在服務範圍內使用 Colab Enterprise 時,執行階段會受到服務範圍限制。因此,如要執行與其他 Google API 和服務互動的筆記本程式碼,必須將這些服務新增至服務安全防護範圍。
如要進一步瞭解 VPC Service Controls,請參閱「VPC Service Controls 總覽」。
已知限制
Colab Enterprise 會使用 Dataform 儲存筆記本。
如要進一步瞭解如何搭配使用 VPC Service Controls 與 Dataform,請參閱「為 Dataform 設定 VPC Service Controls」。
您只能透過 Google Cloud 控制台存取 Colab Enterprise UI。 如要瞭解Google Cloud 控制台的 VPC Service Controls 限制,請參閱Google Cloud 控制台限制。
如果您的服務範圍需要存取 Vertex AI 服務,請參閱 VPC Service Controls with Colab Enterprise 限制。
必要的角色
如要取得搭配 Colab Enterprise 使用 VPC Service Controls 的權限,請要求管理員在專案中授予您下列 IAM 角色:
-
Access Context Manager 編輯者 (
roles/accesscontextmanager.policyEditor) -
Colab Enterprise 使用者 (
roles/aiplatform.colabEnterpriseUser)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
如要進一步瞭解 VPC Service Controls 權限,請參閱「使用 IAM 控管存取權」。
建立 service perimeter
使用 VPC Service Controls 建立服務範圍。 這個 service perimeter 會保護您指定服務的 Google 代管資源。建立服務範圍時,請按照下列步驟操作:
要將專案新增至服務範圍時,請新增包含 Colab Enterprise 筆記本的專案,或在這個專案中建立筆記本。
需要將服務新增至服務範圍時,請新增下列項目:
- Vertex AI API (
aiplatform.googleapis.com) - Dataform API (
dataform.googleapis.com)
- Vertex AI API (
如果您已建立 service perimeter,但未新增所需專案和服務,請參閱「管理 service perimeter」,瞭解如何更新 service perimeter。
提供 Colab Enterprise UI 的存取權
由於 Colab Enterprise UI (colab-embedded.cloud.google.com) 只能透過網際網路存取,因此會被視為位在服務範圍外。套用服務範圍後,您可能會無法存取受保護服務的部分或所有 Google Cloud 控制台介面。舉例來說,如果您透過範圍保護 Colab Enterprise,就無法在 Google Cloud 控制台中存取 Colab Enterprise 介面。
如要允許透過 Google Cloud 控制台存取受範圍保護的資源,您必須為公開 IP 範圍建立存取層級,其中包含要透過 Google Cloud 控制台使用受保護 API 的使用者機器。舉例來說,您可以將私人網路 NAT 閘道的公開 IP 範圍新增至某個存取層級,然後將該存取層級指派至服務範圍。
如果您只想讓特定使用者透過 Google Cloud 主控台存取範圍內的資源,也可以在存取層級中新增這些使用者。在這種情況下,只有指定的使用者可存取Google Cloud 主控台。
設定可透過虛擬私有雲存取的服務 (選用)
為 perimeter 啟用可透過虛擬私有雲存取的服務後,perimeter 內部網路端點的存取權會受到限制,只能存取您指定的一組服務。
如要進一步瞭解如何限制 perimeter 內部的存取權,只允許存取一組特定服務,請參閱「可透過虛擬私有雲存取的服務」。
透過虛擬私有雲網路使用 Private Google Access (選用)
Private Google Access 提供私人連線,讓虛擬私有雲網路或地端部署網路中使用私人 IP 位址的主機存取 Google Cloud API 和服務。您可以將 VPC Service Controls 服務範圍擴充至這些網路中的主機,控管受保護資源的存取權。虛擬私有雲網路中的主機必須僅使用私人 IP 位址 (未使用公開 IP 位址),並位於啟用 Private Google Access 的子網路中。詳情請參閱「地端部署網路的私人連線」。
如要確保能透過虛擬私有雲網路使用私人 Google 存取權,您必須設定部分 DNS 記錄。
使用 Cloud DNS 設定 DNS 項目
Colab Enterprise 執行階段會使用多個網域,但 VPC 網路預設不會處理這些網域。如要確保虛擬私有雲網路正確處理傳送至這些網域的要求,請使用 Cloud DNS 新增 DNS 記錄。如要進一步瞭解虛擬私有雲路徑,請參閱「路徑」。
本節說明如何為網域建立代管區域、新增會轉送要求的 DNS 項目,以及執行交易。針對每個需要處理要求的多個網域重複執行這些步驟,從 *.aiplatform.googleapis.com 開始。
在 Cloud Shell 或已安裝 Google Cloud CLI 的任何環境中,輸入下列 gcloud CLI 指令。
-
如要為虛擬私有雲網路需要處理的其中一個網域建立私人代管區域,請按照下列步驟操作:
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=DNS_NAME. \ --description="Description of your managed zone"更改下列內容:
-
ZONE_NAME:要建立的區域名稱。每個網域都必須使用不同的區域。後續步驟都會使用這個區域名稱。 -
PROJECT_ID:託管虛擬私有雲網路的專案 ID。 -
NETWORK_NAME:您先前建立的虛擬私有雲網路名稱。 -
DNS_NAME:網域名稱中*.後方的部分。例如,*.aiplatform.googleapis.com的 DNS 名稱為aiplatform.googleapis.com。
-
-
啟動交易。
gcloud dns record-sets transaction start --zone=ZONE_NAME -
新增下列 DNS A 記錄。這會將流量重新導向至 Google 的受限 IP 位址。
gcloud dns record-sets transaction add \ --name=DNS_NAME. \ --type=A 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \ --zone=ZONE_NAME \ --ttl=300 -
新增下列 DNS CNAME 記錄,指向您剛才新增的 A 記錄。這樣一來,系統就會將符合網域的所有流量重新導向至上一步列出的 IP 位址。
gcloud dns record-sets transaction add \ --name=\*.DNS_NAME. \ --type=CNAME DNS_NAME. \ --zone=ZONE_NAME \ --ttl=300 -
執行交易。
gcloud dns record-sets transaction execute --zone=ZONE_NAME -
針對下列每個網域重複執行這些步驟。針對每次重複,將 ZONE_NAME 和 DNS_NAME 改為該網域的適當值。每次都保持相同距離。PROJECT_IDNETWORK_NAME你已為
*.aiplatform.googleapis.com完成這些步驟。*.aiplatform.googleapis.com*.aiplatform-notebook.googleusercontent.com*.aiplatform-notebook.cloud.google.com
如要進一步瞭解如何設定私人連線,請參閱「設定連至 Google API 與服務的私人連線」。
使用輸入規則,允許來自 service perimeter 外部的情境感知存取權
您可以根據用戶端屬性,對受 perimeter 限制的資源允許情境感知存取權。您可以指定用戶端屬性,例如身分類型 (服務帳戶或使用者)、身分、裝置資料和網路來源 (IP 位址或虛擬私有雲網路)。
例如,您可以根據 IPv4 和 IPv6 位址範圍設定輸入規則,允許透過網際網路存取 perimeter 內的資源。如要進一步瞭解如何使用輸入規則設定情境感知存取權,請參閱「情境感知存取權」。
使用輸入和輸出規則設定安全資料交換
專案只能納入一個服務範圍。如要允許跨越 perimeter 邊界進行通訊,請設定輸入和輸出規則。例如,您可以指定輸入和輸出規則,讓多個 perimeter 的專案在獨立的 perimeter 中共用記錄檔。如要進一步瞭解安全資料交換用途,請參閱「安全資料交換」。
後續步驟
進一步瞭解 VPC Service Controls。
進一步瞭解 Colab Enterprise 執行階段。