Stay organized with collections Save and categorize content based on your preferences.
Google Cloud offers Identity and Access Management (IAM), which lets you give more granular access to specific Google Cloud resources and prevents unwanted access to other resources. IAM lets you adopt the security principle of least privilege, so you grant only the necessary access to your resources.
IAM lets you control who (users) has what access (roles) to which resources by setting allow policies. Allow policies grant specific roles to a user giving the user certain permissions.
This page explains the IAM roles that are available at the Folders level, and how to create and manage allow policies for folders using the Cloud Resource Manager API. For more information, see Manage access to projects, folders, and organizations.
Note: You can also use deny policies to prevent principals from using specific IAM permissions. For more information, see Deny policies. Note: If you're getting started with Google Cloud, you can set up your resource hierarchy and grant initial access as part of the Google Cloud setup process. Overview of IAM roles for FoldersTo help you configure your IAM roles, the following table lists:
When assigning IAM roles and permissions for use with Folders, keep the following in mind:
roles/compute.admin
) on a folder, that user will have full control of all Compute Engine resources in every project in that folder.When you create a folder, you are granted the Folder Admin and Folder Editor roles for the folder to provide you full control as the creator. See below for the permissions that these roles provide. These default roles can be changed as normal in an allow policy.
Using predefined roles Role Permissions Folder Admin(roles/resourcemanager.folderAdmin
)
Provides all available permissions for working with folders.
Lowest-level resources where you can grant this role:
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
(roles/resourcemanager.folderIamAdmin
)
Provides permissions to administer allow policies on folders.
Lowest-level resources where you can grant this role:
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
)
Provides permissions needed to browse the hierarchy and create folders.
Lowest-level resources where you can grant this role:
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
)
Provides permission to modify folders as well as to view a folder's allow policy.
Lowest-level resources where you can grant this role:
essentialcontacts.contacts.get
essentialcontacts.contacts.list
orgpolicy.constraints.list
orgpolicy.policies.list
orgpolicy.policy.get
resourcemanager.capabilities.*
resourcemanager.capabilities.get
resourcemanager.capabilities.update
resourcemanager.folders.delete
resourcemanager.folders.get
resourcemanager.folders.getIamPolicy
resourcemanager.folders.list
resourcemanager.folders.searchPolicyBindings
resourcemanager.folders.undelete
resourcemanager.folders.update
resourcemanager.projects.get
resourcemanager.projects.list
(roles/resourcemanager.folderMover
)
Provides permission to move projects and folders into and out of a parent organization or folder.
Lowest-level resources where you can grant this role:
resourcemanager.folders.move
resourcemanager.projects.move
(roles/resourcemanager.folderViewer
)
Provides permission to get a folder and list the folders and projects below a resource.
Lowest-level resources where you can grant this role:
essentialcontacts.contacts.get
essentialcontacts.contacts.list
orgpolicy.constraints.list
orgpolicy.policies.list
orgpolicy.policy.get
resourcemanager.capabilities.get
resourcemanager.folders.get
resourcemanager.folders.list
resourcemanager.projects.get
resourcemanager.projects.list
In addition to the predefined roles described in this topic, you can also create
custom rolesthat are collections of permissions that you tailor to your needs. When creating a custom role for use with Resource Manager, be aware of the following points:
resourcemanager.projects.get/list
, should always be granted as a pair.folders.list
and folders.get
permissions, it should also include projects.list
and projects.get
.setIamPolicy
permission for organization, folder, and project resources allows the user to grant all other permissions, and so should be assigned with care.List permissions enable folder browsing. The two types of list permissions that typically need to be granted are resourcemanager.folders.list
, which allows users to list folders under a resource, and resourcemanager.projects.list
, which allows users to browse projects under an organization resource or folder. The Organization Administrator is initialized with both of these permissions. For users that have not been assigned the Organization Administrator role:
resourcemanager.folders.list
can be granted via the Folder Viewer and Folder Editor roles.resourcemanager.projects.list
can be granted via the Viewer or Browser roles.For organization resource principals to browse the entire organization resource hierarchy, list permissions should be granted at the organization resource level.
Granting roles to enable folder creationUsers that need to create folders must be granted Folder Creator role on a resource in the hierarchy above the level at which the folder will be created. It can be helpful to grant browsing permissions along with folder creation permissions so users can effectively navigate to where in the hierarchy the folder will be created. See the section above for more information on browsing permissions.
Folder Creator does not grant a user permission to delete a folder. However, when a person creates a folder, that person is automatically granted the Folder Editor role. The Folder Editor role enables folder deletion.
Granting roles to enable folder movementTo move a folder from one parent resource to another, users must have the Folder Mover role on both old and new parent resources, or on a common ancestor.
Granting roles to enable project movementTo move a project into a folder, users must have the Project Editor or Project Owner roles on the project and the Project Mover on both the source and destination parent resources.
This is slightly different from the requirements for moving a non-org-owned project into the organization resource, where users must have the Project Editor or Project Owner role on the project and the Project Creator role on the organization resource.
Granting folder-specific roles to enable project creationTo create projects, users must have the Project Creator role. However, rather than granting org-wide project creation permission, it can be useful to instead restrict users to viewing and creating projects only within a given folder.
To grant folder-specific permissions:
This allows the user to create projects in their folder without granting them visibility to every project in the greater organization resource.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-07-02 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-02 UTC."],[],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4