本文說明如何搭配 Batch 使用 VPC Service Controls。VPC Service Controls 可將特定資源隔離到服務範圍,藉此保護 Google Cloud 服務的資源和資料。服務範圍會封鎖與範圍外服務的連線,以及未明確允許的網際網路連線。 Google Cloud
- 如要設定 VPC Service Controls 服務範圍以使用 Batch,請參閱本文中的「為 Batch 設定服務範圍」。
- 如果專案或網路使用 VPC Service Controls 限制 Batch 的網路存取權,您必須設定 Batch 作業,在所需服務範圍內執行。如要瞭解如何建立這類工作,請參閱本文的「建立在服務範圍內執行的工作」一節。
如要進一步瞭解網路概念和設定網路的時機,請參閱「批次網路總覽」。
事前準備
- 如果您從未使用過 Batch,請參閱「開始使用 Batch」,並完成專案和使用者的必要條件,啟用 Batch。
-
如要取得透過 Batch 使用 VPC Service Controls 的必要權限,請要求管理員授予下列 IAM 角色:
-
如要設定服務範圍,請在專案中具備 Access Context Manager 編輯者 (
roles/accesscontextmanager.policyEditor
) 角色。 -
如何建立工作:
-
批次工作編輯者 (
roles/batch.jobsEditor
) 專案 -
服務帳戶使用者 (
roles/iam.serviceAccountUser
) 在作業的服務帳戶上,預設為預設 Compute Engine 服務帳戶
-
批次工作編輯者 (
-
如要找出專案或網路的服務安全防護措施,請在專案中指派 Access Context Manager 讀取者 (
roles/accesscontextmanager.policyReader
) 角色。 -
如要找出作業的網路和子網路:
專案的 Compute 網路檢視者 (
roles/compute.networkViewer
)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
-
如要設定服務範圍,請在專案中具備 Access Context Manager 編輯者 (
-
如果您建立的作業會在服務範圍內執行,請找出要用於作業的網路。為在服務範圍內執行的作業指定的網路,必須符合下列規定:
- 網路是與作業位於相同專案的虛擬私有雲 (VPC) 網路,或是由作業專案代管或與該專案共用的共用虛擬私有雲網路。
- 網路包含您要執行工作的地點中的子網路。
- 網路位於必要服務安全防護範圍內,並使用私人 Google 存取權,允許存取作業使用的 API 和服務網域。詳情請參閱本文中的「為 Batch 設定服務範圍」。
為 Batch 設定服務範圍
如要為 Batch 設定服務範圍,請執行下列操作:
規劃服務範圍的設定。如要瞭解服務範圍的設定階段,請參閱 VPC Service Controls 說明文件中的「服務範圍詳細資料和設定」。
如要使用 Batch,服務安全防護範圍必須符合下列規定:
受限服務:如要在服務範圍內保護 Batch,您必須在該範圍內加入 Batch 工作所需的 Google Cloud 服務,例如下列服務:
- 批次 API (
batch.googleapis.com
) - Cloud Logging API (
logging.googleapis.com
):如要讓作業將記錄寫入 Cloud Logging,就必須啟用這項 API。(建議選項) - Container Registry API (
containerregistry.googleapis.com
): 如果您提交的作業使用任何含有 Container Registry 映像檔的容器,則必須提供這項權限。 - Artifact Registry API (
artifactregistry.googleapis.com
): 如果您提交的作業使用任何含有 Artifact Registry 映像檔的容器,則必須啟用這項 API。 - Filestore API (
file.googleapis.com
):如果作業使用 Filestore 檔案共用,則為必要項目。 - Cloud Storage API (
storage.googleapis.com
):部分使用 Cloud Storage 儲存空間的作業需要此 API。如果您為批次工作使用的映像檔未預先安裝 Batch 服務代理程式,則必須提供這項資訊。
如要瞭解如何在服務範圍中啟用這些服務,請參閱「可透過 VPC 存取的服務」。
除了 Batch 以外,您納入的每項服務都必須符合 VPC Service Controls 支援的產品和限制說明文件中,針對該服務列出的服務範圍規定。
- 批次 API (
虛擬私有雲網路:每個 Batch 工作都需要虛擬私有雲網路,因此服務範圍必須包含 Batch 工作可執行的虛擬私有雲網路。如要瞭解如何設定虛擬私有雲網路,以便在服務範圍內執行 Batch 工作,請參閱下列文件:
- 如要瞭解如何在服務範圍中使用虛擬私有雲網路,請參閱服務範圍中的虛擬私有雲網路管理。
- 如要瞭解如何搭配使用私人 Google 存取權和 VPC Service Controls,設定 Batch 工作所需的 Google Cloud服務存取權,請參閱「設定針對 Google API 和服務的私人連線」。
- 如要進一步瞭解 Batch 工作的網路需求,請參閱「工作網路總覽」。
建立在服務範圍內執行的工作
建立在服務範圍內執行的工作時,您也必須封鎖工作執行的所有 VM 的外部存取權,並指定允許工作存取必要 API 的網路和子網路。
如要建立在服務範圍內執行的作業,請按照「建立作業,禁止所有 VM 存取外部資源」一文中的步驟操作,並指定符合在服務範圍內執行作業的網路需求的網路。