Cloud Marketplace 的访问权限控制

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

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

准备工作

  • 要分配本指南中描述的角色和权限,请安装 Cloud SDK

负责购买和管理解决方案的 Cloud IAM 角色

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

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

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

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

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

Cloud IAM 角色和权限列表

您可以为 Google Cloud 组织中的用户分配以下一个或多个角色。如果您需要更精细地控制用户的权限,请考虑使用您要授予的权限创建自定义角色

根据您分配给用户的角色,您必须针对 Google Cloud 结算帐号、组织或项目分配角色。

了解 Google Cloud 资源的层次结构

根据下表中的角色,您必须在结算帐号级层或组织级层分配 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

占位符值如下:

项目

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

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

占位符值如下:

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

详细了解如何授予、更改和撤消用户的访问权限

角色 ID 头衔 说明 权限
consumerprocurement.orderAdminAlpha 版 Consumer Procurement Order Administrator 提供从 Cloud Marketplace 购买应用代管式服务的权限。此角色还授予用户接受非公开优惠的权限。必须在结算帐号或组织级层授予此角色。
  • consumerprocurement.orders.place
  • consumerprocurement.orders.cancel
  • consumerprocurement.orders.modify
  • consumerprocurement.orders.get
  • consumerprocurement.orders.list
  • consumerprocurement.accounts.create
  • consumerprocurement.accounts.delete
  • consumerprocurement.accounts.get
  • consumerprocurement.accounts.list
consumerprocurement.orderViewerAlpha 版 Consumer Procurement Order Viewer 提供查看为结算帐号所下的 Cloud Marketplace 订单的权限。此角色必须在结算帐号或组织级层分配。
  • consumerprocurement.orders.get
  • consumerprocurement.orders.list
  • consumerprocurement.accounts.get
  • consumerprocurement.accounts.list
consumerprocurement.entitlementManagerAlpha 版 Consumer Procurement Entitlement Manager 提供启用或停用结算方案以及注册免费试用的权限。此角色必须在项目级层分配。
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.operations.get
  • serviceusage.services.enable
  • serviceusage.services.disable
  • serviceusage.services.get
  • serviceusage.services.list
  • consumerprocurement.entitlements.get
  • consumerprocurement.entitlements.list
  • consumerprocurement.freeTrials.create
  • consumerprocurement.freeTrials.get
  • consumerprocurement.freeTrials.list
consumerprocurement.entitlementViewerAlpha 版 Consumer Procurement Entitlement Viewer 提供查看项目的 Cloud Marketplace 结算方案的权限。此角色必须在项目级层或组织级层分配。
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.services.get
  • serviceusage.services.list
  • consumerprocurement.entitlements.get
  • consumerprocurement.entitlements.list
  • consumerprocurement.freeTrials.get
  • consumerprocurement.freeTrials.list