このページでは、Cloud Marketplace で商用プロダクトを購入して管理するために必要な Identity and Access Management(IAM)のロールと権限について説明します。
IAM では、誰 (ID)がどのリソース に対してどのようなアクセス権 (ロール)を持つかを定義することにより、アクセス制御を管理します。Cloud Marketplace 上の商用アプリの場合、 Google Cloud 組織のユーザーは、Cloud Marketplace プランへの登録および料金プランの変更を行うために IAM ロールが必要です。
始める前に
gcloud を使用して Cloud Marketplace のロールと権限を付与するには、gcloud CLI をインストールします。それ以外の場合は、 Google Cloud コンソールを使用してロールを付与できます。
ロールの購入と管理
Cloud Marketplace からサービスを購入するユーザーには、請求先アカウント管理者 IAM ロールを割り当てることをおすすめします。
サービスにアクセスするユーザーには、少なくとも閲覧者 のロールが必要です。
ユーザー権限をきめ細かく制御するには、付与する権限を使用してカスタムロールを作成 します。
プロダクト固有の要件
Google Cloud プロジェクトで次のサービスを使用するには、プロジェクト編集者 のロールが必要です。
Google Cloud Dataprep by Trifacta
Neo4j Aura Professional
Redis Enterprise Cloud
IAM のロールと権限のリスト
次の IAM ロールの 1 つまたは複数をユーザーに付与できます。ユーザーに付与するロールに応じて、 Google Cloud 請求先アカウント、組織、プロジェクトにもロールを割り当てる必要があります。詳細については、ユーザーに IAM ロールを付与する をご覧ください。
Role
Permissions
Consumer Procurement Entitlement Manager
(roles/consumerprocurement.entitlementManager )
Allows managing entitlements and enabling, disabling, and inspecting service states for a consumer
project.
commerceoffercatalog.offers.get
consumerprocurement.consents.check
consumerprocurement.consents.grant
consumerprocurement.consents.list
consumerprocurement.consents.revoke
consumerprocurement.entitlements.*
consumerprocurement.entitlements.get
consumerprocurement.entitlements.list
consumerprocurement.freeTrials.*
consumerprocurement.freeTrials.create
consumerprocurement.freeTrials.get
consumerprocurement.freeTrials.list
orgpolicy.policy.get
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.consumerpolicy.*
serviceusage.consumerpolicy.analyze
serviceusage.consumerpolicy.get
serviceusage.consumerpolicy.update
serviceusage.effectivepolicy.get
serviceusage.groups.*
serviceusage.groups.list
serviceusage.groups.listExpandedMembers
serviceusage.groups.listMembers
serviceusage.operations.get
serviceusage.services.disable
serviceusage.services.enable
serviceusage.services.get
serviceusage.services.list
serviceusage.values.test
Consumer Procurement Entitlement Viewer
(roles/consumerprocurement.entitlementViewer )
Allows inspecting entitlements and service states for a consumer project.
commerceoffercatalog.offers.get
consumerprocurement.consents.check
consumerprocurement.consents.list
consumerprocurement.entitlements.*
consumerprocurement.entitlements.get
consumerprocurement.entitlements.list
consumerprocurement.freeTrials.get
consumerprocurement.freeTrials.list
orgpolicy.policy.get
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.consumerpolicy.analyze
serviceusage.consumerpolicy.get
serviceusage.effectivepolicy.get
serviceusage.groups.*
serviceusage.groups.list
serviceusage.groups.listExpandedMembers
serviceusage.groups.listMembers
serviceusage.services.get
serviceusage.services.list
serviceusage.values.test
Consumer Procurement Events Viewer
(roles/consumerprocurement.eventsViewer )
Allows viewing key events for an offer
consumerprocurement.events.*
consumerprocurement.events.get
consumerprocurement.events.list
Consumer Procurement License Pool Editor
(roles/consumerprocurement.licensePoolEditor )
Allows managing license pools and license assignments.
consumerprocurement.licensePools.*
consumerprocurement.licensePools.assign
consumerprocurement.licensePools.enumerateLicensedUsers
consumerprocurement.licensePools.get
consumerprocurement.licensePools.unassign
consumerprocurement.licensePools.update
Consumer Procurement License Pool Viewer
(roles/consumerprocurement.licensePoolViewer )
Allows viewing license pools and license assignments.
consumerprocurement.licensePools.enumerateLicensedUsers
consumerprocurement.licensePools.get
Consumer Procurement Order Administrator
(roles/consumerprocurement.orderAdmin )
Allows managing purchases.
billing.accounts.get
billing.accounts.getIamPolicy
billing.accounts.list
billing.accounts.redeemPromotion
billing.credits.list
billing.resourceAssociations.create
commerceoffercatalog.*
commerceoffercatalog.agreements.get
commerceoffercatalog.agreements.list
commerceoffercatalog.documents.get
commerceoffercatalog.documents.list
commerceoffercatalog.offers.get
consumerprocurement.accounts.*
consumerprocurement.accounts.create
consumerprocurement.accounts.delete
consumerprocurement.accounts.get
consumerprocurement.accounts.list
consumerprocurement.consents.check
consumerprocurement.consents.grant
consumerprocurement.consents.list
consumerprocurement.consents.revoke
consumerprocurement.events.*
consumerprocurement.events.get
consumerprocurement.events.list
consumerprocurement.licensePools.*
consumerprocurement.licensePools.assign
consumerprocurement.licensePools.enumerateLicensedUsers
consumerprocurement.licensePools.get
consumerprocurement.licensePools.unassign
consumerprocurement.licensePools.update
consumerprocurement.orderAttributions.*
consumerprocurement.orderAttributions.get
consumerprocurement.orderAttributions.list
consumerprocurement.orderAttributions.update
consumerprocurement.orders.*
consumerprocurement.orders.cancel
consumerprocurement.orders.get
consumerprocurement.orders.list
consumerprocurement.orders.modify
consumerprocurement.orders.place
discoveryengine.billingAccountLicenseConfigs.*
discoveryengine.billingAccountLicenseConfigs.distribute
discoveryengine.billingAccountLicenseConfigs.get
discoveryengine.billingAccountLicenseConfigs.list
discoveryengine.billingAccountLicenseConfigs.retract
Consumer Procurement Order Viewer
(roles/consumerprocurement.orderViewer )
Allows inspecting purchases.
billing.accounts.get
billing.accounts.getIamPolicy
billing.accounts.list
billing.credits.list
commerceoffercatalog.*
commerceoffercatalog.agreements.get
commerceoffercatalog.agreements.list
commerceoffercatalog.documents.get
commerceoffercatalog.documents.list
commerceoffercatalog.offers.get
consumerprocurement.accounts.get
consumerprocurement.accounts.list
consumerprocurement.consents.check
consumerprocurement.consents.list
consumerprocurement.licensePools.enumerateLicensedUsers
consumerprocurement.licensePools.get
consumerprocurement.orderAttributions.get
consumerprocurement.orderAttributions.list
consumerprocurement.orders.get
consumerprocurement.orders.list
discoveryengine.billingAccountLicenseConfigs.get
discoveryengine.billingAccountLicenseConfigs.list
Consumer Procurement Administrator
(roles/consumerprocurement.procurementAdmin )
Allows managing purchases, consents at both billing account and project level.
billing.accounts.get
billing.accounts.getIamPolicy
billing.accounts.list
billing.accounts.redeemPromotion
billing.credits.list
billing.resourceAssociations.create
commerceoffercatalog.*
commerceoffercatalog.agreements.get
commerceoffercatalog.agreements.list
commerceoffercatalog.documents.get
commerceoffercatalog.documents.list
commerceoffercatalog.offers.get
consumerprocurement.*
consumerprocurement.accounts.create
consumerprocurement.accounts.delete
consumerprocurement.accounts.get
consumerprocurement.accounts.list
consumerprocurement.consents.allowProjectGrant
consumerprocurement.consents.check
consumerprocurement.consents.grant
consumerprocurement.consents.list
consumerprocurement.consents.revoke
consumerprocurement.entitlements.get
consumerprocurement.entitlements.list
consumerprocurement.events.get
consumerprocurement.events.list
consumerprocurement.freeTrials.create
consumerprocurement.freeTrials.get
consumerprocurement.freeTrials.list
consumerprocurement.licensePools.assign
consumerprocurement.licensePools.enumerateLicensedUsers
consumerprocurement.licensePools.get
consumerprocurement.licensePools.unassign
consumerprocurement.licensePools.update
consumerprocurement.orderAttributions.get
consumerprocurement.orderAttributions.list
consumerprocurement.orderAttributions.update
consumerprocurement.orders.cancel
consumerprocurement.orders.get
consumerprocurement.orders.list
consumerprocurement.orders.modify
consumerprocurement.orders.place
discoveryengine.billingAccountLicenseConfigs.*
discoveryengine.billingAccountLicenseConfigs.distribute
discoveryengine.billingAccountLicenseConfigs.get
discoveryengine.billingAccountLicenseConfigs.list
discoveryengine.billingAccountLicenseConfigs.retract
orgpolicy.policy.get
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.consumerpolicy.*
serviceusage.consumerpolicy.analyze
serviceusage.consumerpolicy.get
serviceusage.consumerpolicy.update
serviceusage.effectivepolicy.get
serviceusage.groups.*
serviceusage.groups.list
serviceusage.groups.listExpandedMembers
serviceusage.groups.listMembers
serviceusage.operations.get
serviceusage.services.disable
serviceusage.services.enable
serviceusage.services.get
serviceusage.services.list
serviceusage.values.test
Consumer Procurement Viewer
(roles/consumerprocurement.procurementViewer )
Allows inspecting purchases, consents and entitlements and service states for a consumer project.
billing.accounts.get
billing.accounts.getIamPolicy
billing.accounts.list
billing.credits.list
commerceoffercatalog.*
commerceoffercatalog.agreements.get
commerceoffercatalog.agreements.list
commerceoffercatalog.documents.get
commerceoffercatalog.documents.list
commerceoffercatalog.offers.get
consumerprocurement.accounts.get
consumerprocurement.accounts.list
consumerprocurement.consents.check
consumerprocurement.consents.list
consumerprocurement.entitlements.*
consumerprocurement.entitlements.get
consumerprocurement.entitlements.list
consumerprocurement.freeTrials.get
consumerprocurement.freeTrials.list
consumerprocurement.licensePools.enumerateLicensedUsers
consumerprocurement.licensePools.get
consumerprocurement.orderAttributions.get
consumerprocurement.orderAttributions.list
consumerprocurement.orders.get
consumerprocurement.orders.list
discoveryengine.billingAccountLicenseConfigs.get
discoveryengine.billingAccountLicenseConfigs.list
orgpolicy.policy.get
resourcemanager.projects.get
resourcemanager.projects.list
serviceusage.consumerpolicy.analyze
serviceusage.consumerpolicy.get
serviceusage.effectivepolicy.get
serviceusage.groups.*
serviceusage.groups.list
serviceusage.groups.listExpandedMembers
serviceusage.groups.listMembers
serviceusage.services.get
serviceusage.services.list
serviceusage.values.test
ユーザーに IAM ロールを付与する
前のテーブル のロールから、consumerprocurement.orderAdmin ロールと consumerprocurement.orderViewer ロールは請求先アカウント レベルまたは組織レベルで割り当てる必要があります。consumerprocurement.entitlementManager ロールと consumerprocurement.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-file : JSON または YAML 形式の IAM ポリシー ファイル 。ポリシー ファイルには、前のテーブルのロール 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)を使用してパートナー ウェブサイトにアクセスする
一部の Cloud Marketplace API プロダクトでは、パートナーの外部ウェブサイトへのシングル サインオン(SSO)がサポートされています。組織内の承認済みユーザーは、プロダクトの詳細ページの [プロバイダで管理] ボタンにアクセスできます。このボタンを使用すると、ユーザーはパートナーのウェブサイトに移動します。ユーザーが「Google でログイン」を求められることがあります。それ以外の場合、ユーザーは共有アカウントのコンテキストでログインします。
SSO 機能にアクセスするには、プロダクトの詳細ページに移動し、適切なプロジェクトを選択します。プロジェクトは、プランを購入した請求先アカウントにリンクされている必要があります。Cloud Marketplace API プランの管理の詳細については、料金プランの管理 をご覧ください。
さらに、選択したプロジェクト内で十分な IAM 権限を持っている必要があります。ほとんどのプロダクトでは、roles/consumerprocurement.entitlementManager (または roles/editor
基本ロール )が必要です。
特定のプロダクトの最小権限
次のプロダクトは異なる権限セットで動作して、SSO 機能にアクセスできます。
Apache Kafka on Confluent Cloud
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.entitlementManager または roles/consumerprocurement.entitlementViewer のロールが付与されます。