身分與存取權管理 (IAM) 提供多種政策,可協助您控管主體可存取的資源。本頁面可協助您瞭解這兩種政策類型在使用和管理上的差異。
Google Cloud中的 IAM 政策類型
IAM 提供下列類型的政策:
- 允許政策
- 拒絕政策
- 主體存取邊界 (PAB) 政策
下表摘要列出這些政策類型的差異:
政策 | 政策功能 | 用於管理政策的 API | 政策與目標之間的關係 | 將政策附加至目標的方法 | 政策的父項資源 |
---|---|---|---|---|---|
允許政策 | 授予主體資源存取權 | 您要管理允許政策的資源 API |
一對一關係 每項允許政策都會附加至一項資源,且每項資源只能有一項允許政策 |
建立政策時指定資源 | 與附加允許政策的資源相同 |
拒絕政策 | 確保主體無法使用特定權限 | IAM v2 API |
一對多關係 每項拒絕政策都會附加至一項資源,每項資源最多可有 500 項拒絕政策 |
建立拒絕政策時指定資源 | 與附加拒絕政策的資源相同 |
PAB 政策 | 限制主體可存取的資源 | IAM v3 API |
多對多關係 每個 PAB 政策可附加至無限數量的 主體組合;每個主體組合最多可繫結 10 項 PAB 政策 |
建立政策繫結,將 PAB 政策附加至主體組合 | 機構 |
以下各節詳細說明每種政策類型。
授予主體存取權的政策
如要授予主體資源存取權,請使用 IAM 允許政策。
您可以透過允許政策,授予 Google Cloud中資源的存取權。允許政策由角色繫結和中繼資料組成。角色繫結會指定哪些主體應具備資源的特定角色。
允許政策一律會附加至單一資源。將允許政策附加至資源後,該資源的後代會繼承這項政策。
如要建立及套用允許政策,請找出接受允許政策的資源,然後使用該資源的 setIamPolicy
方法建立允許政策。允許政策中的所有主體,都會取得資源和所有後代資源的指定角色。每個資源只能附加一項允許政策。
如要進一步瞭解允許政策,請參閱「瞭解允許政策」。
拒絕主體存取權的政策
如要拒絕主體存取資源,請使用 IAM 拒絕政策。 身分與存取權管理拒絕政策適用於 IAM v2 API。
拒絕政策與允許政策一樣,一律附加至單一資源。您可以將拒絕政策附加至專案、資料夾或機構。這個專案、資料夾或機構也會在資源階層中做為政策的父項。將拒絕政策附加至資源後,該資源的子系會沿用這項政策。
如要建立及套用拒絕政策,請使用 IAM v2 API。建立拒絕政策時,請指定要附加拒絕政策的資源。拒絕政策中的所有主體都無法使用指定權限,存取該資源和該資源的任何子系。每項資源最多可附加 500 項拒絕政策。
如要進一步瞭解拒絕政策,請參閱「拒絕政策」。
限制主體可存取資源的政策
如要限制主體可存取的資源,請使用主體存取邊界政策。主體存取邊界政策適用於 IAM 第 3 版 API。
如要建立及套用主體存取邊界政策,請建立主體存取邊界政策,然後建立政策繫結,將該政策連結至主體集。
主體存取邊界政策一律是貴機構的子項。 主體存取邊界政策的政策繫結,是專案、資料夾或機構的子項,且最接近政策繫結中參照的主體集。
每個政策繫結都會將一項主體存取邊界政策繫結至一組主體。主體存取邊界政策可以繫結至任意數量的主要組合。每個主體組合最多可繫結 10 項主體存取邊界政策。刪除主體存取邊界政策時,系統也會一併刪除與該政策相關的所有政策繫結。
如要進一步瞭解主體存取邊界政策,請參閱主體存取邊界政策。
政策評估
當主體嘗試存取資源時,IAM 會評估所有相關的允許、拒絕和主體存取權範圍政策,判斷主體是否可存取資源。如果這些政策指出主體不應存取資源,IAM 就會禁止存取。
實際上,IAM 會同時評估所有政策類型,然後彙整結果,判斷主體是否可以存取資源。不過,您可以將這項政策評估視為在下列階段進行:
-
身分與存取權管理會檢查所有相關的主體存取邊界政策,確認主體是否符合存取資源的資格。如果符合下列條件,主體存取邊界政策就適用:
- 政策已繫結至包含主體的主體組合
- 主體存取邊界政策會封鎖主體嘗試使用的權限。主體存取邊界政策封鎖的權限取決於政策版本。建立主體存取邊界政策時,請指定政策版本。詳情請參閱「主體存取邊界政策版本」。
檢查相關主體存取邊界政策後,IAM 會執行下列其中一項操作:
- 如果相關主體存取邊界政策未納入主體嘗試存取的資源,或 IAM 無法評估相關主體存取邊界政策,則 IAM 會禁止主體存取資源。
- 如果相關主體存取邊界政策包含主體嘗試存取的資源,IAM 會繼續執行下一個步驟。
- 如果沒有相關的主體存取邊界政策,IAM 會繼續執行下一個步驟。
-
IAM 會檢查所有相關的拒絕政策,確認主體是否遭到拒絕授權。相關拒絕政策是指附加至資源的拒絕政策,以及任何沿用的拒絕政策。
- 如果任何拒絕政策禁止主體使用必要權限,IAM 就會禁止主體存取資源。
- 如果沒有任何拒絕政策禁止主體使用必要權限,IAM 會繼續執行下一個步驟。
-
IAM 會檢查所有相關的允許政策,確認主體是否具備必要權限。相關的允許政策是指附加至資源的允許政策,以及沿用的允許政策。
- 如果主體不具備必要權限,IAM 會禁止他們存取資源。
- 如果主體具備必要權限,IAM 就會允許存取資源。
下圖顯示這項政策評估流程: