使用限制

本指南說明如何建立具有特定限制的機構政策。本頁範例使用的限制並非實際限制,而是教學用的通用例子。

若要進一步瞭解限制與限制可以解決的問題,請參閱 Organization Policy Service 限制的完整清單

事前準備

必要的角色

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

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

委派機構政策管理權

如要將機構政策的管理權委派給其他主體,請在角色繫結中新增條件

"bindings": [
  {
    "role": "roles/orgpolicy.policyAdmin",
    "members": [
      "PRINCIPAL_1",
      "PRINCIPAL_2"
    ],
    "condition": {
      "title": "TITLE",
      "description": "DESCRIPTION",
      "expression": "resource.matchTag('TAG_KEY', 'TAG_VALUE')"
    }
  }
]

更改下列內容:

  • PRINCIPAL_1,PRINCIPAL_2:要將機構政策管理員角色委派給的主體清單。

  • TITLE:條件運算式的標題,例如「開發環境的機構政策管理員」。

  • DESCRIPTION:運算式的選用說明。

  • TAG_KEY:標記鍵的命名空間名稱,例如 123456789012/environment

  • TAG_VALUE:標記值的名稱。這個角色只會授予附加此標記的資源,例如 development

如要進一步瞭解如何在允許政策中使用條件,請參閱「IAM 條件總覽」。

在機構政策中使用清單規則

您可以在機構資源上設定機構政策,使用清單規則拒絕存取特定服務。以下程序說明如何使用 Google Cloud CLI 設定組織政策。如需瞭解如何使用 Google Cloud 控制台查看及設定機構政策,請參閱「建立及管理政策」。

使用清單規則的機構政策最多只能有 500 個允許或拒絕的值,且不得超過 32 KB。如果建立或更新的機構政策超過 500 個值,或大小超過 32 KB,就無法順利儲存,且要求會傳回錯誤。

對機構資源設定強制執行

如要使用 gcloud CLI 為機構設定強制執行功能,請按照下列步驟操作:

  1. 使用 describe 指令取得機構資源的現行政策。這項指令會傳回直接套用至這項資源的政策:

    gcloud org-policies describe \
      CONSTRAINT_NAME --organization=ORGANIZATION_ID
    

    更改下列內容:

    • ORGANIZATION_ID:機構資源的專屬 ID。機構 ID 的格式為十進位數字,開頭不得為零。

    • CONSTRAINT_NAME:要強制執行的服務限制。舉例來說,gcp.restrictNonCmekServices 限制會限制哪些服務可以在沒有客戶自行管理的加密金鑰 (CMEK) 的情況下建立資源。

    您也可以將組織政策分別套用到具有 --folder--project 標記的資料夾或專案,以及資料夾 ID專案 ID

    如果目前有機構政策,回應會傳回該政策。 例如:

    name: projects/841166443394/policies/gcp.resourceLocations
    spec:
      etag: BwW5P5cEOGs=
      inheritFromParent: true
      rules:
      - condition:
          expression: resource.matchTagId("tagKeys/1111", "tagValues/2222")
        values:
          allowedValues:
          - in:us-east1-locations
      - condition:
          expression: resource.matchTag("123/env", "prod")
        values:
          allowedValues:
          - in:us-west1-locations
      - values:
          deniedValues:
          - in:asia-south1-locations
      updateTime: '2021-01-19T12:00:51.095Z'
    

    如果未設定政策,系統會傳回 NOT_FOUND 錯誤:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. 使用 set-policy 指令設定機構的政策。這會覆寫附加至資源的任何政策。

    1. 建立暫存檔案 /tmp/policy.yaml 來儲存政策:

      name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
      spec:
        rules:
        - values:
            deniedValues:
            - VALUE_A
      
    2. 執行 set-policy 指令:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  3. 使用 describe --effective 查看目前生效的政策。這會傳回機構政策,因為系統會在資源階層的這一點評估機構政策,包括繼承項目。

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    指令輸出將如下所示:

    name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
    spec:
      etag: BwVJi0OOESU=
      rules:
      - values:
          deniedValues:
          - VALUE_A
    

    由於此組織政策是在機構層級上設定,因此所有允許繼承的子項資源都會繼承這個組織政策。

機構政策變更最多可能需要 15 分鐘才會全面生效。

對階層樹狀子目錄設定強制執行

含有清單規則的限制會採用明確定義的值,判斷應允許或拒絕哪些資源。部分限制也可以接受使用 under: 前置字串的值,指定以該資源為根的子樹狀結構。在允許或拒絕的值上使用 under: 前置字串,會導致機構政策對該資源及其所有子項採取行動。如要瞭解允許使用 under: 前置字串的限制,請參閱「組織政策限制」頁面。

使用 under: 前置字元的階層樹狀子目錄字串。階層樹狀子目錄字串指定了要套用的資源類型。舉例來說,在設定 constraints/compute.storageResourceUseRestrictions 限制時使用「projects/PROJECT_ID」projects/PROJECT_ID的樹狀子目錄字串,即可允許或拒絕在「PROJECT_ID」PROJECT_ID與其所有子項使用 Compute Engine 儲存空間。

  1. 使用 describe 指令取得機構資源的現行政策:

    gcloud org-policies describe \
      CONSTRAINT_NAME \
      --organization=ORGANIZATION_ID
    

    更改下列內容:

    • ORGANIZATION_ID 是機構資源的唯一識別碼。

    • CONSTRAINT_NAME 是您要強制執行的服務限制。

    您也可以將組織政策分別套用到具有 --folder--project 標記的資料夾或專案,以及資料夾 ID專案 ID

    如果未設定政策,系統會傳回 NOT_FOUND 錯誤:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. 使用 set-policy 指令在專案中設定政策。under: 前置字串會設定限制,拒絕具名資源和所有子資源。

    1. 建立暫存檔案 /tmp/policy.yaml 來儲存政策:

      name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
      spec:
        rules:
        - values:
            deniedValues:
            - under:folders/VALUE_A
      
    2. 執行 set-policy 指令:

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

    其中:

    • under: 是前置字元,表示後方為子樹狀結構字串。

    • folders/VALUE_A 是您要拒絕的根目錄資源資料夾 ID。這項資源和資源階層中的所有子項都會遭到拒絕。

    您也可以將 under: 前置字串套用至機構和專案,如以下範例所示:

    • under:organizations/VALUE_X

    • under:projects/VALUE_Y

  3. 使用 describe --effective 查看目前生效的政策。

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    指令輸出將如下所示:

    name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - values:
          deniedValues:
          - under:folders/VALUE_A
    

    現在,這項政策會評估是否要拒絕資料夾 VALUE_A 和所有子系資源。

機構政策變更最多可能需要 15 分鐘才會全面生效。

合併專案上的組織政策

您可以對資源設定機構政策,該政策會與從父項資源沿用的任何政策合併。接著,系統會評估這個合併後的政策,以根據繼承規則建立新的有效政策。

  1. 使用 describe 指令取得資源的現行政策:

    gcloud org-policies describe \
      CONSTRAINT_NAME \
      --project=PROJECT_ID
    

    更改下列內容:

    • PROJECT_ID:專案的專屬 ID

    • CONSTRAINT_NAME:要強制執行的服務限制。

    如果未設定政策,系統會傳回 NOT_FOUND 錯誤:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. 使用 describe --effective 指令顯示目前生效的政策:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    指令輸出包含從機構資源繼承的拒絕值:

    name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - values:
          deniedValues:
          - VALUE_A
    
  3. 使用 set-policy 指令在專案上設定政策。

    1. 建立暫存檔案 /tmp/policy.yaml 來儲存政策:

      name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
      spec:
        inheritFromParent: true
        rules:
        - values:
            deniedValues:
            - VALUE_B
            - VALUE_C
      
    2. 執行 set-policy 指令:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  4. 再次使用 describe --effective 指令顯示更新後的政策:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    指令輸出將包含資源政策和父項政策合併後的有效結果:

    name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - values:
          deniedValues:
            - VALUE_A
            - VALUE_B
            - VALUE_C
    

機構政策變更最多可能需要 15 分鐘才會全面生效。

復原預設的限制行為

您可以使用 reset 指令重設政策,改用限制的預設行為。如要查看所有可用限制及其預設值清單,請參閱「機構政策限制」。以下範例假設預設限制行為是允許所有值。

  1. 取得專案的有效政策,以顯示目前合併的政策:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    PROJECT_ID 替換為專案的專屬 ID。指令輸出將如下所示:

    name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - values:
          deniedValues:
          - VALUE_A
          - VALUE_B
          - VALUE_C
    
  2. 使用 reset 指令重設機構政策。

    gcloud org-policies reset CONSTRAINT_NAME \
        --project=PROJECT_ID
    
  3. 取得有效政策以驗證預設行為:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    指令輸出將允許所有的值:

    name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - allowAll: true
    

機構政策變更最多可能需要 15 分鐘才會全面生效。

刪除組織政策

您可以刪除資源中的組織政策。未設定組織政策的資源會繼承其父項資源的任何政策。如果您刪除了機構資源上的組織政策,有效政策將會是限制的預設行為。

下列步驟說明如何刪除機構的機構政策。

  1. 使用 delete 指令刪除機構資源的政策:

    gcloud org-policies delete \
      CONSTRAINT_NAME \
      --organization=ORGANIZATION_ID
    

    ORGANIZATION_ID 替換為機構資源的唯一識別碼。指令輸出內容如下:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME].
    {}
    
  2. 取得機構上的有效政策,以驗證限制未強制執行:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    指令輸出將如下所示:

    name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - allowAll: true
    

下列步驟說明如何刪除專案上的組織政策:

  1. 使用 delete 指令刪除專案的政策:

    gcloud org-policies delete \
      CONSTRAINT_NAME \
      --project=PROJECT_ID
    

    其中 PROJECT_ID 是專案的唯一識別碼。指令輸出將如下所示:

    Deleted policy
    [projects/PROJECT_ID/policies/CONSTRAINT_NAME].
    {}
    
  2. 取得專案上的有效政策,以驗證限制未強制執行:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    指令輸出將如下所示:

    name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
    spec:
      rules:
      - allowAll: true
    

機構政策變更最多可能需要 15 分鐘才會全面生效。

在機構政策中使用布林值規則

對機構資源設定強制執行

以下程序說明如何使用 Google Cloud CLI,透過布林值規則設定組織政策。如要瞭解如何使用 Google Cloud 控制台查看及設定機構政策,請參閱「建立及管理政策」。

  1. 使用 describe 指令取得機構資源的現行政策:

    gcloud org-policies describe \
      CONSTRAINT_NAME \
      --organization=ORGANIZATION_ID
    

    請將 ORGANIZATION_ID 替換為機構資源的唯一識別碼。您也可以將組織政策分別套用到具有 --folder--project 標記的資料夾或專案,以及資料夾 ID專案 ID

    如果未設定政策,系統會傳回 NOT_FOUND 錯誤:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. 使用 set-policy 指令在專案上設定政策。

    1. 建立暫存檔案 /tmp/policy.yaml 來儲存政策:

      name: organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME
      spec:
        rules:
        - enforce: true
      
    2. 執行 set-policy 指令:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  3. 使用 describe --effective 查看目前生效的政策:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    指令輸出將如下所示:

    name: organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT
    spec:
      rules:
      - enforce: true
    

機構政策變更最多可能需要 15 分鐘才會全面生效。

覆寫專案的組織政策

如要為專案覆寫機構政策,請設定政策,對專案以下階層的所有資源停用限制的強制執行。

  1. 取得資源上的現有政策,顯示政策是空的。

    gcloud org-policies describe \
      CONSTRAINT_NAME \
      --project=PROJECT_ID
    

    其中 PROJECT_ID 是專案的唯一識別碼

    如果未設定政策,系統會傳回 NOT_FOUND 錯誤:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. 取得專案的有效政策,以確認該限制正在專案上強制執行。

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    指令輸出將如下所示:

    name: projects/PROJECT_ID/policies/BOOLEAN_CONSTRAINT
    spec:
      rules:
      - enforce: true
    
  3. 使用 set-policy 指令在專案中設定政策。

    1. 建立暫存檔案 /tmp/policy.yaml 來儲存政策:

      name: projects/PROJECT_ID/policies/CONSTRAINT_NAME
      spec:
        rules:
        - enforce: false
      
    2. 執行 set-policy 指令:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  4. 取得有效政策,表示系統已不在專案上強制執行限制。

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    指令輸出將如下所示:

    name: organizations/ORGANIZATION_ID/policies/BOOLEAN_CONSTRAINT
    spec:
      rules:
      - enforce: false
    

機構政策變更最多可能需要 15 分鐘才會全面生效。

刪除組織政策

您可以刪除資源中的組織政策。未設定組織政策的資源會繼承其父項資源的任何政策。如果您刪除了機構資源上的組織政策,有效政策將會是限制的預設行為。

下列步驟說明如何刪除機構和專案的機構政策。

  1. 使用 delete 指令從機構資源刪除政策:

    gcloud org-policies delete \
      CONSTRAINT_NAME \
      --organization=ORGANIZATION_ID
    

    請將 ORGANIZATION_ID 替換為機構資源的唯一識別碼。指令輸出內容如下:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME].
    {}
    
  2. 取得機構上的有效政策,以驗證限制未強制執行:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --organization=ORGANIZATION_ID
    

    如果未設定政策,系統會傳回 NOT_FOUND 錯誤:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  3. 使用 delete 指令從專案中刪除機構政策:

    gcloud org-policies delete \
      CONSTRAINT_NAME \
      --project=PROJECT_ID
    

    指令輸出將如下所示:

    Deleted policy
    [organizations/ORGANIZATION_ID/policies/CONSTRAINT_NAME].
    {}
    
  4. 取得專案上的有效政策,以驗證限制未強制執行:

    gcloud org-policies describe \
      CONSTRAINT_NAME --effective \
      --project=PROJECT_ID
    

    PROJECT_ID 替換為專案的專屬 ID。

    如果未設定政策,系統會傳回 NOT_FOUND 錯誤:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    

機構政策變更最多可能需要 15 分鐘才會全面生效。

在機構政策中使用受管理限制

受管理限制是以自訂機構政策平台為基礎建構而成。他們可以使用組織政策服務的政策模擬器,試行組織政策,更安全地部署政策變更。

查看及找出受管理限制

如要查看貴機構可用的受管理限制,請按照下列步驟操作:

控制台

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

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

  2. 在專案選擇工具中,選取要檢視機構政策的專案、資料夾或機構。隨即顯示「Organization policies」(機構政策) 頁面,其中列出適用於這項資源的機構政策限制。

  3. 您可以依限制類型篩選或排序機構政策清單,找出受管理的限制。從清單中選取要查看詳細資料的受管理限制。在隨即顯示的「政策詳細資料」頁面中,您可以查看這項組織政策的來源、對這項資源進行的有效政策評估、這項資源目前的組織政策設定、限制條件的詳細資料,以及使用這些限制條件的限制預設參數。

gcloud

如要列出機構政策中對機構強制執行的受管理和自訂限制,請使用 org-policies list-custom-constraints 指令。

gcloud org-policies list-custom-constraints \
  --organization=ORGANIZATION_ID

ORGANIZATION_ID 替換為您的機構 ID。

如要取得資源特定受管理限制的詳細資料,請使用 org-policies describe-custom-constraint 指令。

gcloud org-policies describe-custom-constraint CONSTRAINT_NAME \
    --organization=ORGANIZATION_ID

更改下列內容:

  • CONSTRAINT_NAME:要取得詳細資料的受管理限制名稱。例如:iam.managed.disableServiceAccountKeyUpload

  • ORGANIZATION_ID:貴機構的 ID。

REST

如要列出機構政策中設定的受管理和自訂限制,請使用organizations.customConstraints.list方法。

  GET https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/customConstraints

ORGANIZATION_ID 替換為您的機構 ID。

建立及更新受管理限制

機構政策由限制的設定來定義。政策可以在資源上設定、從父項資源繼承,也可以重設為 Google 代管的預設行為。

如要根據受管理限制建立或更新機構政策,請按照下列步驟操作:

控制台

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

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

  1. 在專案選擇工具中,選取要編輯機構政策的專案、資料夾或機構。隨即顯示「Organization policies」(機構政策) 頁面,其中列出可供這個資源使用的機構政策限制,並提供篩選功能。

  2. 從清單中選取要更新機構政策的受管理限制。

  3. 如要更新這項資源的機構政策,請按一下「管理政策」

  4. 在「Edit policy」(編輯政策) 頁面,選取「Override parent's policy」(覆寫上層政策)

  5. 選取「新增規則」

  6. 在「Enforcement」(強制執行) 下,選取是否要強制執行這項機構政策。

  7. 選用:如要根據標記設定組織政策的條件,請按一下「Add condition」(新增條件)。如果為組織政策新增條件式規則,您必須至少新增一項無條件規則,否則無法儲存政策。詳情請參閱「使用標記設定組織政策」。

  8. 如果這項限制支援參數,這些參數會顯示在「參數」下方,並顯示已設定的值。如果未設定參數,系統會改為顯示 Google 代管的預設值。

    如要變更參數,請選取「編輯」

    1. 在「值」下方選取「預設值」,即可將這項限制重設為使用及顯示 Google 代管的預設值。

    選取「使用者定義」來設定參數。

    1. 如果參數接受多個值,請在欄位中輸入允許或拒絕的值。選取「新增值」 ,即可新增更多欄位。

    用來驗證參數值的一般運算語言 (CEL) 運算式,請參閱「有效值運算式」。所有使用者定義的值都必須與該運算式相符。

    1. 如果是布林值參數,請選取「True」或「False」,判斷是否應套用參數。

    2. 按一下 [儲存]

  9. 如要預覽機構政策變更的影響,請在政策生效前按一下「測試變更」。如要進一步瞭解如何測試組織政策變更,請參閱「使用 Policy Simulator 測試組織政策變更」。

  10. 如要在模擬測試模式下強制執行組織政策,請按一下「設定模擬測試政策」。詳情請參閱「以模擬測試模式建立組織政策」。

  11. 確認機構政策在試營運模式下運作正常後,請按一下「設定政策」,設定正式政策。

gcloud

  1. 建立 YAML 檔案來定義組織政策。如果這個限制不支援參數,請省略 rules 下的 parameters 區塊。

    name: RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME
    spec:
    rules:
        - enforce: ENFORCEMENT_STATE
          parameters:
            LIST_PARAMETER:
               - LIST_VALUE_1
               - LIST_VALUE_2
            BOOLEAN_PARAMETER: BOOLEAN_VALUE
    
    dryRunSpec:
      rules:
      - enforce: ENFORCEMENT_STATE
        parameters:
          LIST_PARAMETER:
             - LIST_VALUE_1
             - LIST_VALUE_2
          BOOLEAN_PARAMETER: BOOLEAN_VALUE
    

    更改下列內容:

    • RESOURCE_TYPE,搭配 organizationsfoldersprojects

    • RESOURCE_ID,視 RESOURCE_TYPE 中指定的資源類型而定,可以是機構 ID、資料夾 ID、專案 ID 或專案編號。

    • CONSTRAINT_NAME 改成您要設定的限制名稱。

    • ENFORCEMENT_STATE,在設定時強制執行這項組織政策,或在設定時停用這項政策。truefalse

    • LIST_PARAMETER,並填入要設定的清單參數名稱。如需可用參數清單,請參閱限制說明。

    • LIST_VALUE_1LIST_VALUE_2 和其他清單值,並根據此參數的設定,允許或拒絕值清單。如要瞭解可接受的值,請參閱限制說明。

    • BOOLEAN_PARAMETER,並將其設為要設定的布林參數名稱。如需可用參數清單,請參閱限制說明。

    • BOOLEAN_VALUE 替換成 TrueFalse

    (選用) 如要根據標記設定組織政策的條件,請在 rules 中新增 condition 區塊。如果為組織政策新增條件式規則,您必須至少新增一項無條件規則,否則無法儲存政策。詳情請參閱「使用標記設定組織政策」。

  2. 執行 org-policies set-policy 指令並搭配 dryRunSpec 旗標,以模擬執行模式設定組織政策:

     gcloud org-policies set-policy POLICY_PATH \
       --update-mask=dryRunSpec
    

    請將 POLICY_PATH 替換為機構政策 YAML 檔案的完整路徑。

    如要進一步瞭解模擬測試組織政策,請參閱「以模擬測試模式建立組織政策」。

  3. 使用 policy-intelligence simulate orgpolicy 指令,在強制執行機構政策變更前,預先瞭解影響:

    gcloud policy-intelligence simulate orgpolicy \
      --organization=ORGANIZATION_ID \
      --policies=POLICY_PATH
    

    更改下列內容:

    • ORGANIZATION_ID 替換成機構 ID,例如 1234567890123。系統不支援模擬多個機構的變更。

    • POLICY_PATH 替換為組織政策 YAML 檔案的完整路徑。

    如要進一步瞭解如何測試組織政策變更,請參閱「使用 Policy Simulator 測試組織政策變更」。

  4. 確認模擬測試模式中的機構政策運作正常後,請使用 org-policies set-policy 指令和 spec 旗標設定正式政策:

    gcloud org-policies set-policy POLICY_PATH \
      --update-mask=spec
    

    請將 POLICY_PATH 替換為機構政策 YAML 檔案的完整路徑。

REST

如要設定機構政策,請使用 organizations.policies.create 方法。

POST https://orgpolicy.googleapis.com/v2/{parent=organizations/ORGANIZATION_ID}/policies

要求 JSON 主體包含組織政策的定義。如果這項限制不支援參數,請省略 rules 下方的 parameters 區塊。

{
  "name": "RESOURCE_TYPE/RESOURCE_ID/policies/CONSTRAINT_NAME",
  "spec": {
    "rules": [
      {
        "enforce": ["ENFORCEMENT_STATE"],
        "parameters": {
          "LIST_PARAMETER": [
            "LIST_VALUE_1",
            "LIST_VALUE_2"
          ],
          BOOLEAN_PARAMETER: BOOLEAN_VALUE
        }
      }
    ]
  }
  "dryRunSpec": {
    "rules": [
      {
        "enforce": ["ENFORCEMENT_STATE"],
        "parameters": {
          "LIST_PARAMETER": [
            "LIST_VALUE_1",
            "LIST_VALUE_2"
          ],
          BOOLEAN_PARAMETER: BOOLEAN_VALUE
        }
      }
    ]
  }
}

更改下列內容:

  • RESOURCE_TYPE,搭配 organizationsfoldersprojects

  • RESOURCE_ID,視 RESOURCE_TYPE 中指定的資源類型而定,可以是機構 ID、資料夾 ID、專案 ID 或專案編號。

  • CONSTRAINT_NAME 改成您要設定的限制名稱。

  • ENFORCEMENT_STATE,在設定時強制執行這項組織政策,或在設定時停用這項政策。truefalse

  • LIST_PARAMETER,並填入要設定的清單參數名稱。如需可用參數清單,請參閱限制說明。

  • LIST_VALUE_1LIST_VALUE_2 和其他清單值,並根據此參數的設定,允許或拒絕值清單。如要瞭解可接受的值,請參閱限制說明。

  • BOOLEAN_PARAMETER,並將其設為要設定的布林參數名稱。如需可用參數清單,請參閱限制說明。

  • BOOLEAN_VALUE 替換成 TrueFalse

(選用) 如要根據標記設定組織政策的條件,請在 rules 中新增 condition 區塊。如果為組織政策新增條件式規則,您必須至少新增一項無條件規則,否則無法儲存政策。詳情請參閱「使用標記設定組織政策」。

如要進一步瞭解模擬測試組織政策,請參閱「以模擬測試模式建立組織政策」。

機構政策變更最多可能需要 15 分鐘才會全面生效。