限制資源用量

本頁面概述限制資源服務用量 機構政策限制,企業管理員可藉此控管Google Cloud 資源階層結構 Google Cloud中可使用的服務。這項限制只能強制套用至資源,且這些資源是機構、資料夾或專案資源的直接子項。例如 Compute Engine 和 Cloud Storage。

「限制資源服務用量」限制會排除產品的重要依附元件服務,因此無法與這些服務搭配使用,例如 Identity and Access Management (IAM)、Cloud Logging 和 Cloud Monitoring。 Google Cloud如需這項限制支援的雲端資源服務清單,請參閱「限制資源用量支援的服務」。

管理員可以使用這項限制,在資源容器 (例如機構、資料夾或專案) 中,定義獲准 Google Cloud 資源服務的階層式限制。舉例來說,允許專案 X 中的 storage.googleapis.com,或拒絕資料夾 Y 中的 compute.googleapis.com。這項限制也會決定Google Cloud 主控台可用情形

「限制使用資源服務」限制條件可透過兩種互斥方式使用:

  • 拒絕清單 - 允許任何未遭拒絕的服務資源。

  • 允許清單 - 系統會拒絕任何不允許的服務資源。

「限制使用資源服務」限制會控管對所有適用範圍內資源的執行階段存取權。更新含有這項限制的機構政策後,系統會立即將政策套用至政策範圍內所有資源的所有存取權,並最終保持一致。

建議管理員謹慎管理含有這項限制的機構政策更新。您可以使用標記有條件地強制執行限制,更安全地推出這項政策變更。詳情請參閱「使用標記設定組織政策」。

如果服務受到這項政策限制,直接依附於受限服務的某些 Google Cloud 服務 也會受到限制。這項限制僅適用於管理相同客戶資源的服務。舉例來說,Google Kubernetes Engine (GKE) 依附於 Compute Engine。 如果 Compute Engine 受到限制,GKE 也會受到限制。

Google Cloud 主機適用情形

Google Cloud 控制台中的受限服務行為如下:

  • 你無法使用 選單前往產品。
  • 受限制的服務不會顯示在 Google Cloud 控制台搜尋結果中。
  • 當您前往受限服務的 Google Cloud 控制台頁面 (例如透過連結或書籤),系統會顯示錯誤訊息。

使用「限制使用資源服務」限制

機構政策限制可在機構、資料夾和專案層級設定。每項政策都適用於對應資源階層中的所有資源,但可以在資源階層的較低層級中覆寫。

如要進一步瞭解政策評估,請參閱「瞭解階層評估」。

設定機構政策

如要設定、更改或刪除機構政策,您必須具有機構政策管理員角色。

控制台

如要設定包含「限制資源服務用量」限制的機構政策,請按照下列步驟操作:

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

    前往「機構政策」

  2. 在專案選擇工具中,選取要設定機構政策的資源。

  3. 在組織政策表格中,選取「Restrict Resource Service Usage」(限制資源服務用量)

  4. 按一下「管理政策」

  5. 在「套用對象」下方,選取「覆寫上層政策」

  6. 在「政策強制執行」下方,選擇如何將這項政策套用至子項。

    1. 如要沿用父項資源的機構政策,並與此政策合併,請選取「與上層合併」

    2. 如要覆寫任何現有的機構政策,請選取「取代」

  7. 點選「新增規則」

  8. 在「Policy values」(政策值) 底下,選取 [Custom] (自訂)。

  9. 在「政策類型」下方,為拒絕清單選取「拒絕」,或為允許清單選取「允許」

  10. 在「自訂值」下方,將要封鎖或允許的服務新增至清單。

    1. 舉例來說,如要封鎖 Cloud Storage,可以輸入 storage.googleapis.com

    2. 如要新增更多服務,請按一下「新增值」

  11. 如要強制執行這項政策,請按一下「設定政策」

gcloud

您可以使用 Google Cloud CLI 設定機構政策。如要強制執行包含「限制資源服務用量」限制的機構政策,請先建立 YAML 檔案,其中包含要更新的政策:

name: organizations/ORGANIZATION_ID/policies/gcp.restrictServiceUsage
spec:
  rules:
  - values:
      deniedValues:
      - file.googleapis.com
      - bigquery.googleapis.com
      - storage.googleapis.com

ORGANIZATION_ID 替換為機構資源的 ID。 如要在該機構中設定這項政策,請執行下列指令:

gcloud org-policies set-policy /tmp/policy.yaml

如要瞭解如何在組織政策中使用限制,請參閱使用限制

限制未標記的資源

您可以使用標記和條件式機構政策,限制任何未使用特定標記的資源。如果您在資源上設定機構政策,限制服務的使用,並規定必須有標記才能使用服務,則除非子項資源已加上標記,否則無法使用。因此,資源必須先按照控管計畫設定,才能使用。

如要限制未加上標記的機構、資料夾或專案資源,您可以在建立機構政策時,使用條件式查詢中的 ! 邏輯運算子。

舉例來說,如要只允許在具有 sqladmin=enabled 標記的專案中使用 sqladmin.googleapis.com,您可以建立機構政策,禁止在沒有 sqladmin=enabled 標記的專案中使用 sqladmin.googleapis.com

  1. 建立標記,用於識別資源是否已套用適當的管理機制。舉例來說,您可以建立鍵為 sqlAdmin 且值為 enabled 的標記,指派這個資源應允許使用 Cloud SQL Admin API。例如:

    建立標記鍵和值

  2. 按一下新建立的代碼名稱。您需要標記鍵的命名空間名稱 (列於「標記鍵路徑」下方),才能在後續步驟中建立條件。

  3. 在機構資源層級建立「限制資源服務使用」機構政策,拒絕存取 Cloud SQL Admin API。例如:

    建立機構政策來限制資源

  4. 在上述組織政策中新增條件,指定如果沒有控管標記,就強制執行政策。條件建構工具不支援 NOT 邏輯運算子,因此必須在條件編輯器中建構這個條件。例如:

    建立條件式機構政策

    !resource.matchTag("012345678901/sqlAdmin", "enabled")

現在,專案必須附加或繼承 sqlAdmin=enabled 標記,開發人員才能透過該專案使用 Cloud SQL Admin API。

如要進一步瞭解如何建立有條件的機構政策,請參閱設定含有標記的機構政策

在模擬測試模式下建立組織政策

模擬測試模式下的機構政策是一種機構政策,違反政策的行為會記錄在稽核記錄中,但不會遭到拒絕。您可以使用「限制資源服務用量」限制,在模擬執行模式下建立機構政策,監控政策對機構的影響,再強制執行正式政策。詳情請參閱「以模擬執行模式建立機構政策」。

錯誤訊息

如果您在資源階層 B 中設定機構政策,拒絕使用服務 A,當用戶端嘗試在資源階層 B 中使用服務 A 時,作業就會失敗。系統會傳回錯誤,說明失敗原因。此外,系統也會產生 AuditLog 項目,以利進一步監控、發出快訊或進行偵錯。

錯誤訊息示例

Request is disallowed by organization's constraints/gcp.restrictServiceUsage
constraint for projects/PROJECT_ID attempting to use service
storage.googleapis.com.

Cloud 稽核記錄範例

稽核記錄項目範例的螢幕截圖