使用 VPC Service Controls 保護 Cron 工作

VPC Service Controls 是一項 Google Cloud 功能,可讓您設定安全範圍,防範資料竊取。本指南說明如何在 VPC Service Controls 範圍中納入 Cloud Scheduler 工作。

限制

VPC Service Controls 支援 Cloud Scheduler 時,有下列限制。

強制執行的動作

VPC Service Controls 只會對下列動作強制執行:

  • 建立 Cloud Scheduler 工作
  • Cloud Scheduler 工作更新

為什麼這一點很重要?

由於 VPC Service Controls 只會在建立及更新作業時強制執行,因此如果您在將 Cloud Scheduler 新增至 VPC Service Controls 範圍前建立作業,VPC Service Controls 不會自動強制執行。即使作業目標不屬於 VPC Service Controls 範圍,或不是支援的目標,作業仍會繼續執行。如要對所有 Cloud Scheduler 工作強制執行 VPC Service Controls,請按照下列步驟操作:

支援的目標

Cloud Scheduler 與 VPC Service Controls 整合時,支援下列目標。如果列出 HTTP 端點,則支援這些端點;不過,支援任意 HTTP 端點。

  • Cloud Run functions - 位於 functions.net URL
  • Cloud Run:在 Cloud Run 服務的 run.app URL 上。系統不支援 Cloud Run 工作目標。如要瞭解 Cloud Run 服務和作業資源之間的差異,請參閱「服務和作業:兩種執行程式碼的方式」。
  • Dataflow API - 必須與 Cloud Scheduler 工作位於同一個 Google Cloud 專案
  • 資料管道 - 必須與 Cloud Scheduler 工作位於同一個 Google Cloud 專案
  • Pub/Sub:必須與 Cloud Scheduler 工作位於同一個 Google Cloud 專案

刪除不符規定的工作

(建議使用) 刪除目標為下列任一項的 Cloud Scheduler 工作:

  • 不支援 (請參閱「支援的目標」)
  • 您打算使用的 VPC Service Controls 範圍以外

如需刪除工作的操作說明,請參閱刪除工作

如果您未在將 Cloud Scheduler 新增至 VPC Service Controls 範圍前刪除這些工作,工作會繼續執行,但不會強制執行 VPC Service Controls。請參閱本文的「強制執行的動作」。

舉例來說,如果您有以不支援的目標 (例如 Cloud Run 自訂網域) 為目標的 Cloud Scheduler 工作,在您將 Cloud Scheduler 新增至 VPC Service Controls 範圍後,該工作會繼續執行,但不會受到 VPC Service Controls 保護。如果現有作業的目標位於 VPC Service Controls 範圍外,也會發生相同情況。

新增必要的 IAM 角色

這是必要旗標,如要使用 VPC Service Controls,Cloud Scheduler 服務帳戶必須具備 Cloud Scheduler Service Agent IAM 角色。系統會自動為您的專案建立 Cloud Scheduler 服務帳戶。如要確認或授予 Cloud Scheduler 服務代理 IAM 角色,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「IAM」IAM

    前往身分與存取權管理頁面

  2. 選取「包含 Google 提供的角色授權」核取方塊。

  3. 在篩選器中輸入「Cloud Scheduler Service Account」(Cloud Scheduler 服務帳戶),然後選取這個主體。

  4. 查看「Cloud Scheduler 服務帳戶」主體的「角色」欄。如果列出下列角色,即可繼續:

    • Cloud Scheduler 服務代理人

    如果未列出 Cloud Scheduler 服務帳戶角色,請點選「編輯」圖示,然後將「Cloud Scheduler 服務代理人」角色授予 Cloud Scheduler 服務帳戶主體。

指定 VPC Service Controls 範圍

這是必要旗標,您可以透過現有或新建立的周邊防護範圍,保護支援目標的 Cloud Scheduler 工作。這兩種方法都可讓您指定要限制的服務。 指定 Cloud Scheduler API

  • 現有範圍:如要更新現有的 VPC Service Controls 範圍,將 Cloud Scheduler 納入其中,請按照更新服務範圍的步驟操作。

  • 新範圍:如要為 Cloud Scheduler 建立新範圍,請按照建立服務範圍的步驟操作。

對現有工作強制執行 VPC Service Controls

(建議使用) 如要對在將 Cloud Scheduler 新增至 VPC Service Controls 範圍前建立的 Cloud Scheduler 工作強制執行 VPC Service Controls,請對該工作執行 update。您不必變更工作,但必須執行更新,VPC Service Controls 才能套用至工作及其日後的執行作業。

您可以透過 Google Cloud 控制台 (選取工作並使用「編輯」按鈕)、API 或 gcloud CLI,為工作執行更新。

如要使用 gcloud CLI,對先前建立的作業強制執行 VPC Service Controls,請執行下列指令:

HTTP 目標

gcloud scheduler jobs update http JOB_ID

更改下列內容:

  • JOB_ID:您的工作 ID

Pub/Sub 目標

gcloud scheduler jobs update pubsub JOB_ID

更改下列內容:

  • JOB_ID:您的工作 ID