使用 IAM 控制访问权限

本页面介绍了如何使用身份和访问权限管理 (IAM) 授予和管理对 Service Catalog 的访问权限。

准备工作

什么是身份和访问权限管理 (IAM)?

Google Cloud 提供身份和访问权限管理 (IAM),可让您授予对特定 Google Cloud 资源的更细化访问权限,并防止对其他资源进行不必要的访问。IAM 允许您采用最小权限安全原则,您只需授予对您资源的必要访问权限。

IAM 允许您通过设置 IAM 政策来控制谁(身份)对哪些资源具有何种权限(角色)。IAM 政策可为主帐号授予一个或多个特定角色,进而授予相应身份特定权限。

例如,您可以为 Google 帐号分配给定资源(如项目)的 roles/compute.networkAdmin 角色,此后该帐号便可控制项目中网络相关的资源,但无法管理实例和磁盘等其他资源。

Service Catalog IAM 角色

使用 IAM 时,Service Catalog API 和 Service Catalog Producer API 中的每个 API 方法都要求发出 API 请求的身份具有使用相应资源的适当权限。您可以通过设置政策为主帐号(用户、群组或服务帐号)授予角色,进而授予相应权限。除了 Owner、Editor 和 Viewer 这些基本角色之外,您还可以向主帐号分配本页中所述的 Service Catalog 和 Service Catalog Producer 角色。

下面的表列出了 Service Catalog 用户可以使用的 IAM 角色。这些表格整理成了不同的角色。

Catalog Org Admin

角色名称 说明 具有的权限
roles/cloudprivatecatalogproducer.orgAdmin

在 Google Cloud 组织级层管理 Service Catalog 设置。创建和管理 Service Catalog 资源,例如解决方案和目录。

  • cloudprivatecatalogproducer.settings.*
  • cloudprivatecatalogproducer.catalogs.*
  • cloudprivatecatalogproducer.associations.*
  • cloudprivatecatalogproducer.targets.*
  • cloudprivatecatalogproducer.producerCatalogs.*
  • cloudprivatecatalogproducer.catalogAssociations.*
  • cloudprivatecatalogproducer.products.*
  • cloudprivatecatalog.targets.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • resourcemanager.folders.get
  • resourcemanager.folders.list
  • resourcemanager.organizations.get

目录管理员

角色名称 说明 具有的权限
roles/cloudprivatecatalogproducer.admin

创建和管理 Service Catalog 资源,例如解决方案和目录。

  • cloudprivatecatalogproducer.catalogs.*
  • cloudprivatecatalogproducer.associations.*
  • cloudprivatecatalogproducer.targets.*
  • cloudprivatecatalogproducer.producerCatalogs.*
  • cloudprivatecatalogproducer.catalogAssociations.*
  • cloudprivatecatalogproducer.products.*
  • cloudprivatecatalog.targets.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • resourcemanager.folders.get
  • resourcemanager.folders.list
  • resourcemanager.organizations.get

目录管理者

角色名称 说明 具有的权限
roles/cloudprivatecatalogproducer.manager

可查看解决方案和目录,并与 Service Catalog 用户共享目录。

  • cloudprivatecatalog.targets.get
  • cloudprivatecatalogproducer.catalogs.get
  • cloudprivatecatalogproducer.catalogs.list
  • cloudprivatecatalogproducer.targets.*
  • cloudprivatecatalogproducer.associations.*
  • cloudprivatecatalogproducer.producerCatalogs.get
  • cloudprivatecatalogproducer.producerCatalogs.list
  • cloudprivatecatalogproducer.catalogAssociations.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • resourcemanager.folders.get
  • resourcemanager.folders.list
  • resourcemanager.organizations.get

目录消费者

角色名称 说明 具有的权限
roles/cloudprivatecatalog.consumer 浏览目录。查看和启动解决方案。在目标 Google Cloud 资源(例如组织、项目或文件夹)下运行。
  • cloudprivatecatalog.targets.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list

将用户添加到 Service Catalog IAM 角色

用户、Google 网上论坛或网域必须拥有组织级层的 resourcemanager.organizations.setIamPolicy 权限才能将用户添加到 Service Catalog IAM 角色。您可以向用户或群组授予 Organization Administrator 角色 (roles/resourcemanager.organizationAdmin),从而将权限授予该用户或群组。

例如,如果您的组织既希望用户获授 Catalog Admin 角色,又希望用户可以向/从其他 Service Catalog IAM 角色中添加/删除用户和群组,那么 Organization Administrator 可以执行以下操作:

  • 为用户创建 Google 群组 (MyCompanyCatalogAdmins)。
  • 为 Google 群组 (MyCompanyCatalogAdmins) 分配 Organization Administrator 角色。
  • 为 Google 群组 (MyCompanyCatalogAdmins) 分配 Catalog Admin 角色。

在该示例中,Google 群组的成员 (MyCompanyCatalogAdmins) 可以为组织中的 IAM 角色分配用户和群组,因为群组在获授 Organization Administrator 角色时已获得 setIamPolicy 权限。新的 Catalog Administrator 加入组织时,请将其添加到 Google 群组 (MyCompanyCatalogAdmins),以便为其授予所需角色。

如需将用户、群组或网域添加到 Service Catalog IAM 角色,请按照以下步骤操作。

  1. 以组织管理员的身份登录 Google Cloud Console 的 IAM 和管理页面
    转到 Cloud Console 的“IAM 和管理”页面
  2. 从侧边菜单中选择 Cloud Private Catalog
  3. 选择要分配的角色:
    • 目录管理员
    • 目录管理者
    • 目录消费者
  4. 指定要添加的用户、群组或网域。

后续步骤