Zugriffssteuerung mit IAM

Auf dieser Seite werden die IAM-Rollen (Identity and Access Management) und Berechtigungen beschrieben, die Sie zum Kauf und zur Verwaltung kommerzieller Produkte in Cloud Marketplace benötigen.

Mit IAM verwalten Sie die Zugriffssteuerung. Sie legen fest, wer (Identität) welchen Zugriff (Rolle) auf welche Ressource hat. Bei kommerziellen Anwendungen auf Cloud Marketplace benötigen Nutzer in Ihrer Google Cloud Organisation IAM-Rollen, um sich für Cloud Marketplace-Pläne anzumelden und Änderungen an Abrechnungstarifen vorzunehmen.

Hinweis

  • Installieren Sie die gcloud CLI, um Cloud Marketplace-Rollen und -Berechtigungen mit gcloud zu gewähren. Andernfalls können Sie Rollen mithilfe der Google Cloud Console zuweisen.

Rollen kaufen und verwalten

Wir empfehlen, die IAM-Rolle „Rechnungskontoadministrator“ Nutzern zuzuweisen, die Dienste aus Cloud Marketplace kaufen.

Nutzer, die auf die Dienste zugreifen möchten, müssen mindestens die Rolle „Betrachter“ haben.

Wenn Sie eine umfassendere Kontrolle über die Berechtigungen der Nutzer benötigen, können Sie benutzerdefinierte Rollen erstellen, deren Berechtigungen Sie erteilen möchten.

Produktspezifische Anforderungen

Wenn Sie die folgenden Dienste in einem Google Cloud Projekt verwenden möchten, benötigen Sie die Rolle „Projektbearbeiter“:

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

Liste der IAM-Rollen und -Berechtigungen

Sie können Nutzern eine oder mehrere der folgenden IAM-Rollen zuweisen. Abhängig von der Rolle, die Sie Nutzern zuweisen, müssen Sie die Rolle auch einem Google Cloud Rechnungskonto, einer Organisation oder einem Projekt zuweisen. Weitere Informationen finden Sie unter Nutzern IAM-Rollen zuweisen.

Role Permissions

(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

(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

(roles/consumerprocurement.eventsViewer)

Allows viewing key events for an offer

consumerprocurement.events.*

  • consumerprocurement.events.get
  • consumerprocurement.events.list

(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

(roles/consumerprocurement.licensePoolViewer)

Allows viewing license pools and license assignments.

consumerprocurement.licensePools.enumerateLicensedUsers

consumerprocurement.licensePools.get

(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

(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

(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

(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

Nutzern IAM-Rollen zuweisen

Aus den Rollen der vorherigen Tabelle müssen die consumerprocurement.orderAdmin und consumerprocurement.orderViewer Rollen auf Rechnungskonto- oder Organisationsebene und die consumerprocurement.entitlementManager und consumerprocurement.entitlementViewer Rollen auf Projekt oder Organisationsebene zugewiesen werden.

Führen Sie einen der folgenden Befehle aus, um Nutzern mit gcloud Rollen zuzuweisen:

Organisation

Sie benötigen die Rolle resourcemanager.organizationAdmin, um Rollen auf Organisationsebene zuzuweisen.

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

Die Platzhalterwerte sind:

  • organization-id: Die numerische ID der Organisation, der Sie die Rolle zuweisen.
  • member: Der Nutzer, dem Sie Zugriff gewähren.
  • role-id: Die Rollen-ID aus der vorherigen Tabelle.

Rechnungskonto

Sie benötigen die Rolle billing.admin, um Rollen auf Rechnungskonto-Ebene zuzuweisen.

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

Die Platzhalterwerte sind:

  • account-id: Ihre Rechnungskonto-ID, die Sie auf der Seite Rechnungskonten verwalten abrufen können.
  • policy-file: Eine IAM Richtliniendatei im JSON- oder YAML-Format. Die Richtliniendatei muss die Rollen-IDs aus der vorherigen Tabelle und die Nutzer enthalten, denen Sie die Rollen zuweisen.

Projekt

Sie benötigen die Rolle resourcemanager.folderAdmin, um Rollen auf Projektebene zuzuweisen.

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

Die Platzhalterwerte sind:

  • project-id: Das Projekt, dem Sie die Rolle zuweisen.
  • member: Der Nutzer, dem Sie Zugriff gewähren.
  • role-id: Die Rollen-ID aus der vorherigen Tabelle.

Informationen zum Zuweisen von Rollen für Nutzer mit der Google Cloud Console finden Sie in der IAM-Dokumentation unter Nutzern Zugriff auf Ressourcen erteilen, ändern und entziehen.

Benutzerdefinierte Rollen mit Cloud Marketplace verwenden

Wenn Sie die Berechtigungen, die Sie Nutzern gewähren, genau steuern möchten, können Sie benutzerdefinierte Rollen mit den Berechtigungen erstellen, die Sie gewähren möchten.

Wenn Sie eine benutzerdefinierte Rolle für Nutzer erstellen, die Dienste in Cloud Marketplace erwerben, muss die Rolle die folgenden Berechtigungen für das Rechnungskonto enthalten, mit dem sie Dienste kaufen:

Auf Partner-Websites mit Einmalanmeldung (SSO) zugreifen

Bestimmte Cloud Marketplace API-Produkte unterstützen die Einmalanmeldung (SSO) auf der externen Website eines Partners. Autorisierte Nutzer innerhalb der Organisation haben auf der Produktdetailseite Zugriff auf den Button „BEI PROVIDER VERWALTEN“. Mit diesem Button werden Nutzer auf die Website des Partners weitergeleitet. In einigen Fällen werden Nutzer aufgefordert, sich über Google anzumelden. In anderen Fällen werden die Nutzer in einem gemeinsamen Kontokontext angemeldet.

Für den Zugriff auf die SSO-Funktion rufen Nutzer die Detailseite des Produkts auf und wählen ein geeignetes Projekt aus. Das Projekt muss mit einem Rechnungskonto verknüpft sein, für das der Tarif erworben wurde. Weitere Informationen zur Verwaltung von Cloud Marketplace API-Abos finden Sie unter Abrechnungstarife verwalten.

Darüber hinaus muss der Nutzer im ausgewählten Projekt ausreichende IAM-Berechtigungen haben. Für die meisten Produkte ist die roles/consumerprocurement.entitlementManager (oder roles/editor einfache Rolle) erforderlich.

Minimale Berechtigungen für bestimmte Produkte

Die folgenden Produkte können mit unterschiedlichen Berechtigungen arbeiten, um auf SSO-Funktionen zuzugreifen:

  • Apache Kafka auf Confluent Cloud
  • DataStax Astra für Apache Cassandra
  • Elastic Cloud
  • Neo4j Aura Professional
  • Redis Enterprise Cloud

Für diese Produkte können Sie die folgenden minimalen Berechtigungen verwenden:

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

Diese Berechtigungen werden normalerweise mit den roles/consumerprocurement.entitlementManager oder roles/consumerprocurement.entitlementViewer Rollen erteilt.