執行環境安全性
本頁面提供補充資訊,說明使用 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- Cloud Functions v2 API
gcloud run搭配--functions旗標和--base-image旗標
設定函式的更新政策
您可以使用下列指令變更函式的更新政策:
gcloud functions deploy FUNCTION_NAME \
--runtime-update-policy=POLICY ...
修改下列項目的值:
- 將 FUNCTION_NAME 替換成函式名稱
- 將 POLICY 替換成
automatic或on-deploy
檢查函式的更新政策
您可以使用下列指令,檢查函式的更新政策:
gcloud functions describe FUNCTION_NAME \
FUNCTION_NAME 是函式名稱
- 啟用自動安全性更新的函式會顯示
automaticUpdatePolicy鍵 - 部署時套用更新的函式會顯示
onDeployUpdatePolicy鍵
Cloud Run functions 的安全掃描
啟用自動更新的 Cloud Run functions 是以 scratch 映像檔為基礎建構而成。因此,Artifact Registry 中代表函式的容器不會有基礎映像檔,而且會比使用部署時更新的函式小得多。系統會在執行階段將基礎映像檔與函式映像檔合併,建立完整的函式。詳情請參閱「在 scratch 上建構」。