執行環境安全性

本頁面提供補充資訊,說明使用 gcloud functions 指令或 Cloud Functions v2 API 所建立函式適用的安全性更新政策。

想進一步瞭解如何為基礎映像檔設定自動更新 (包括語言執行階段、OS 套件和作業系統),請參閱 Cloud Run 文件「設定基礎映像檔自動更新」。

執行階段映像檔

每個執行階段在 Artifact Registry 的公開存放區中,都有相關聯的執行階段映像檔 (也稱為執行映像檔)。如需執行階段 ID 和執行階段映像檔的清單,請參閱執行階段

找出執行階段映像檔

如要找出用於建立函式的執行階段映像檔,請查看函式的建構作業記錄檔

在建構作業記錄檔中搜尋 google.run-image。這會提供建構步驟的記錄項目,說明用於建構函式的執行階段映像檔版本。舉例來說,Node.js 函式的記錄項目可能如下所示:

{
  ...
  "textPayload": "Step #2 - \"build\": Adding image label google.run-image:
    us-central1-docker.pkg.dev/serverless-runtimes/google-22-full/runtimes/nodejs22:nodejs20_20230924_20_6_1_RC00",
  ...
}

安全性更新政策

您可以選擇下列其中一種安全性更新政策:

  • 自動更新 (預設):在執行階段映像檔的新版本中,會發布執行階段環境的更新和安全性修補程式。經過一段時間的穩定性和可靠性測試後,更新版執行階段會部署至所有函式,達到零停機更新。Cloud Run functions (第 1 代) 和 Cloud Run functions 提供自動安全性更新。如要進行語言層級的安全性修正,可能需要重新建構使用 Go 或 Java 等編譯語言的函式。

  • 部署時套用的更新:除非另有說明,否則只有在部署或重新部署函式時,更新和安全性修補程式才會套用至執行階段。Cloud Run functions (第 1 代) 和 Cloud Run functions 都會顯示部署時套用的更新。

您可以在 gcloud functions deploy 指令中使用 --runtime-update-policy 旗標,變更執行階段更新政策。

根據預設,使用下列方式部署的函式會啟用自動安全性更新:

設定函式的更新政策

您可以使用下列指令變更函式的更新政策:

  gcloud functions deploy FUNCTION_NAME \
    --runtime-update-policy=POLICY ...

修改下列項目的值:

  • FUNCTION_NAME 替換成函式名稱
  • POLICY 替換成 automaticon-deploy

檢查函式的更新政策

您可以使用下列指令,檢查函式的更新政策:

  gcloud functions describe FUNCTION_NAME \

FUNCTION_NAME 是函式名稱

  • 啟用自動安全性更新的函式會顯示 automaticUpdatePolicy
  • 部署時套用更新的函式會顯示 onDeployUpdatePolicy

Cloud Run functions 的安全掃描

啟用自動更新的 Cloud Run functions 是以 scratch 映像檔為基礎建構而成。因此,Artifact Registry 中代表函式的容器不會有基礎映像檔,而且會比使用部署時更新的函式小得多。系統會在執行階段將基礎映像檔與函式映像檔合併,建立完整的函式。詳情請參閱「scratch 上建構」。