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

根據預設,專案無法建立或修改共用預訂。本文說明如何允許或限制 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. 在「Name」(名稱) 欄中,按一下「Shared reservations owner projects」(共用預留項目擁有者專案)。系統會顯示「政策詳細資料」頁面。

  5. 在「Effective policy」(有效政策) 區段中,確認專案或組織是否可以建立及修改共用預留項目。

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. 按一下「管理政策」。「Policy details」(政策詳細資料) 頁面隨即顯示。

  6. 選取「覆寫上層政策」。然後在「政策強制執行」部分,選取政策套用方式:

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

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

  7. 按一下「新增規則」。

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

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

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

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

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

  11. 如要套用這些變更,請按一下「Set policy」(設定政策)。系統會顯示「機構政策」頁面。

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 分鐘才會生效。

後續步驟