將機構政策套用在某資源之後,該資源的所有子系都會預設繼承該政策。如果您在機構資源上設定機構政策,該政策的所有子項資源都會沿用這項政策。
您可以在子系資源上設定具有不同設定的相同機構政策,該政策會根據階層評估規則覆寫或合併沿用的政策。
事前準備
階層範例
在以下資源階層圖表中,各資源設定了機構政策,並定義其是否沿用父項資源的政策。彩色形狀代表機構政策允許或拒絕該值。
限制代表機構政策控制的行為定義。在上述範例中,Constraint 代表限制預設值,定義限制沒有機構政策時的行為。本範例中的限制預設值允許
所有值。其下層節點定義了機構政策,可透過允許或拒絕值來覆寫限制預設值。各節點的有效政策會根據沿用規則而定。如果沒有設定機構政策,資源會繼承預設的限制行為。如果沒有設定機構政策,則使用自訂政策。在上述範例中,機構節點定義的政策允許
紅色方塊和 綠色圓形。在該階層中,機構節點以下的資源會透過下列方式進行評估:
資源 1 定義的政策將
inheritFromParent
設為TRUE
,並允許 藍色菱形。沿用機構節點政策,並與在資源 1 上設定的政策合併。有效政策的評估結果為允許 紅色方形、 綠色圓形和 藍色菱形。資源 2 定義的政策將
inheritFromParent
設為TRUE
,並拒絕 綠色圓形。協調政策時,都會優先採用拒絕值的政策。沿用機構節點政策並與資源 2 設定的政策合併。因此有效政策的評估結果為僅允許 紅色方形。資源 3 定義的政策將
inheritFromParent
設為FALSE
,並允許 黃色六邊形。不沿用機構節點的政策,因此有效政策評估為只允許 黃色六邊形。資源 4 定義的政策將
inheritFromParent
設為FALSE
,並包含restoreDefault
值。不沿用機構節點的政策但使用預設限制行為,因此有效政策評估為允許 所有值。
階層評估規則
下列規則管理特定資源的機構政策評估方式。您需要組織政策管理員角色,才能設定組織政策。
沒有設定機構政策
如果您沒有設定機構政策,資源會沿用最低層級祖先的政策。如果祖先階層的任何位置都沒有設定政策,系統就會強制執行限制的預設行為。
繼承
如果資源預設了機構政策,則會取代階層中父項資源設定的任何政策。不過,如果資源設定了 inheritFromParent = true
,則父項資源的有效政策,經沿用、合併及協調後評估出該節點的有效政策。例如:
- 某資料夾拒絕
projects/123
一值。 - 該資料夾下的專案拒絕
projects/456
一值。
這兩個政策就會合併,因此有效的政策則是同時拒絕 projects/123
和 projects/456
。
沿用預設行為
預設行為一律不會合併。設定政策後,一律會取代任何預設行為。例如:
- 機構層級的
constraints/iam.allowServiceAccountCredentialLifetimeExtension
預設為DENY
。 - 對於這項限制,該機構直接下方的專案允許
SomeServiceAccount
值。
由於系統一律會取代預設行為,而不會合併,因此這項政策會允許 SomeServiceAccount
。反之,如果政策明確設為機構層級的 DENY
,「DENY
值優先」規則就會套用,有效政策也會是 DENY
。
拒絕沿用
如果資源的政策包含 inheritFromParent = false
,則不繼承其父項的機構政策。而是沿用限制的預設行為,除非您設定了含允許值或拒絕值的政策。
協調政策衝突
當資源沿用機構政策時,系統會合併沿用的政策,並與父項資源的機構政策協調一致。評估含有清單規則的機構政策時,一律會優先採用 DENY
值。例如:
- 某資料夾拒絕
projects/123
一值。 - 該資料夾下的專案允許
projects/123
一值。
這時會合併政策並優先採用 DENY
值。有效政策會拒絕所有值,然後以相同方式評估父項或子資源是否拒絕該值。建議不要同時在允許和拒絕的清單中加入相同值。這麼做會混淆政策,以致難以理解。
含有布林規則的機構政策不會合併及協調政策。如果資源指定了政策,將使用 TRUE
或 FALSE
值來判斷有效政策。例如:
某資料夾的
enforced: true
設定為constraints/iam.managed.disableServiceAccountCreation
。該資料夾下的專案將
enforced: false
設為constraints/iam.managed.disableServiceAccountCreation
。
將忽略資料夾設定的 enforced: true
值,因為專案本身定義了 enforced: false
。機構政策不會針對該專案強制執行。
重設為預設政策
機構政策會透過叫用 RestoreDefault
,針對此資源使用限制的預設行為。子資源也會繼承此行為。