管理共用預留項目的建立作業

根據預設,專案無法建立或修改共用預訂。本文說明如何允許或限制 Google Cloud 機構中的專案建立及修改共用預訂項目。共用預留項目可協助您盡量在各專案中使用預留容量,並管理一個預留項目,而非多個。

如要進一步瞭解建立及使用共用預留項目的最佳做法,請參閱「共用預留項目的最佳做法」。

事前準備

  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上的分頁,瞭解如何使用範例:

    控制台

    使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,無須設定驗證。

    gcloud

    1. 安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init

      若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  • 設定預設地區和區域

必要的角色

如要取得允許或限制專案建立共用預留項目所需的權限,請要求管理員授予您組織的組織政策管理員 (roles/orgpolicy.policyAdmin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備允許或限制專案建立共用保留項目所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要允許或限制專案建立共用預留項目,必須具備下列權限:

  • 如要編輯組織政策: orgpolicy.policy.set 機構
  • 如要查看組織政策: orgpolicy.policy.get 在機構上

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

允許或限制專案建立共用預留項目

如要允許或限制專案建立共用預留項目,請修改共用預留項目擁有者專案 (compute.sharedReservationsOwnerProjects) 機構政策限制中的許可清單。

以下各節說明如何在專案或機構中查看或編輯共用預留項目政策限制。

查看共用預留項目機構政策限制

如要查看專案或機構是否已啟用共用預留項目擁有者專案 (compute.sharedReservationsOwnerProjects) 限制,請選取下列其中一個選項:

控制台

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

    前往「Organization policies」(組織政策)

  2. 在專案選擇工具中,選取要查看組織政策的專案或機構。

  3. 在「Filter」(篩選條件) 欄位中,輸入 constraints/compute.sharedReservationsOwnerProjects

  4. 在「名稱」欄中,按一下「共用預留項目擁有者專案」。 「政策詳細資料」頁面隨即顯示。

  5. 在「有效政策」部分,確認專案或機構是否可以建立及修改共用預訂。

gcloud

如要查看compute.sharedReservationsOwnerProjects限制允許哪些專案建立及修改共用預留項目,請按照下列步驟操作:

  1. 如要將貴機構的政策下載為名為 policy.yaml 的檔案,請使用 gcloud resource-manager org-policies describe 指令

    gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects \
        --organization=ORGANIZATION_ID > policy.yaml
    

    ORGANIZATION_ID 替換為您的機構 ID

  2. 在您選擇的文字編輯器中開啟 policy.yaml 檔案。

  3. 查看 compute.sharedReservationsOwnerProjects 限制。可建立及修改共用預留項目的專案會列在 allowedValues 欄位中,如下列範例所示:

    ...
    constraint: constraints/compute.sharedReservationsOwnerProjects
    listPolicy:
      allowedValues:
      - projects/EXAMPLE_PROJECT_NUMBER1
      - projects/EXAMPLE_PROJECT_NUMBER2
      - projects/EXAMPLE_PROJECT_NUMBER3
      ...
    ...
    
  4. 選用:如要刪除 policy.yaml 檔案,請採取下列任一做法:

    • 如果您使用 Linux 或 macOS 終端機,請執行下列指令:

      rm policy.yaml
      
    • 如果您使用 Windows 終端機,請執行下列指令:

      del policy.yaml
      

編輯共用預留項目的機構政策限制

如要編輯機構中可建立及修改共用預訂的專案,請選取下列其中一個選項:

控制台

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

    前往「Organization policies」(組織政策)

  2. 在專案選擇工具中,選取要編輯組織政策的機構。

  3. 在「Filter」(篩選條件) 欄位中,輸入 constraints/compute.sharedReservationsOwnerProjects

  4. 在「名稱」欄中,按一下「共用預留項目擁有者專案」。 「政策詳細資料」頁面隨即顯示。

  5. 按一下「管理政策」。「政策詳細資料」頁面隨即顯示。

  6. 選取「覆寫上層政策」。然後在「Policy enforcement」(強制執行) 部分,選取要如何套用政策:

    • 與上層合併:這個選項會合併專案層級政策和機構層級政策。這兩個層級允許的專案都可以建立共用預留項目。

    • 取代:這個選項會覆寫較高層級沿用的任何政策。只有在這個層級明確允許的專案,才能建立共用預訂。

  7. 按一下「新增規則」

  8. 在「Policy values」(政策值) 清單中,選取「Custom」(自訂)

  9. 在「政策類型」清單中,選取下列其中一個選項:

    • 如要授權一或多個專案建立或修改共用預訂,請選取「允許」

    • 如要禁止一或多個專案建立或修改共用預訂,請選取「拒絕」

  10. 在「Custom value」(自訂值) 欄位中,輸入要套用這項規則的專案編號。如要將規則套用至其他專案,請按一下「新增值」,然後重複這個步驟。

  11. 如要套用這些變更,請按一下「設定政策」。系統會顯示「組織政策」 頁面。

gcloud

如要編輯 compute.sharedReservationsOwnerProjects 限制允許建立及修改共用預留項目的專案,請使用下列其中一種方法:

  • 如要授予單一專案建立及修改共用預留項目的權限,請使用 gcloud resource-manager org-policies allow 指令。您可以針對要授予這項權限的每個專案,重複執行這個指令。

    gcloud resource-manager org-policies allow compute.sharedReservationsOwnerProjects projects/PROJECT_NUMBER \
        --organization=ORGANIZATION_ID
    

    更改下列內容:

  • 如要授予或撤銷多個專案的權限,允許建立及修改共用預留項目,請替換機構政策限制。若要這樣做,請完成下列步驟:

    1. 如要將貴機構的政策下載為名為 policy.yaml 的檔案,請使用 gcloud resource-manager org-policies describe 指令

      gcloud resource-manager org-policies describe compute.sharedReservationsOwnerProjects \
          --organization=ORGANIZATION_ID > policy.yaml
      
    2. 在您選擇的文字編輯器中開啟 policy.yaml 檔案。

    3. 修改 allowedValues 欄位,列出所有可建立及修改共用預訂的專案。

      • 如要授予權限給專案,請在 allowedValues 欄位中,為每個專案新增一行,並填入專案編號。

      • 如要撤銷專案建立及修改共用預訂項目的權限,請從 allowedValues 欄位中移除專案編號。

      policy.yaml 檔案類似下列範例:

      ...
      constraint: constraints/compute.sharedReservationsOwnerProjects
      listPolicy:
        allowedValues:
        - projects/EXAMPLE_PROJECT_NUMBER1
        - projects/EXAMPLE_PROJECT_NUMBER2
        - projects/EXAMPLE_PROJECT_NUMBER3
        ...
      ...
      
    4. 儲存 policy.yaml 檔案並關閉文字編輯器。

    5. 如要更新機構的政策,請使用 gcloud resource-manager org-policies set-policy 指令

      gcloud resource-manager org-policies set-policy \
          --organization=ORGANIZATION_ID policy.yaml
      
    6. 選用:如要刪除 policy.yaml 檔案,請採取下列任一做法:

      • 如果您使用 Linux 或 macOS 終端機,請執行下列指令:

        rm policy.yaml
        
      • 如果您使用 Windows 終端機,請執行下列指令:

        del policy.yaml
        

變更最多可能需要 15 分鐘才會生效。

後續步驟