Cloud Marketplace 的访问权限控制

本页面介绍在 Cloud Marketplace 上购买和管理商业解决方案所需的 Identity and Access Management (IAM) 角色和权限。

借助 IAM,您可以通过定义谁(身份)对哪些资源具有哪种访问权限(角色)来管理访问权限控制。对于 Cloud Marketplace 上的商业应用,您的 Google Cloud 组织中的用户需要 IAM 角色,才能注册 Cloud Marketplace 方案和更改结算方案。

准备工作

  • 如需使用 gcloud 授予 Cloud Marketplace 角色和权限,请安装 Cloud SDK。否则,您可以使用 Cloud Console 授予角色。

用于购买和管理解决方案的 IAM 角色

我们建议您为从 Cloud Marketplace 购买服务的用户分配 Billing Administrator (roles/billing.admin) IAM 角色。

用户如需访问这些服务,必须至少具有 Project Viewer (roles/viewer) 角色。

如果您需要更精细地控制用户权限,则可以使用要授予的权限创建自定义角色

IAM 角色和权限列表

您可以为用户授予以下一个或多个 IAM 角色。根据您向用户授予的角色,您还必须将角色分配给 Google Cloud 结算帐号、组织或项目。如需了解详情,请参阅向用户授予 IAM 角色部分。

角色 名称 说明 权限 最低资源要求
roles/consumerprocurement.entitlementManager Consumer Procurement Entitlement Manager Beta 版 允许管理使用方项目的授权,启用、停用使用方项目以及检查其服务状态。
  • consumerprocurement.entitlements.*
  • consumerprocurement.freeTrials.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.operations.get
  • serviceusage.services.disable
  • serviceusage.services.enable
  • serviceusage.services.get
  • serviceusage.services.list
roles/consumerprocurement.entitlementViewer Consumer Procurement Entitlement Viewer Beta 版 允许检查使用方项目的授权和服务状态。
  • consumerprocurement.entitlements.*
  • consumerprocurement.freeTrials.get
  • consumerprocurement.freeTrials.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.services.get
  • serviceusage.services.list
roles/consumerprocurement.orderAdmin Consumer Procurement Order Administrator Beta 版 允许管理购买交易。
  • consumerprocurement.accounts.*
  • consumerprocurement.orders.*
roles/consumerprocurement.orderViewer Consumer Procurement Order Viewer Beta 版 允许检查购买交易。
  • consumerprocurement.accounts.get
  • consumerprocurement.accounts.list
  • consumerprocurement.orders.get
  • consumerprocurement.orders.list

向用户授予 IAM 角色

对于上中的角色,您必须在结算帐号或组织级层分配 consumerprocurement.orderAdminconsumerprocurement.orderViewer 角色,必须在项目或组织级层分配 consumerprocurement.entitlementManagerconsumerprocurement.entitlementViewer 角色。

如需使用 gcloud 为用户授予角色,请运行以下命令之一:

组织

您必须具有 resourcemanager.organizationAdmin 角色才能在组织级层分配角色。

gcloud organizations add-iam-policy-binding org-name \
--member=member --role=role-id

占位符值如下:

  • org-name:要为其授予角色的组织。
  • member:要向其授予访问权限的用户。
  • role-id:上表中的角色 ID。

结算帐号

您必须具有 billing.admin 角色才能在结算帐号级层分配角色。

gcloud beta billing accounts set-iam-policy account-id \
policy-file

占位符值如下:

  • account-id:您的结算帐号 ID,您可以从“管理结算帐号”页面获得。
  • policy-fileIAM 政策文件,采用 JSON 或 YAML 格式。政策文件必须包含上表中的角色 ID,以及要为其分配这些角色的用户。

项目

您必须具有 resourcemanager.folderAdmin 角色才能在项目级层分配角色。

gcloud projects add-iam-policy-binding project-id \
--member=member --role=role-id

占位符值如下:

  • project-id:要为其授予角色的项目。
  • member:要向其授予访问权限的用户。
  • role-id:上表中的角色 ID。

要使用 Cloud Console 向用户授予角色,请参阅关于授予、更改和撤消用户的访问权限的 IAM 文档。

将自定义角色与 Cloud Marketplace 搭配使用

如果您想精细控制您授予用户的权限,您可以使用授予的权限创建自定义角色

如果您要为从 Cloud Marketplace 购买服务的用户创建自定义角色,该角色必须包含以下权限: