使用 IAM 控管存取權

本頁說明在 Cloud Marketplace 購買及管理商業產品時,所需的 Identity and Access Management (IAM) 角色和權限。

您可以使用 IAM 定義「誰」 (身分)「有權存取」 (角色)「哪些資源」的方式,管理存取權。對於 Cloud Marketplace 上的商用應用程式, Google Cloud 機構中的使用者必須具備 IAM 角色,才能訂閱 Cloud Marketplace 方案,以及變更帳單方案。

事前準備

  • 如要使用 gcloud 授予 Cloud Marketplace 角色和權限,請安裝 gcloud CLI。否則,您可以使用 Google Cloud 控制台授予角色。

購買及管理產品的 IAM 角色

建議您將 帳單帳戶管理員 IAM 角色指派給從 Cloud Marketplace 購買服務的使用者。

如要存取服務,使用者至少必須具備「檢視者」角色。

如要更精細控管使用者的權限,您可以建立自訂角色,並授予所需權限。

產品相關規定

如要在 Google Cloud 專案中使用下列服務,您必須具備專案編輯者角色:

  • Google Cloud Dataprep by Trifacta
  • Neo4j Aura Professional

IAM 角色和權限清單

您可以授予使用者下列一或多個 IAM 角色。視您授予使用者的角色而定,您也必須將角色指派給 Google Cloud 帳單帳戶、機構或專案。詳情請參閱「向使用者授予 IAM 角色」一節。

Role Permissions

(roles/commercebusinessenablement.admin)

Admin of Various Provider Configuration resources

commercebusinessenablement.leadgenConfig.*

  • commercebusinessenablement.leadgenConfig.get
  • commercebusinessenablement.leadgenConfig.update

commercebusinessenablement.partnerAccounts.*

  • commercebusinessenablement.partnerAccounts.get
  • commercebusinessenablement.partnerAccounts.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.resellerConfig.*

  • commercebusinessenablement.resellerConfig.get
  • commercebusinessenablement.resellerConfig.update

commercebusinessenablement.resellerRestrictions.*

  • commercebusinessenablement.resellerRestrictions.list
  • commercebusinessenablement.resellerRestrictions.update

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commercebusinessenablement.paymentConfigAdmin)

Administration of Payment Configuration resource

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.paymentConfig.*

  • commercebusinessenablement.paymentConfig.get
  • commercebusinessenablement.paymentConfig.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commercebusinessenablement.paymentConfigViewer)

Viewer of Payment Configuration resource

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.paymentConfig.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commercebusinessenablement.rebatesAdmin)

Provides admin access to rebates

commercebusinessenablement.operations.*

  • commercebusinessenablement.operations.cancel
  • commercebusinessenablement.operations.delete
  • commercebusinessenablement.operations.get
  • commercebusinessenablement.operations.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.refunds.*

  • commercebusinessenablement.refunds.cancel
  • commercebusinessenablement.refunds.create
  • commercebusinessenablement.refunds.delete
  • commercebusinessenablement.refunds.get
  • commercebusinessenablement.refunds.list
  • commercebusinessenablement.refunds.start
  • commercebusinessenablement.refunds.update

(roles/commercebusinessenablement.rebatesViewer)

Provides read-only access to rebates

commercebusinessenablement.operations.get

commercebusinessenablement.operations.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.refunds.get

commercebusinessenablement.refunds.list

(roles/commercebusinessenablement.resellerDiscountAdmin)

Provides admin access to reseller discount offers

commercebusinessenablement.partnerAccounts.*

  • commercebusinessenablement.partnerAccounts.get
  • commercebusinessenablement.partnerAccounts.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.resellerConfig.get

commercebusinessenablement.resellerDiscountConfig.get

commercebusinessenablement.resellerDiscountOffers.*

  • commercebusinessenablement.resellerDiscountOffers.cancel
  • commercebusinessenablement.resellerDiscountOffers.create
  • commercebusinessenablement.resellerDiscountOffers.list

commercebusinessenablement.resellerPrivateOfferPlans.*

  • commercebusinessenablement.resellerPrivateOfferPlans.cancel
  • commercebusinessenablement.resellerPrivateOfferPlans.create
  • commercebusinessenablement.resellerPrivateOfferPlans.delete
  • commercebusinessenablement.resellerPrivateOfferPlans.get
  • commercebusinessenablement.resellerPrivateOfferPlans.list
  • commercebusinessenablement.resellerPrivateOfferPlans.publish
  • commercebusinessenablement.resellerPrivateOfferPlans.update

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commercebusinessenablement.resellerDiscountViewer)

Provides read-only access to reseller discount offers

commercebusinessenablement.partnerAccounts.*

  • commercebusinessenablement.partnerAccounts.get
  • commercebusinessenablement.partnerAccounts.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.resellerConfig.get

commercebusinessenablement.resellerDiscountConfig.get

commercebusinessenablement.resellerDiscountOffers.list

commercebusinessenablement.resellerPrivateOfferPlans.get

commercebusinessenablement.resellerPrivateOfferPlans.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/commercebusinessenablement.viewer)

Viewer of Various Provider Configuration resource

commercebusinessenablement.leadgenConfig.get

commercebusinessenablement.partnerAccounts.*

  • commercebusinessenablement.partnerAccounts.get
  • commercebusinessenablement.partnerAccounts.list

commercebusinessenablement.partnerInfo.get

commercebusinessenablement.resellerConfig.get

commercebusinessenablement.resellerRestrictions.list

resourcemanager.organizations.get

resourcemanager.projects.get

resourcemanager.projects.list

將 IAM 角色授予使用者

根據上方表格中的角色,consumerprocurement.orderAdminconsumerprocurement.orderViewer 角色必須在帳單帳戶或機構層級指派,consumerprocurement.entitlementManagerconsumerprocurement.entitlementViewer 角色則必須在專案或機構層級指派。

如要使用 gcloud 為使用者授予角色,請執行下列任一指令:

機構

您必須具備 resourcemanager.organizationAdmin 角色,才能在機構層級指派角色。

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

預留位置值如下:

  • organization-id:您要授予角色的機構數字 ID。
  • 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。

如要使用 Google Cloud 主控台向使用者授予角色,請參閱「授予、變更及撤銷使用者的存取權」一文的 IAM 說明文件。

在 Cloud Marketplace 中使用自訂角色

如果您想精細控管授予使用者的權限,可以建立自訂角色,並設定要授予的權限。

如果您要為從 Cloud Marketplace 購買服務的使用者建立自訂角色,則該角色必須為他們用於購買服務的帳單帳戶,提供下列權限:

透過單一登入 (SSO) 存取合作夥伴網站

部分市集產品支援單一登入 (SSO) 至合作夥伴的網站。機構組織內的授權使用者可使用產品詳細資料頁面上的「在供應商端管理」按鈕。這個按鈕會將使用者導向合作夥伴的網站。在某些情況下,系統會提示使用者「使用 Google 帳戶登入」。在其他情況下,使用者會登入共用帳戶的內容。

如要使用 SSO 功能,使用者必須前往產品詳細資料頁面,然後選取適當的專案。專案必須連結至購買方案的帳單帳戶。如要進一步瞭解 Marketplace 方案管理,請參閱「管理帳單方案」。

此外,使用者必須在所選專案中具備足夠的 IAM 權限。目前,大多數產品都需要 roles/consumerprocurement.entitlementManager (或 roles/editor 基本角色)。

特定產品的最低權限

下列產品可使用不同的權限組合來存取單一登入功能:

  • Confluent Cloud 上的 Apache Kafka
  • 適用於 Apache Cassandra 的 DataStax Astra
  • Elastic Cloud
  • Neo4j Aura Professional
  • Redis Enterprise Cloud

針對這些產品,您可以使用下列最低權限:

  • consumerprocurement.entitlements.get
  • consumerprocurement.entitlements.list
  • serviceusage.services.get
  • serviceusage.services.list
  • resourcemanager.projects.get

這些權限通常會透過 roles/consumerprocurement.entitlementManagerroles/consumerprocurement.entitlementViewer 角色授予。