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

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

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

事前準備

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

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

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

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

控制台

  1. 前往 Google Cloud 控制台的「Organization policies」(組織政策) 頁面。
    前往「Organization Policies」(組織政策) 頁面

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

    「Organization policies」(組織政策) 頁面會顯示可用的組織政策限制清單。

  3. 在清單中找到「Allowed Cloud Functions Generations」(允許的 Cloud Functions 世代) 政策。您可以使用清單頂端的「Filter」(篩選器) 欄位。

  4. 按一下政策名稱,或是從內容選單中選取「Edit Policy」(編輯政策)

  5. 按一下「Manage Policy」(管理政策)

  6. 在「Applies to」(套用對象) 下方,選取「Customize」(自訂)

  7. 在「Policy enforcement」(政策強制執行) 下方,選取「Replace」(取代)

  8. 在「Rule」(規則) 下方按一下「Add Rule」(新增規則)。

  9. 在「Policy Values」(政策值) 部分選取「Customize」(自訂)

  10. 將「Policy Type」(政策類型) 設為「Allow」(允許)

  11. 在「Custom Value」(自訂值) 中,指定要在組織中強制使用的環境。支援的值:

    • 1stGen:只允許使用 Cloud Run functions (第 1 代)。
    • 2ndGen:只允許使用 Cloud Run functions (舊稱第 2 代)。
    • 如要明確允許這兩個環境,請同時指定 1stGen2ndGen。如未設定政策,預設會允許這兩種環境。
  12. 按一下「Done」(完成)

  13. 按一下「Save」(儲存)

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

gcloud

執行下列指令:

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

其中 ORGANIZATION_NUMBER 是要套用政策的組織編號,VERSION 則是新部署作業須使用的 Cloud Run functions 版本。VERSION 可為下列其中一項:

  • 1stGen:只允許使用 Cloud Run functions (第 1 代)。
  • 2ndGen:只允許使用 Cloud Run functions (第 2 代)。
  • 如要明確允許這兩個環境,請同時指定 1stGen2ndGen。如未設定政策,預設會允許這兩種環境。