依產品版本限制新部署作業

Cloud Run 函式提供兩個產品版本:Cloud Run 函式 (第 1 代),即原始版本,以及 Cloud Run 函式 (舊稱第 2 代)。如果貴機構想強制執行限制,指定只能使用其中一個版本來部署新函式,您可以使用限制 constraints/cloudfunctions.restrictAllowedGenerations 定義新的機構政策。您可以使用這項限制,在套用政策的資料夾或專案中,指定要允許或拒絕的世代 (版本)。

這項限制只適用於首次部署的新函式。即使現有函式不符合政策,您仍可重新部署。

事前準備

如要建立或變更機構政策,您的帳戶必須具備 roles/orgpolicy.policyAdmin 角色。

使用政策設定及強制執行限制

您可以使用 Google Cloud CLI 或 Google Cloud 控制台建立政策,將特定組織內首次部署的新 Cloud Run 函式限制在指定環境中。

請注意,設定政策不會套用至現有函式。在政策生效前部署的所有函式,都可以不受限制地重新部署、更新或刪除。

主控台

  1. 前往 Google Cloud 主控台的「Organization policies」(機構政策) 頁面。
    前往「機構政策」頁面

  2. 選取要新增政策的專案、資料夾或機構。

    「Organization policies」(機構政策) 頁面會顯示可用的機構政策限制條件清單。

  3. 在清單中找出「Allowed Cloud Functions Generations」政策。您可以使用清單頂端的「篩選器」欄位。

  4. 按一下政策名稱。您也可以從內容選單中選取「編輯政策」

  5. 按一下「管理政策」

  6. 選取「套用對象」下方的「自訂」

  7. 在「政策強制執行」下方選取「取代」

  8. 按一下「規則」下方的「新增規則」

  9. 在「政策值」部分,選取「自訂」

  10. 在「政策類型」中選取「允許」

  11. 在「自訂值」中,指定要在組織中強制執行的環境。支援的值:

    • 1stGen:僅允許使用 Cloud Run 函式 (第 1 代)。
    • 2ndGen:僅允許使用 Cloud Run 函式 (舊稱第 2 代)。
    • 如要明確允許這兩種環境,請一併指定 1stGen2ndGen。根據預設,如果未設定政策,系統會允許這兩種環境。
  12. 按一下 [完成]

  13. 按一下 [儲存]

變更很快就會生效,而政策會防止在指定環境中部署 Cloud Run 函式。

gcloud

執行下列指令:

gcloud resource-manager org-policies \
allow cloudfunctions.restrictAllowedGenerations \
--organization=ORGANIZATION_NUMBER VERSION

其中 ORGANIZATION_NUMBER 是您要套用政策的機構編號,VERSION 則是必須用於新部署作業的 Cloud Run 函式版本。VERSION 可以是下列任一值:

  • 1stGen:僅允許使用 Cloud Run 函式 (第 1 代)。
  • 2ndGen:僅允許使用 Cloud Run 函式 (第 2 代)。
  • 如要明確允許這兩種環境,請一併指定 1stGen2ndGen。根據預設,如果未設定政策,系統會允許這兩種環境。