使用 IAM 对文件夹进行访问权限控制

Google Cloud 提供 Identity and Access Management (IAM),可让您授予对特定 Google Cloud 资源的更精细访问权限,并防止对其他资源进行不必要的访问。IAM 允许您采用 最小权限安全原则, 因此您只需授予对您的资源的必要访问权限即可。

IAM 允许您通过设置允许政策来控制谁(用户)哪些资源 具有什么访问权限(角色) 。您可以使用 IAM 政策向用户授予特定角色,给予用户某些权限。

本页面介绍在文件夹级别使用的 IAM 角色,以及如何使用 Cloud Resource Manager API 为文件夹创建和管理允许政策。如需了解详情,请参阅 管理对项目、文件夹和组织的访问权限

Google Cloud

文件夹的 IAM 角色概览

为了帮助您配置您的 IAM 角色,下表列出了:

  • 要实现的操作类型。
  • 执行这些操作所需的角色。
  • 这些角色将应用于的目标资源级层。
操作类型 所需的角色 资源层级
管理整个组织资源中的文件夹 Folder Admin 组织资源
管理文件夹及其中包含的所有项目和文件夹 Folder Admin 具体的文件夹
访问和管理文件夹的允许政策 Folder IAM Admin 具体的文件夹
创建新文件夹 文件夹创建者 新文件夹位置的父级资源
移动文件夹和项目 文件夹移动者 原始文件夹位置和新文件夹位置的父级资源
将项目移动到新文件夹 项目 Editor Project Owner 原始项目位置和新项目位置的父级资源
删除文件夹 文件夹编辑者或 Folder Admin 具体的文件夹

将 IAM 角色和权限与文件夹结合使用的最佳做法

分配 IAM 角色和权限以与文件夹结合使用时,请记住以下几点:

  • 尽可能使用群组来管理主账号。
  • 尽量减少使用基本角色,如所有者、编辑者和查看者。相反,请尝试使用预定义角色,以遵循最小权限原则。
  • 对于文件夹范围内的管理,请在文件夹级层分配权限,并将项目设置为自动继承权限。例如,您可以为部门管理员群组分配文件夹的 Folder Admin 角色。 需要拥有部门级权限的网络管理员可以拥有文件夹的 Network Admin 角色。
  • 在将资源移出文件夹之前,请认真考虑哪些权限可能会发生变化。否则,您可能会影响需要对该资源拥有那些权限的现有应用或工作流。
  • 将正式版项目移动到文件夹下之前,请认真计划并测试您的资源层次结构。实现此操作的一个方法是在组织资源下创建测试文件夹,并提前测试目标层次结构的原型。
  • 在文件夹级层向用户授予角色也将针对该文件夹下的每个资源向用户授予该角色。例如,如果您在文件夹级层授予用户 Compute Admin 角色 (roles/compute.admin),则该用户将拥有该文件夹中所有项目的 Compute Engine 资源的完整访问权限。

了解文件夹角色和权限

文件夹充当组织内的管理边界,可让您对项目进行分组并大规模应用政策。对这些文件夹的访问权限通过组织继承的权限和直接在文件夹级层授予的角色相结合的方式进行管理。

默认角色

创建文件夹会授予您 Folder AdminFolder Editor 角色,这些角色提供完整控制权。请参阅下表,了解这些角色提供的权限。您可以在允许政策中更改这些默认角色。

使用预定义角色

角色 权限

(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.