使用 VPC Service Controls
本頁說明如何使用 VPC Service Controls,在服務範圍內設定 Colab Enterprise 筆記本。
總覽
VPC Service Controls 是一項 Google Cloud 功能 ,可讓您設定 perimeter,防範資料竊取。
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 使用者介面。 如要瞭解Google Cloud 控制台的 VPC Service Controls 限制,請參閱Google Cloud 控制台限制。
如果服務範圍需要存取 Vertex AI 服務,請參閱 VPC Service Controls 與 Colab Enterprise 的限制。
必要的角色
如要取得必要權限,以便透過 VPC Service Controls 使用 Colab Enterprise,請要求管理員將專案的下列 IAM 角色授予您:
-
Access Context Manager 編輯者 (
roles/accesscontextmanager.policyEditor
) -
Colab Enterprise 使用者 (
roles/aiplatform.colabEnterpriseUser
)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
如要進一步瞭解 VPC Service Controls 權限,請參閱「使用身分與存取權管理功能控管存取權」一文。
建立服務範圍
使用 VPC Service Controls 建立服務範圍。 這個服務範圍會保護您指定的服務所使用的 Google 代管資源。建立服務範圍時,請按照下列步驟操作:
需要將專案新增至服務範圍時,請新增包含 Colab Enterprise 筆記本的專案,或在這個專案中建立筆記本。
需要將服務新增至服務範圍時,請新增下列項目:
- Vertex AI API (
aiplatform.googleapis.com
) - Dataform API (
dataform.googleapis.com
)
- Vertex AI API (
如果您已建立服務安全防護範圍,但未新增所需專案和服務,請參閱「管理服務安全防護範圍」,瞭解如何更新服務安全防護範圍。
提供 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 主控台。
設定可透過虛擬私有雲存取的服務 (選用)
為服務範圍啟用可透過虛擬私有雲存取的服務後,服務範圍內網路端點的存取權會受到限制,只能存取您指定的一組服務。
如要進一步瞭解如何限制服務範圍內的存取權,只允許存取特定服務,請參閱可存取的 VPC 服務。
透過虛擬私有雲網路使用私人 Google 存取權 (選用)
私人 Google 存取權可為虛擬私有雲網路或內部部署網路中的主機提供私人連線,這些主機使用私人 IP 位址存取 Google Cloud API 和服務。您可以將 VPC Service Controls 服務範圍擴展至這些網路中的主機,藉此控管受保護資源的存取權。虛擬私有雲網路中的主機必須只有私人 IP 位址 (沒有公開 IP 位址),且位於啟用私人 Google 存取權的子網路中。詳情請參閱內部部署網路的私人連線。
如要確保能透過虛擬私有雲網路使用私人 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
:您先前建立的 VPC 網路名稱。 -
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 和服務的私人連線」。
使用輸入規則,允許從服務範圍外部進行情境感知存取
您可以根據用戶端屬性,允許情境感知存取受範圍限制的資源。您可以指定用戶端屬性,例如身分類型 (服務帳戶或使用者)、身分、裝置資料和網路來源 (IP 位址或 VPC 網路)。
舉例來說,您可以根據 IPv4 和 IPv6 位址範圍設定連入規則,允許透過網際網路存取範圍內的資源。如要進一步瞭解如何使用輸入規則設定情境感知存取權,請參閱「情境感知存取權」。
使用輸入和輸出規則設定安全資料交換
專案只能納入一個服務範圍。如要允許跨越服務範圍邊界進行通訊,請設定輸入和輸出規則。舉例來說,您可以指定輸入和輸出規則,讓多個安全防護範圍的專案在獨立的安全防護範圍中共用記錄。如要進一步瞭解安全資料交換的使用案例,請參閱「安全資料交換」。
後續步驟
進一步瞭解 VPC Service Controls。
進一步瞭解 Colab Enterprise 執行階段。