Zugriffssteuerung mit IAM

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

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

Hinweis

  • Wenn Sie Cloud Marketplace-Rollen und -Berechtigungen mit gcloud gewähren möchten, installieren Sie die gcloud CLI. Andernfalls können Sie Rollen über die Google Cloud Console zuweisen.

Rollen kaufen und verwalten

Wir empfehlen, Nutzern, die Dienste über Cloud Marketplace erwerben, die IAM-Rolle Billing Account Administrator zuzuweisen.

Nutzer, die auf die Dienste zugreifen möchten, benötigen mindestens die Rolle Betrachter.

Administratorzugriff für OAuth 2.0 und Domainbestätigung

Wenn für Ihre Marketplace-Lösung eine OAuth 2.0-Überprüfung oder eine Konfiguration auf Domainebene erforderlich ist (z. B. für die SaaS-Integration), benötigen Sie Administratorberechtigungen, um die Identitäts- und Sicherheitseinstellungen des Projekts zu verwalten.

Szenario Erforderliche Berechtigung oder Rolle Aktion
Administratorzugriff wiederherstellen roles/resourcemanager.organizationAdmin Weisen Sie diese Rolle auf Organisationsebene zu, um Projektinhaber zu verwalten.
Autorisierte Domains bestätigen roles/cloudsecurityscanner.editor Verwenden Sie diese Rolle, um die Websicherheit und domainbezogene Konfigurationen zu verwalten.
OAuth-Überprüfung verwalten roles/owner oder roles/editor Konfigurieren Sie den OAuth-Zustimmungsbildschirm und reichen Sie das Branding zur Überprüfung ein.

Um häufige Bestätigungsprobleme wie „Domain nicht gefunden“ oder nicht reagierende Startseiten-URLs zu beheben, muss Ihre Domain in der Search Console bestätigt und Ihre Datenschutzerklärung öffentlich zugänglich sein. Weitere Informationen zur Identitätsbestätigung finden Sie unter Identität bestätigen.

Wenn Sie die Berechtigungen von Nutzern genauer steuern möchten, können Sie benutzerdefinierte Rollen mit den gewünschten Berechtigungen erstellen.

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. Je nachdem, welche Rolle Sie Nutzern zuweisen, müssen Sie die Rolle auch einem Google Cloud Rechnungskonto, einer Organisation oder einem Projekt zuweisen. Weitere Informationen finden Sie im Abschnitt 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.catalogs.listMembers

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

serviceusage.services.listDependentServices

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

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

serviceusage.services.listDependentServices

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

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

serviceusage.services.listDependentServices

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

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

serviceusage.services.listDependentServices

serviceusage.values.test

Nutzern IAM-Rollen zuweisen

Von den Rollen in der vorherigen Tabelle müssen die Rollen consumerprocurement.orderAdmin und consumerprocurement.orderViewer auf Rechnungskonto- oder Organisationsebene und die Rollen consumerprocurement.entitlementManager und consumerprocurement.entitlementViewer 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, für die 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 finden.
  • 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 über die Google Cloud Console finden Sie in der IAM-Dokumentation unter Zugriff für Nutzer gewähren, ä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 gewünschten Berechtigungen erstellen.

Wenn Sie eine benutzerdefinierte Rolle für Nutzer erstellen, die Dienste im Cloud Marketplace kaufen, muss die Rolle die folgenden Berechtigungen für das Rechnungskonto enthalten, das sie zum Kauf von Diensten verwenden:

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-Tarifen finden Sie unter Abrechnungstarife verwalten.

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

Minimale Berechtigungen für bestimmte Produkte

Die folgenden Produkte können mit anderen Berechtigungen auf SSO-Funktionen zugreifen:

  • Apache Kafka in 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 in der Regel mit den Rollen roles/consumerprocurement.entitlementManager oder roles/consumerprocurement.entitlementViewer gewährt.