Zugriffssteuerung für Cloud Billing APIs

Google Cloud bietet mit der Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) die Möglichkeit, bestimmten Google Cloud-Ressourcen detaillierte Zugriffsrechte zuzuweisen und den unerwünschten Zugriff auf andere Ressourcen zu verhindern. Mit IAM können Sie das Sicherheitsprinzip der geringsten Berechtigung anwenden und so nur den notwendigen Zugriff auf Ressourcen gewähren.

Mit IAM können Sie durch Festlegen von IAM-Richtlinien steuern, wer (Nutzer) welchen Zugriff (Rollen) auf welche Ressourcen hat. Durch sie werden einem Nutzer bestimmte Rollen zugewiesen, mit denen wiederum gewisse Berechtigungen verknüpft sind.

Auf dieser Seite werden die Rollen der Identitäts- und Zugriffsverwaltung erläutert, die für die Cloud Billing APIs zur Verfügung stehen. Beispielsweise können Sie mit IAM einem Cloud Rechnungskonto Rollen wie Administrator, Nutzer und Projektmanager zuweisen. Eine detaillierte Beschreibung zu IAM und seinen Features finden Sie im Entwicklerhandbuch zur Identitäts- und Zugriffsverwaltung. Lesen Sie dazu insbesondere das Kapitel Zugriff erteilen, ändern und entziehen.

Berechtigungen und Rollen

Damit ein Nutzer die Details zu Cloud-Rechnungskonten in der Google Cloud Console aufrufen oder eine Cloud Billing API-Methode Informationen zu Cloud-Rechnungskonten zurückgeben kann, muss der Nutzer oder Aufrufer die erforderlichen Berechtigungen haben. In den folgenden Tabellen sind die IAM-Berechtigungen und -Rollen aufgeführt, die für jede Cloud Billing API erforderlich sind.

Erforderliche Berechtigungen für die Cloud Billing Account API

In der folgenden Tabelle sind die Berechtigungen aufgeführt, die der Aufrufer für die einzelnen Cloud Billing Account API-Methoden benötigt:

API-Methode Erforderliche Berechtigungen IAM-Rolle, die eine Berechtigung gewährt
billingAccounts.create Zum Erstellen eines Cloud-Rechnungsunterkontos muss der Aufrufer die Berechtigung billing.accounts.update im Cloud-Master-Rechnungskonto des Unterkontos haben. Abrechnungsadministrator
billingAccounts.get billing.accounts.get für ein Cloud-Rechnungskonto. Abrechnungsadministrator oder Abrechnungsbetrachter
billingAccounts.list Keine. Diese Methode gibt alle Konten zurück, auf die der Aufrufer zugreifen darf. Abrechnungsadministrator, Abrechnungsbetrachter, Abrechnungsnutzer oder Administrator für die Projektabrechnung
billingAccounts.getIamPolicy billing.accounts.getIamPolicy für ein Cloud-Rechnungskonto. Abrechnungsadministrator oder Abrechnungsbetrachter
billingAccounts.setIamPolicy billing.accounts.setIamPolicy für ein Cloud-Rechnungskonto. Abrechnungsadministrator
billingAccounts.testIamPermissions – Diese Methode wird verwendet, um die Berechtigungen eines Aufrufers für ein Cloud-Rechnungskonto zu ermitteln.
billingAccounts.patch billing.accounts.update für ein Cloud-Rechnungskonto. Abrechnungsadministrator
billingAccounts.projects.list billing.resourceAssociations.list für ein Cloud-Rechnungskonto. Abrechnungsadministrator oder Abrechnungsbetrachter
projects.getBillingInfo resourcemanager.projects.get für das Projekt.
Weitere Informationen finden Sie unter Zugriffssteuerung für Projekte.
Projektbetrachter
projects.updateBillingInfo billing.resourceAssociations.create UND resourcemanager.projects.createBillingAssignment für das Cloud-Rechnungskonto. Abrechnungsadministrator oder Abrechnungsnutzer UND Administrator für die Projektabrechnung

Erforderliche Berechtigungen für die Cloud Billing Budget API

In der folgenden Tabelle wird erläutert, welche Berechtigungen zum Aufrufen der einzelnen Cloud Billing Budget API-Methoden erforderlich sind. Außerdem werden die standardmäßigen IAM-Abrechnungsrollen aufgelistet, mit denen diese Berechtigungen automatisch gewährt werden.

API-Methode Erforderliche Berechtigung IAM-Rolle, die eine Berechtigung gewährt
GetBudget Zum Aufrufen der Details zu einem Budget benötigt der Aufrufer die Berechtigung billing.budgets.get für das Cloud-Rechnungskonto des Budgets. Abrechnungsadministrator oder Abrechnungsbetrachter
ListBudgets Der Aufrufer muss die Berechtigung billing.budgets.list für das Cloud-Rechnungskonto haben, um eine Liste der für ein Cloud-Rechnungskonto verwendeten Budgets zurückzugeben. Abrechnungsadministrator oder Abrechnungsbetrachter
CreateBudget Zum Erstellen eines neuen Budgets benötigt der Aufrufer die Berechtigung billing.budgets.create für das Cloud-Rechnungskonto des Budgets. Abrechnungsadministrator
UpdateBudget Zum Aktualisieren eines vorhandenen Budgets benötigt der Aufrufer die Berechtigung billing.budgets.update für das Cloud-Rechnungskonto des Budgets. Abrechnungsadministrator
DeleteBudget Zum Löschen eines vorhandenen Budgets benötigt der Aufrufer die Berechtigung billing.budgets.delete für das Cloud-Rechnungskonto des Budgets. Abrechnungsadministrator

Erforderliche Berechtigungen für die Cloud Billing Catalog API

Bei der Verwendung der Cloud Billing Catalog API (Liste der Dienste und der Artikelnummern) ist keine Autorisierung erforderlich, da alle von den Aufrufen zurückgegebenen Daten öffentlich sind.

Rollen

Sie erteilen den Nutzern die Berechtigungen nicht direkt, sondern weisen ihnen Rollen zu, die eine oder mehrere Berechtigungen enthalten.

Sie können für dieselbe Ressource eine oder mehrere Rollen zuweisen.

Die folgende Tabelle enthält die standardmäßigen IAM-Abrechnungsrollen, die Sie für den Zugriff auf die Cloud Billing APIs zuweisen können, eine Beschreibung der jeweiligen Rolle und die damit verbundenen Berechtigungen.

Rolle Titel Beschreibung Berechtigungen Niedrigste Ressource
roles/billing.admin Rechnungskontoadministrator Berechtigung zum Aufrufen und Verwalten aller Aspekte von Abrechnungskonten
  • billing.accounts.close
  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.getPaymentInfo
  • billing.accounts.getSpendingInformation
  • billing.accounts.getUsageExportSpec
  • billing.accounts.list
  • billing.accounts.move
  • billing.accounts.redeemPromotion
  • billing.accounts.removeFromOrganization
  • billing.accounts.reopen
  • billing.accounts.setIamPolicy
  • billing.accounts.update
  • billing.accounts.updatePaymentInfo
  • billing.accounts.updateUsageExportSpec
  • billing.budgets.*
  • billing.credits.*
  • billing.resourceAssociations.*
  • billing.subscriptions.*
  • cloudnotifications.*
  • consumerprocurement.accounts.*
  • consumerprocurement.orders.*
  • dataprocessing.groupcontrols.list
  • logging.logEntries.list
  • logging.logServiceIndexes.*
  • logging.logServices.*
  • logging.logs.list
  • logging.privateLogEntries.*
  • recommender.commitmentUtilizationInsights.*
  • recommender.usageCommitmentRecommendations.*
  • resourcemanager.projects.createBillingAssignment
  • resourcemanager.projects.deleteBillingAssignment
Rechnungskonto
roles/billing.creator Rechnungskonto-Ersteller Berechtigung zum Erstellen von Abrechnungskonten
  • billing.accounts.create
  • resourcemanager.organizations.get
Organisation
roles/billing.projectManager Administrator für die Projektabrechnung Berechtigung zum Zuweisen des Abrechnungskontos eines Projekts oder zum Deaktivieren seiner Abrechnung
  • resourcemanager.projects.createBillingAssignment
  • resourcemanager.projects.deleteBillingAssignment
Projekt
roles/billing.user Rechnungskontonutzer Berechtigung zum Verbinden von Projekten mit Abrechnungskonten
  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.list
  • billing.accounts.redeemPromotion
  • billing.credits.*
  • billing.resourceAssociations.create
Rechnungskonto
roles/billing.viewer Rechnungskonto-Betrachter Kontoinformationen und Transaktionen im Rechnungskonto aufrufen
  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.getPaymentInfo
  • billing.accounts.getSpendingInformation
  • billing.accounts.getUsageExportSpec
  • billing.accounts.list
  • billing.budgets.get
  • billing.budgets.list
  • billing.credits.*
  • billing.resourceAssociations.list
  • billing.subscriptions.get
  • billing.subscriptions.list
  • consumerprocurement.accounts.get
  • consumerprocurement.accounts.list
  • consumerprocurement.orders.get
  • consumerprocurement.orders.list
  • dataprocessing.groupcontrols.list
  • recommender.commitmentUtilizationInsights.get
  • recommender.commitmentUtilizationInsights.list
  • recommender.usageCommitmentRecommendations.get
  • recommender.usageCommitmentRecommendations.list
Rechnungskonto

Die Rollen roles/billing.projectManager und roles/billing.admin enthalten auch Berechtigungen für andere Google Cloud-Dienste.