使用 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
  • Redis Enterprise Cloud

身分與存取權管理角色和權限清單

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

Role Permissions

(roles/commercebusinessenablement.admin)

Admin of Various Provider Configuration resources

bigquery.datasets.create

bigquery.datasets.get

bigquery.datasets.update

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

serviceusage.operations.get

serviceusage.services.enable

serviceusage.services.get

(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 購買服務的使用者建立自訂角色,該角色必須包含下列權限,才能使用購買服務的帳單帳戶:

  • billing.accounts.get,通常會透過「roles/consumerprocurement.orderAdmin角色授予。
  • consumerprocurement.orders.get,通常會透過「roles/consumerprocurement.orderAdmin角色授予。
  • consumerprocurement.orders.list,通常會透過「roles/consumerprocurement.orderAdmin角色授予。
  • consumerprocurement.orders.place,通常會透過「roles/consumerprocurement.orderAdmin角色授予。
  • consumerprocurement.accounts.get,通常會透過「roles/consumerprocurement.orderAdmin角色授予。
  • consumerprocurement.accounts.list,通常會透過「roles/consumerprocurement.orderAdmin角色授予。
  • consumerprocurement.accounts.create,通常會透過「roles/consumerprocurement.orderAdmin角色授予。
  • consumerprocurement.consents.grant,通常會透過「roles/consumerprocurement.orderAdmin角色授予。

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

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

如要存取單一登入功能,使用者請前往產品詳細資料頁面,然後選取適當的專案。專案必須連結至已購買方案的帳單帳戶。如要瞭解如何管理 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 角色授予。