本頁面概述限制資源服務用量 機構政策限制,企業管理員可藉此控管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 控制台頁面 (例如透過連結或書籤),系統會顯示錯誤訊息。
使用「限制使用資源服務」限制
機構政策限制可在機構、資料夾和專案層級設定。每項政策都適用於對應資源階層中的所有資源,但可以在資源階層的較低層級中覆寫。
如要進一步瞭解政策評估,請參閱「瞭解階層評估」。
設定機構政策
如要設定、更改或刪除機構政策,您必須具有機構政策管理員角色。
控制台
如要設定包含「限制資源服務用量」限制的機構政策,請按照下列步驟操作:
前往 Google Cloud 控制台的「Organization policies」(組織政策) 頁面。
在專案選擇工具中,選取要設定機構政策的資源。
在組織政策表格中,選取「Restrict Resource Service Usage」(限制資源服務用量)。
按一下「管理政策」。
在「套用對象」下方,選取「覆寫上層政策」。
在「政策強制執行」下方,選擇如何將這項政策套用至子項。
如要沿用父項資源的機構政策,並與此政策合併,請選取「與上層合併」。
如要覆寫任何現有的機構政策,請選取「取代」。
點選「新增規則」。
在「Policy values」(政策值) 底下,選取 [Custom] (自訂)。
在「政策類型」下方,為拒絕清單選取「拒絕」,或為允許清單選取「允許」。
在「自訂值」下方,將要封鎖或允許的服務新增至清單。
舉例來說,如要封鎖 Cloud Storage,可以輸入
storage.googleapis.com
。如要新增更多服務,請按一下「新增值」。
如要強制執行這項政策,請按一下「設定政策」。
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
。
建立標記,用於識別資源是否已套用適當的管理機制。舉例來說,您可以建立鍵為
sqlAdmin
且值為enabled
的標記,指派這個資源應允許使用 Cloud SQL Admin API。例如:按一下新建立的代碼名稱。您需要標記鍵的命名空間名稱 (列於「標記鍵路徑」下方),才能在後續步驟中建立條件。
在機構資源層級建立「限制資源服務使用」機構政策,拒絕存取 Cloud SQL Admin API。例如:
在上述組織政策中新增條件,指定如果沒有控管標記,就強制執行政策。條件建構工具不支援 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.