Kontrol akses dengan IAM

Halaman ini menjelaskan peran dan izin Identity and Access Management (IAM) yang Anda perlukan untuk membeli dan mengelola produk komersial di Cloud Marketplace.

Dengan IAM, Anda dapat mengelola kontrol akses dengan menentukan siapa (identitas) yang memiliki akses apa (peran) untuk resource yang mana. Untuk aplikasi komersial di Cloud Marketplace, pengguna di organisasi Anda memerlukan peran IAM untuk mendaftar ke paket Cloud Marketplace, dan untuk melakukan perubahan pada paket penagihan. Google Cloud

Sebelum memulai

  • Untuk memberikan peran dan izin Cloud Marketplace menggunakan gcloud, instal the gcloud CLI. Jika tidak, Anda dapat memberikan peran menggunakan Google Cloud konsol.

Peran IAM untuk membeli dan mengelola produk

Sebaiknya tetapkan peran IAM Billing Account Administrator kepada pengguna yang membeli layanan dari Cloud Marketplace.

Pengguna yang ingin mengakses layanan harus memiliki peran Viewer, minimal.

Untuk kontrol yang lebih terperinci atas izin pengguna, Anda dapat membuat peran khusus dengan izin yang ingin Anda berikan.

Persyaratan khusus produk

Untuk menggunakan layanan berikut di Google Cloud project, Anda harus memiliki peran Project Editor:

  • Google Cloud Dataprep by Trifacta
  • Neo4j Aura Professional
  • Redis Enterprise Cloud

Daftar peran dan izin IAM

Anda dapat memberikan satu atau beberapa peran IAM berikut kepada pengguna. Bergantung pada peran yang Anda berikan kepada pengguna, Anda juga harus menetapkan peran ke Google Cloud akun penagihan, organisasi, atau project. Untuk mengetahui detailnya, lihat bagian tentang Memberikan peran IAM kepada pengguna.

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.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

(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

Memberikan peran IAM kepada pengguna

Dari peran dalam tabel di atas, peran consumerprocurement.orderAdmin dan consumerprocurement.orderViewer harus ditetapkan di tingkat akun penagihan atau organisasi, dan peran consumerprocurement.entitlementManager dan consumerprocurement.entitlementViewer harus ditetapkan di tingkat project atau organisasi.

Untuk memberikan peran kepada pengguna menggunakan gcloud, jalankan salah satu perintah berikut:

Organisasi

Anda harus memiliki resourcemanager.organizationAdmin peran untuk menetapkan peran di tingkat organisasi.

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

Nilai placeholder-nya adalah:

  • organization-id: ID numerik organisasi yang Anda berikan perannya.
  • member: Pengguna yang Anda berikan akses.
  • role-id: ID peran, dari tabel sebelumnya.

Akun penagihan

Anda harus memiliki billing.admin peran untuk menetapkan peran di tingkat akun penagihan.

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

Nilai placeholder-nya adalah:

  • account-id: ID akun penagihan Anda, yang dapat Anda peroleh dari halaman Kelola akun penagihan.
  • policy-file: File kebijakan IAM, dalam format JSON atau YAML. File kebijakan harus berisi ID peran dari tabel sebelumnya, dan pengguna yang Anda tetapkan perannya.

Project

Anda harus memiliki resourcemanager.folderAdmin peran untuk menetapkan peran di tingkat project.

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

Nilai placeholder-nya adalah:

  • project-id: Project yang Anda berikan perannya.
  • member: Pengguna yang Anda berikan akses.
  • role-id: ID peran, dari tabel sebelumnya.

Untuk memberikan peran kepada pengguna menggunakan konsol, lihat dokumentasi IAM tentang Memberikan, mengubah, dan mencabut akses untuk pengguna. Google Cloud

Menggunakan peran khusus dengan Cloud Marketplace

Jika menginginkan kontrol terperinci atas izin yang Anda berikan kepada pengguna, Anda dapat membuat peran khusus dengan izin yang ingin Anda berikan.

Jika Anda membuat peran khusus untuk pengguna yang membeli layanan dari Cloud Marketplace, peran tersebut harus menyertakan izin ini untuk akun penagihan yang mereka gunakan untuk membeli layanan:

Mengakses situs partner dengan Single Sign-on (SSO)

Produk Marketplace tertentu mendukung Single Sign-on (SSO) ke situs eksternal partner. Pengguna yang diberi otorisasi dalam organisasi memiliki akses ke tombol "KELOLA DI PENYEDIA" di halaman detail produk. Tombol ini mengarahkan pengguna ke situs partner. Dalam beberapa kasus, pengguna akan diminta untuk "Login dengan Google". Dalam kasus lain, pengguna akan login dalam konteks akun bersama.

Untuk mengakses kemampuan SSO, pengguna harus membuka halaman detail produk, lalu memilih project yang sesuai. Project harus ditautkan ke akun penagihan tempat paket telah dibeli. Untuk mengetahui detail tentang pengelolaan paket Marketplace, lihat Mengelola paket penagihan.

Selain itu, pengguna harus memiliki izin IAM yang memadai dalam project yang dipilih. Untuk sebagian besar produk, roles/consumerprocurement.entitlementManager (atau roles/editor peran dasar) saat ini diperlukan.

Izin minimum untuk produk tertentu

Produk berikut dapat beroperasi pada kumpulan izin yang berbeda untuk mengakses kemampuan SSO:

  • Apache Kafka di Confluent Cloud
  • DataStax Astra untuk Apache Cassandra
  • Elastic Cloud
  • Neo4j Aura Professional
  • Redis Enterprise Cloud

Untuk produk ini, Anda dapat menggunakan izin minimum berikut:

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

Izin ini biasanya diberikan dengan peran roles/consumerprocurement.entitlementManager atau roles/consumerprocurement.entitlementViewer.