機構政策服務簡介

機構政策服務可讓您透過程式以集中方式控管機構雲資源。身為機構政策管理員,您可以設定整個資源階層的限制。

優點

  • 集中控管設定限制,以控制如何使用機構資源。
  • 確立防範機制,使開發小組遵循法律規範。
  • 協助專案擁有者及其團隊快速發展,無需擔心違規。

常見用途

您可以透過組織政策執行下列操作:

還有許多限制可供您精細控管機構的資源。詳情請參閱機構政策服務的完整限制清單

與 Identity and Access Management 的差異

Identity and Access Management 著重於,也就是可以讓系統管理員針對使用者授權,以根據權限使用特定資源。

機構政策著重於,即可讓管理員針對特定資源設定限制,以決定其配置方式。

機構政策的運作方式

機構政策會設定單一「限制」,用來限制一或多項 Google Cloud 服務。機構政策是在機構、資料夾或專案資源上設定,以對該資源和任何子項資源強制執行限制。

組織政策包含一或多項規則,可指定如何以及是否要強制執行限制。舉例來說,機構政策可能包含一項規則,只對標記 environment=development 的資源強制執行限制,另一項規則則會禁止對其他資源強制執行限制。

機構政策所屬資源的子系會繼承該機構政策。將機構政策套用到機構資源,機構政策管理員即可在整個機構強制執行該政策及限制設定。

機構政策概念

限制

限制是指針對某Google Cloud 服務或一組 Google Cloud 服務進行的特定規範類型。您可將限制視為定義控制行為的藍圖,舉例來說,您可以使用 compute.storageResourceUseRestrictions 限制,禁止專案資源存取 Compute Engine 儲存空間資源。

然後將藍圖設為資源階層中的資源機構政策,套用限制中定義的規則。對應至限制且與該資源相關聯的 Google Cloud 服務,會強制執行組織政策內設定的限制。

機構政策是在 YAML 或 JSON 檔案中定義,其中包含政策強制執行的限制,以及 (選用) 限制的強制執行條件。每項機構政策都會在有效模式、模擬測試模式或這兩種模式中,強制執行一項限制。

受管理限制條件的清單或布林參數是由強制執行的 Google Cloud 服務決定。

自訂限制在功能上與布林參數的管理限制類似,且會強制執行或不強制執行。

舊版受管理限制會根據限制類型,有一或多項清單規則或布林規則。清單規則是允許或拒絕的值的集合。布林規則可允許或拒絕所有值,或判斷是否強制執行限制。

代管限制

受管理限制旨在取代同等的舊版受管理限制,但可提供額外的彈性,並透過政策智慧工具取得更深入的洞察資料。這些限制與自訂機構政策限制的結構類似,但由 Google 管理。

如果對應的舊版代管限制為布林限制類型,則代管限制可同樣強制執行或不強制執行。舉例來說,下列機構政策會強制執行 iam.managed.disableServiceAccountCreation,這相當於 iam.disableServiceAccountCreation 的限制:

name: organizations/1234567890123/policies/iam.managed.disableServiceAccountCreation
spec:
  rules:
  - enforce: true

如果對應的舊版受管理限制具有清單限制類型,受管理限制會支援定義參數,這些參數會定義受限制的資源和行為。舉例來說,下列機構政策會強制執行代管限制,只允許將 example.comaltostrat.com 網域新增至 organizations/1234567890123 的重要聯絡人:

name: organizations/1234567890123/policies/essentialcontacts.managed.allowedContactDomains
spec:
   rules:
     - enforce: true
       parameters:
          allowedDomains:
               - @example.com
               - @altostrat.com

如要進一步瞭解如何使用代管限制,請參閱「使用限制」。

自訂限制

與受管理限制一樣,自訂限制可允許或限制資源建立和更新。不過,自訂限制是由貴機構管理,而非 Google。您可以使用政策智慧工具測試及分析自訂機構政策。

如需支援自訂限制的服務資源清單,請參閱「支援自訂限制的服務」。

如要進一步瞭解如何使用自訂機構政策,請參閱「建立及管理自訂機構政策」。

如需自訂限制範例清單,請參閱 GitHub 上的自訂機構政策程式庫

代管限制 (舊版)

舊版受管理限制的限制類型為清單或布林值,決定可用於檢查強制執行的值。強制執行的Google Cloud 服務會評估限制類型和值,以決定要強制執行的限制。

這些舊版限制先前稱為「預先定義的限制」

列出規則

具有清單規則的舊版受管理限制可允許或拒絕機構政策中定義的一組值。這些舊版限制先前稱為「清單限制」。允許或拒絕值的清單會以階層樹狀子目錄字串表示。該樹狀子目錄字串可指定要套用的資源類型。舉例來說,舊版代管限制 constraints/compute.trustedImageProjects 會採用 projects/PROJECT_ID 格式的專案 ID 清單。

您可以針對值指定前置字串,格式為 prefix:value,以進一步為值增加意義:

  • is: - 針對確切的值進行比較。此行為與未設定前置字串相同,而且如果該值包含冒號則必須使用此設定。

  • under: - 針對值及其所有子值進行比較。如果允許或拒絕有此前置字串的資源,也會允許或拒絕其子資源。提供的值必須是機構、資料夾或專案資源的 ID。

  • in::針對包含這個值的所有資源進行比較。舉例來說,您可以將 in:us-locations 新增至 constraints/gcp.resourceLocations 限制的拒絕清單,封鎖 us 區域內的所有位置。

如果沒有提供值清單,或機構政策設為 Google 管理的預設值,就會套用限制的預設行為,也就是允許或拒絕所有值。

下列機構政策會強制執行舊版管理限制,允許 organizations/1234567890123 中的 Compute Engine VM 執行個體 vm-1vm-2 存取外部 IP 位址:

name: organizations/1234567890123/policies/compute.vmExternalIpAccess
spec:
  rules:
  - values:
      allowedValues:
      - is:projects/project_a/zones/us-central1-a/instances/vm-1
      - is:projects/project_b/zones/us-central1-a/instances/vm-2

布林值規則

具有布林規則的舊版受管理限制會強制執行或不強制執行。舉例來說,constraints/compute.disableSerialPortAccess 有兩種可能狀態:

  • 強制執行 - 強制執行限制,且不允許序列埠存取權。
  • 未強制執行 - 不強制執行或檢查 disableSerialPortAccess 限制,因此允許序列埠存取權。

如果機構政策設為 Google 代管的預設值,則限制的預設行為會生效。

這些舊版限制先前稱為「布林限制」

下列機構政策會強制執行舊版管理限制,禁止在「organizations/1234567890123」中建立外部服務帳戶:

name: organizations/1234567890123/policies/iam.disableServiceAccountCreation
spec:
  rules:
  - enforce: true

模擬測試模式下的組織政策

模擬測試模式下的機構政策建立和強制執行方式,與其他機構政策類似,且系統會稽核記錄違反政策的行為,但不會拒絕這類行為。

您可以在模擬執行模式下使用機構政策,監控政策變更對工作流程的影響,再決定是否要強制執行。詳情請參閱「以模擬執行模式建立機構政策」。

有條件的機構政策

您可將資源是否具備特定標記設為條件,並按照這項條件有條件地強制執行限制。只要使用標記並依據條件強制執行限制,即可集中控管階層中的資源。

如要進一步瞭解標記,請參閱「標記總覽」。如要瞭解如何使用標記設定有條件的機構政策,請參閱「使用標記設定機構政策」。

繼承

將機構政策套用在某資源之後,該資源的所有子系都會預設繼承該政策。如將機構政策套用於機構資源,這個節點以下的所有子系資料夾、專案和服務資源都會受該政策定義的限制設定規範。

您可以針對子系資源設定機構政策,覆寫沿用的政策,或是沿用父項資源的機構政策。在後者情況下,系統會根據階層評估規則合併這兩項機構政策。如此一來,即可精確控制如何將機構政策落實到整個機構,同時又顧及例外狀況。

詳情請參閱「瞭解階層評估」。

違規

違規是指 Google Cloud 服務的行為或狀態違反其資源階層範圍內設定的機構政策限制。 Google Cloud 服務會強制執行限制以免違規,但新機構政策的效力通常不溯及既往。如果機構政策限制是追溯強制執行,則「機構政策限制」頁面會標示為此類限制。

如果新機構政策針對服務已經在執行的作業或所處狀態進行限制,這項政策被視為違規,但該服務不會停止原先的作業。您需要手動處理此違規問題,以免新機構政策導致業務完全中斷。

Policy Intelligence

Policy Intelligence 是一套工具,可協助您管理安全性政策。這些工具可協助您瞭解資源用量、瞭解及改善現有安全性政策,並避免政策設定錯誤。

部分 Policy Intelligence 工具專門用於測試及分析機構政策服務政策。建議您測試並模擬執行機構政策的所有變更。透過政策智慧功能,您可以執行下列工作:

如要進一步瞭解這些工具和其他政策智慧工具,請參閱政策智慧總覽

後續步驟