Google Cloud 提供身分與存取權管理 (IAM) 功能,可對特定 Google Cloud 資源授予更精細的存取權,避免未經授權者存取其他資源。IAM 採用最小權限安全原則,可確保您僅授予使用者必要的資源存取權限。
設定允許政策後,即可控管哪些使用者具備何種存取權限 (角色),可以存取哪些資源。允許政策可將特定角色授予使用者,讓對方擁有特定權限。
本頁說明適用於資料夾層級的 IAM 角色,以及如何使用 Cloud Resource Manager API 建立及管理資料夾的允許政策。詳情請參閱「管理專案、資料夾和機構的存取權」。
資料夾的 IAM 角色總覽
為了幫助您設定 IAM 角色,下表列出:
- 您要啟用的動作類型。
- 執行動作須具備的角色。
- 您套用角色需要的資源層級。
| 動作類型 |
需要角色 |
資源層級 |
| 管理整個機構資源的資料夾 |
資料夾管理員 |
組織資源 |
| 管理資料夾和其中所有的專案及資料夾 |
資料夾管理員 |
特定資料夾 |
| 可存取及管理資料夾的允許政策 |
資料夾 IAM 管理員 |
特定資料夾 |
| 建立新資料夾 |
資料夾建立者 |
新資料夾位置的父項資源 |
| 移動資料夾和專案 |
資料夾移動者 |
新資料夾與原始資料夾位置的父項資源 |
| 將專案移動到新資料夾 |
專案編輯者或專案擁有者 |
新專案與原始專案位置的父項資源 |
| 刪除資料夾 |
資料夾編輯者或資料夾管理員 |
特定資料夾 |
在資料夾中使用 IAM 角色與權限的最佳做法
指派要用於資料夾的 IAM 角色和權限時,請注意以下幾點:
- 盡可能使用群組來管理主體。
- 盡可能減少基本角色的使用,例如擁有者、編輯者和檢視者。相反地,盡量按照最小權限原則來使用預先定義的角色。
- 對於資料夾內的管理,請以資料夾層級指派權限,並讓專案自動繼承權限。例如,您可以為部門管理員群組指派資料夾的資料夾管理員角色。需要擁有部門權限的網路管理員,則可以擁有資料夾的網路管理員角色。
- 在將資源移出資料夾之前,請仔細考慮可能更改的權限。否則,您可能會破壞需要該資源權限的現有應用程式或工作流程。
- 在將實際工作環境專案移到資料夾之前,請仔細規劃並測試資源階層。執行此操作的方式之一是在您的機構資源中建立一個測試資料夾,並預先建立您所需的階層原型。
- 在資料夾層級授予使用者角色,也會授予使用者該資料夾下所有資源的角色。舉例來說,如果您授予使用者資料夾的 Compute 管理員角色 (
roles/compute.admin),使用者就能完全掌控該資料夾中所有專案的 Compute Engine 資源。
瞭解資料夾的角色與權限
資料夾是機構內的管理界線,可讓您將專案分組,並大規模套用政策。這些資料夾的存取權是透過機構繼承的權限,以及直接在資料夾層級授予的角色來管理。
預設角色
建立資料夾時,您會被授予資料夾管理員和資料夾編輯者角色,讓您完全控制資料夾。下表列出這些角色提供的權限。您可以在允許政策中變更這些預設角色。
使用預先定義的角色
| 角色 |
權限 |
資料夾管理員
(roles/resourcemanager.folderAdmin)
提供處理資料夾的所有可用權限。
可授予此角色的最低層級資源:
|
essentialcontacts.*
essentialcontacts.contacts.create
essentialcontacts.contacts.delete
essentialcontacts.contacts.get
essentialcontacts.contacts.list
essentialcontacts.contacts.send
essentialcontacts.contacts.update
iam.policybindings.*
iam.policybindings.get
iam.policybindings.list
orgpolicy.constraints.list
orgpolicy.policies.list
orgpolicy.policy.get
resourcemanager.capabilities.*
resourcemanager.capabilities.get
resourcemanager.capabilities.update
resourcemanager.folders.*
resourcemanager.folders.create
resourcemanager.folders.createPolicyBinding
resourcemanager.folders.delete
resourcemanager.folders.deletePolicyBinding
resourcemanager.folders.get
resourcemanager.folders.getIamPolicy
resourcemanager.folders.list
resourcemanager.folders.move
resourcemanager.folders.searchPolicyBindings
resourcemanager.folders.setIamPolicy
resourcemanager.folders.undelete
resourcemanager.folders.update
resourcemanager.folders.updatePolicyBinding
resourcemanager.hierarchyNodes.*
resourcemanager.hierarchyNodes.createTagBinding
resourcemanager.hierarchyNodes.deleteTagBinding
resourcemanager.hierarchyNodes.listEffectiveTags
resourcemanager.hierarchyNodes.listTagBindings
resourcemanager.projects.createPolicyBinding
resourcemanager.projects.deletePolicyBinding
resourcemanager.projects.get
resourcemanager.projects.getIamPolicy
resourcemanager.projects.list
resourcemanager.projects.move
resourcemanager.projects.searchPolicyBindings
resourcemanager.projects.setIamPolicy
resourcemanager.projects.updatePolicyBinding
|
資料夾 IAM 管理員
(roles/resourcemanager.folderIamAdmin)
提供管理資料夾允許政策的權限。
可授予此角色的最低層級資源:
|
iam.policybindings.*
iam.policybindings.get
iam.policybindings.list
resourcemanager.folders.createPolicyBinding
resourcemanager.folders.deletePolicyBinding
resourcemanager.folders.get
resourcemanager.folders.getIamPolicy
resourcemanager.folders.searchPolicyBindings
resourcemanager.folders.setIamPolicy
resourcemanager.folders.updatePolicyBinding
|
資料夾建立者
(roles/resourcemanager.folderCreator)
提供瀏覽階層及建立資料夾所需的權限。
可授予此角色的最低層級資源:
|
essentialcontacts.contacts.get
essentialcontacts.contacts.list
orgpolicy.constraints.list
orgpolicy.policies.list
orgpolicy.policy.get
resourcemanager.capabilities.get
resourcemanager.folders.create
resourcemanager.folders.get
resourcemanager.folders.list
resourcemanager.projects.get
resourcemanager.projects.list
|
資料夾編輯者
(roles/resourcemanager.folderEditor)
提供修改資料夾及查看資料夾允許政策的權限。
可授予此角色的最低層級資源:
|
essentialcontacts.contacts.get
essentialcontacts.contacts.list
|