Anleitung zur Zugriffssteuerung

In Stackdriver Logging wird mithilfe von Cloud Identity and Access Management der Zugriff auf Logging-Daten in Projekten, Organisationen, Ordnern und Rechnungskonten gesteuert.

Übersicht

Cloud IAM-Berechtigungen und -Rollen bestimmen, wie Sie die Logging API und die Loganzeige verwenden können.

Eine Cloud IAM-Rolle ist eine Sammlung von Berechtigungen. Sie weisen diese Rollen Mitgliedern zu. Sie können einem Mitglied keine Berechtigung direkt zuweisen. Stattdessen weisen Sie ihnen eine Rolle zu, die ihnen alle Berechtigungen gewährt, die in der Rolle enthalten sind.

Log-Daten befinden sich in folgenden Ressourcentypen: Projekte, Organisationen, Ordner und Rechnungskonten. Jede dieser Ressourcen kann ihre eigenen Mitglieder mit eigenen Logging-Rollen haben.

Ein Mitglied muss eine Cloud IAM-Rolle mit den entsprechenden Berechtigungen haben, um Log-Daten aus Stackdriver Logging innerhalb einer Ressource zu erstellen oder zu verwenden. Eine Liste aller Cloud IAM-Rollen und -Berechtigungen finden Sie unten:

  • roles/logging.viewer (Loganzeige) bietet Mitgliedern Lesezugriff auf alle Funktionen von Logging mit Ausnahme der Berechtigung zum Lesen privater Logs.

  • roles/logging.privateLogViewer (Betrachter privater Logs) bietet Mitgliedern zusätzlich zu den Berechtigungen von roles/logging.viewer die Berechtigung zum Lesen privater Logs.

  • roles/logging.logWriter (Logautor) kann Mitgliedern gewährt werden, die Dienstkonten darstellen, und gewährt ihnen nur so viele Berechtigungen, dass sie Logs schreiben können. Diese Rolle berechtigt nicht zum Zugriff auf die Loganzeige.

  • roles/logging.configWriter (Autor von Logkonfigurationen) gibt Mitgliedern die Berechtigung, auf Logs basierende Messwerte und Exportsenken zu erstellen. Fügen Sie die Rolle roles/logging.viewer hinzu, um die Loganzeige zu verwenden.

  • roles/logging.admin (Logging-Administrator) gibt Mitgliedern alle Berechtigungen für Logging. Eine vollständige Liste dieser Berechtigungen finden Sie unter API-Berechtigungen.

  • roles/viewer (Projektbetrachter) gewährt Mitgliedern auf Projektebene die gleichen Berechtigungen wie roles/logging.viewer. Beachten Sie, dass beim Gewähren dieser Rolle die enthaltenen Berechtigungen auf Projektebene auf die meisten GCP-Dienste angewendet werden und nicht auf die Nutzung von Logging beschränkt sind.

  • roles/editor (Projektbearbeiter) gibt Mitgliedern zusätzlich zu den Berechtigungen von roles/logging.viewer die Berechtigungen, auf Projektebene Logeinträge zu schreiben, Logs zu löschen und auf Logs basierende Messwerte zu erstellen. Sie können mit dieser Rolle weder Exportsenken erstellen noch private Logs lesen. Beachten Sie, dass beim Gewähren dieser Rolle die enthaltenen Berechtigungen auf Projektebene auf die meisten GCP-Dienste angewendet werden und nicht auf die Nutzung von Logging beschränkt sind.

  • roles/owner (Projektinhaber) bietet Ihnen uneingeschränkten Zugriff auf Logging, einschließlich privater Logs. Beachten Sie, dass beim Gewähren dieser Rolle die enthaltenen Berechtigungen auf Projektebene auf die meisten GCP-Dienste angewendet werden und nicht auf die Nutzung von Logging beschränkt sind.

Audit-Logs für den Datenzugriff, mit Ausnahme von BigQuery Audit-Logs für den Datenzugriff, sind die einzigen "privaten Logs". Ein Mitglied benötigt spezielle Berechtigungen, die umfassender sind als Leseberechtigungen, um diese zu lesen.

Weitere Informationen zu den Rollen und Berechtigungen in Logging finden Sie auf dieser Seite unter Berechtigungen und Rollen.

API-Berechtigungen

Für Logging API-Methoden sind spezielle Cloud IAM-Berechtigungen erforderlich. In der folgenden Tabelle finden Sie die für die API-Methoden notwendigen Berechtigungen.

Logging-Methode Erforderliche Berechtigung Ressourcentyp
billingAccounts.logs.* logging.logs.* (siehe projects.logs.*) Rechnungskonten
billingAccounts.sinks.* logging.sinks.* (siehe projects.sinks.*.) Rechnungskonten
entries.list logging.logEntries.list oder
logging.privateLogEntries.list
Projekte, Organisationen,
Ordner, Rechnungskonten
entries.write logging.logEntries.create Projekte, Organisationen,
Ordner, Rechnungskonten
folders.logs.* logging.logs.* (siehe projects.logs.*) Ordner
folders.sinks.* logging.sinks.* (siehe projects.sinks.*) Ordner
monitoredResourceDescriptors.list (keine) (keine)
organizations.logs.* logging.logs.* (siehe projects.logs.*) Organisationen
organizations.sinks.* logging.sinks.* (siehe projects.sinks.*) Organisationen
projects.exclusions.create logging.exclusions.create Projekte
projects.exclusions.delete logging.exclusions.delete Projekte
projects.exclusions.get logging.exclusions.get Projekte
projects.exclusions.list logging.exclusions.list Projekte
projects.exclusions.patch logging.exclusions.<b>update<b> Projekte
projects.logs.list logging.logs.list Projekte
projects.logs.delete logging.logs.delete Projekte
projects.sinks.list logging.sinks.list Projekte
projects.sinks.get logging.sinks.get Projekte
projects.sinks.create logging.sinks.create Projekte
projects.sinks.update logging.sinks.update Projekte
projects.sinks.delete logging.sinks.delete Projekte
projects.metrics.list logging.logMetrics.list Projekte
projects.metrics.get logging.logMetrics.get Projekte
projects.metrics.create logging.logMetrics.create Projekte
projects.metrics.update logging.logMetrics.update Projekte
projects.metrics.delete logging.logMetrics.delete Projekte

Berechtigungen und Rollen

In der folgenden Tabelle sind die Cloud IAM-Rollen aufgeführt, die Zugriff auf Stackdriver Logging gewähren. Jede Rolle verfügt über einen bestimmten Satz an Logging-Berechtigungen. Rollen können Mitgliedern der aufgelisteten Ressourcentypen zugewiesen werden.

Dabei steht a.b.{x,y} für a.b.x und a.b.y.

Rollenname Rollentitel Logging-Berechtigungen Ressourcentyp
roles/
logging.viewer
Log-Anzeige logging.logEntries.list
logging.logMetrics.{list, get}
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.sinks.{list, get}
logging.usage.get
resourcemanager.projects.get
Projekt, Organisation,
Ordner, Rechnungskonto
roles/
logging.privateLogViewer
Betrachter privater Logs Berechtigung roles/logging.viewer plus
logging.privateLogEntries.list
Projekt, Organisation,
Ordner, Rechnungskonto
roles/
logging.logWriter
Log-Autor logging.logEntries.create Projekt, Organisation,
Ordner, Rechnungskonto
roles/
logging.configWriter
Autor von Log-Konfigurationen logging.exclusions.{list, create, get, update, delete}
logging.logMetrics.{list, create, get, update, delete}
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.sinks.{list, create, get, update, delete}
resourcemanager.projects.get
Projekt, Organisation,
Ordner, Rechnungskonto
roles/
logging.admin
Logging-Administrator logging.exclusions.{list, create, get, update, delete}
logging.logEntries.create
logging.logEntries.list
logging.logMetrics.{list, create, get, update, delete}
logging.logs.delete
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.privateLogEntries.list
logging.sinks.{list, create, get, update, delete}
resourcemanager.projects.get
Projekt, Organisation,
Ordner, Rechnungskonto
roles/viewer Betrachter logging.logEntries.list
logging.logMetrics.{list, get}
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
logging.sinks.{list, get}
resourcemanager.projects.get
Projekt
roles/editor Bearbeiter Logging-Berechtigung roles/viewer plus
logging.logEntries.create
logging.logMetrics.{create, update, delete}
logging.logs.delete
Projekt
roles/owner Inhaber Logging-Berechtigung roles/editor plus
logging.privateLogEntries.list
logging.sinks.{create, update, delete}
Projekt

Benutzerdefinierte Rollen

So erstellen Sie eine benutzerdefinierte Rolle mit Logging-Berechtigungen:

  • Wählen Sie für eine Rolle, die nur Berechtigungen für die Logging API gewährt, eine der Berechtigungen im vorangegangenen Abschnitt API-Berechtigungen aus.

  • Wählen Sie für eine Rolle, die Berechtigungen zur Verwendung der Loganzeige gewährt, eine der Berechtigungsgruppen im folgenden Abschnitt Berechtigungen in der Konsole aus.

Weitere Informationen zu benutzerdefinierten Rollen finden Sie unter Informationen zu benutzerdefinierten IAM-Rollen.

Berechtigungen in der Konsole

In der folgenden Tabelle sind die für die Verwendung der Log-Anzeige erforderlichen Berechtigungen aufgeführt.

Dabei steht a.b.{x,y} für a.b.x und a.b.y.

Konsolenaktivität Erforderliche Berechtigung
Minimaler Lesezugriff logging.logEntries.list
logging.logs.list
logging.logServiceIndexes.list
logging.logServices.list
resourcemanager.projects.get
Erlaubnis zum Anzeigen log-basierter Messwerte hinzufügen Fügen Sie logging.logMetrics.{list, get} hinzu.
Erlaubnis zum Anzeigen von Exporten hinzufügen Fügen Sie logging.sinks.{list, get} hinzu.
Erlaubnis zum Anzeigen der Log-Nutzung hinzufügen Fügen Sie logging.usage.get hinzu.
Erlaubnis zum Ausschließen von Logs hinzufügen Fügen Sie logging.exclusions.{list, create, get, update, delete} hinzu.
Erlaubnis zum Exportieren von Logs hinzufügen Fügen Sie logging.sinks.{list, create, get, update, delete} hinzu.
Erlaubnis zum Erstellen log-basierter Messwerte hinzufügen Fügen Sie logging.logMetrics.{list, create, get, update, delete} hinzu.

Exportierte Logs aufrufen

Zum Erstellen einer Senke für den Export von Logs benötigen Sie die Berechtigung roles/logging.configWriter, roles/logging.admin oder roles/owner.

Sobald eine Senke mit dem Logexport beginnt, hat sie uneingeschränkten Zugriff auf alle eingehenden Logeinträge. Mit Senken können Sie private Log-Einträge exportieren.

Nachdem Ihre Log-Einträge exportiert wurden, wird der Zugriff auf die exportierten Kopien vollständig durch die Cloud IAM-Berechtigungen und -Rollen des Ziels – Cloud Storage, BigQuery oder Cloud Pub/Sub – gesteuert.

Zugriffsbereiche in Logging

Zugriffsbereiche sind die alte Methode zum Festlegen von Berechtigungen für Ihre Compute Engine-VM-Instanzen. Für die Logging API gelten folgende Zugriffsbereiche:

Zugriffsbereich Erteilte Berechtigungen
https://www.googleapis.com/auth/logging.read role/logging.viewer
https://www.googleapis.com/auth/logging.write roles/logging.logWriter
https://www.googleapis.com/auth/logging.admin Uneingeschränkter Zugriff auf die Logging API
https://www.googleapis.com/auth/cloud-platform Uneingeschränkter Zugriff auf die Logging API sowie alle anderen aktivierten Google Cloud APIs

Best Practices

Nachdem nun Cloud IAM-Rollen verfügbar sind, ist es sinnvoll, allen Ihren VM-Instanzen den Bereich "Uneingeschränkter Zugriff auf alle aktivierten Google Cloud APIs" zuzuweisen:

https://www.googleapis.com/auth/cloud-platform

Sie können im Dienstkonto Ihrer VM-Instanz spezielle Cloud IAM-Rollen zuweisen, um den Zugriff auf bestimmte APIs einzuschränken. Weitere Informationen erhalten Sie unter "Dienstkontoberechtigungen".

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Stackdriver Logging