In diesem Dokument wird beschrieben, wie Sie IAM-Rollen und -Berechtigungen (Identity and Access Management) verwenden, um den Zugriff auf Protokolldaten in der Logging API, dem Log-Explorer und der Google Cloud CLI zu steuern.
Übersicht
IAM-Berechtigungen und -Rollen bestimmen Ihre Fähigkeit, auf Logdaten in der Logging API, dem Log-Explorer und der Google Cloud CLI zuzugreifen.
Eine Rolle ist eine Sammlung von Berechtigungen. Sie können einem Hauptkonto Berechtigungen nicht direkt erteilen. Stattdessen weisen Sie ihm eine Rolle zu. Wenn Sie einem Hauptkonto eine Rolle zuweisen, erhält er alle mit ihr verknüpften Berechtigungen. Einem Hauptkonto können mehrere Rollen zugewiesen werden.
Wenn Sie Logging innerhalb einer Google Cloud-Ressource wie einem Google Cloud-Projekt, -Ordner, -Bucket oder einer -Organisation verwenden möchten, muss ein Prinzipal eine IAM-Rolle mit den entsprechenden Berechtigungen haben.
Vordefinierte Rollen
IAM bietet vordefinierte Rollen, um detaillierten Zugriff auf bestimmte Google Cloud-Ressourcen zu gewähren und unerwünschten Zugriff auf andere Ressourcen zu verhindern. Google Cloud erstellt und verwaltet diese Rollen und aktualisiert ihre Berechtigungen bei Bedarf automatisch, z. B. wenn Logging neue Features hinzufügt.
In der folgenden Tabelle sind die vordefinierten Rollen für die Protokollierung aufgeführt. Für jede Rolle werden in der Tabelle der Rollentitel, die Beschreibung, die enthaltenen Berechtigungen und der Ressourcentyp der untersten Ebene angezeigt, für den die Rollen gewährt werden können. Sie können die vordefinierten Rollen auf Google Cloud-Projektebene oder in den meisten Fällen einem übergeordneten Typ in der Ressourcenhierarchie zuweisen. Wenn Sie die Rolle „Zugriffsberechtigter für Protokollansicht“ auf eine Protokollansicht in einem Bucket beschränken möchten, verwenden Sie Ressourcenattribute für IAM-Bedingungen.
Eine Liste aller einzelnen Berechtigungen, die in einer Rolle enthalten sind, finden Sie unter Rollenmetadaten abrufen.
Role | Permissions |
---|---|
Logging Admin( Provides all permissions necessary to use all features of Cloud Logging. Lowest-level resources where you can grant this role:
|
|
Logs Bucket Writer( Ability to write logs to a log bucket. Lowest-level resources where you can grant this role:
|
|
Logs Configuration Writer( Provides permissions to read and write the configurations of logs-based metrics and sinks for exporting logs. Lowest-level resources where you can grant this role:
|
|
Log Field Accessor( Ability to read restricted fields in a log bucket. Lowest-level resources where you can grant this role:
|
|
Log Link Accessor( Ability to see links for a bucket. |
|
Logs Writer( Provides the permissions to write log entries. Lowest-level resources where you can grant this role:
|
|
Private Logs Viewer( Provides permissions of the Logs Viewer role and in addition, provides read-only access to log entries in private logs. Lowest-level resources where you can grant this role:
|
|
SQL Alert Writer Beta( Ability to write SQL Alerts. |
|
Logs View Accessor( Ability to read logs in a view. Lowest-level resources where you can grant this role:
|
|
Logs Viewer( Provides access to view logs. Lowest-level resources where you can grant this role:
|
|
In den folgenden Abschnitten finden Sie weitere Informationen, die Ihnen bei der Entscheidung helfen, welche Rollen für die Anwendungsfälle Ihrer Hauptkonten gelten.
Loggingrollen
Wenn ein Nutzer alle Aktionen in Logging ausführen soll, weisen Sie ihm die Rolle „Logging-Administrator“ (
roles/logging.admin
) zu.Wenn ein Nutzer Logging-Konfigurationen erstellen und ändern soll, weisen Sie ihm die Rolle „Autor von Logkonfigurationen“ (
roles/logging.configWriter
) zu. Mit dieser Rolle können Sie Folgendes erstellen oder ändern:Diese Rolle reicht nicht aus, um logbasierte Messwerte oder logbasierte Benachrichtigungsrichtlinien zu erstellen. Informationen zu den für diese Aufgaben erforderlichen Rollen finden Sie unter Berechtigungen für logbasierte Messwerte und Berechtigungen für Richtlinien für logbasierte Benachrichtigungen.
Wenn ein Nutzer Logs in den Buckets
_Required
und_Default
lesen oder die Seiten Log-Explorer und Log Analytics verwenden soll, weisen Sie ihm eine der folgenden Rollen zu:- Wenn Sie Zugriff auf alle Logs im Bucket
_Required
und auf die Ansicht_Default
im Bucket_Default
benötigen, gewähren Sie die Rolle „Log-Betrachter“ (roles/logging.viewer
). - Wenn Sie Zugriff auf alle Logs in den Buckets
_Required
und_Default
benötigen, einschließlich Logs zum Datenzugriff, gewähren Sie die Rolle „Betrachter privater Logs“ (roles/logging.privateLogViewer
).
- Wenn Sie Zugriff auf alle Logs im Bucket
Wenn ein Nutzer Protokolle in allen Protokollansichten eines Projekts lesen soll, weisen Sie ihm die IAM-Rolle
roles/logging.viewAccessor
für das Projekt zu.Wenn Sie einem Nutzer nur das Lesen von Logs in einer bestimmten Protokollansicht erlauben möchten, haben Sie zwei Möglichkeiten:
Erstellen Sie eine IAM-Richtlinie für die Protokollansicht und fügen Sie dieser Richtlinie dann eine IAM-Bindung hinzu, die dem Hauptkonto Zugriff auf die Protokollansicht gewährt.
Weisen Sie dem Hauptkonto die IAM-Rolle
roles/logging.viewAccessor
für das Projekt zu, das die Protokollansicht enthält, fügen Sie aber eine IAM-Bedingung hinzu, um die Berechtigung auf die spezifische Protokollansicht zu beschränken.
Informationen zum Erstellen von Log-Ansichten und zum Gewähren von Zugriff finden Sie unter Log-Ansichten für einen Log-Bucket konfigurieren.
- Wenn Sie einem Nutzer Zugriff auf eingeschränkte
LogEntry
-Felder in einem bestimmten Log-Bucket gewähren möchten, weisen Sie ihm die Rolle „Zugriffsberechtigter für Logs-Feld“ (roles/logging.fieldAccessor
) zu. Weitere Informationen finden Sie unter Zugriff auf Feldebene konfigurieren.
Wenn ein Nutzer Logs mit der Logging API schreiben soll, gewähren Sie ihm die Rolle „Log-Autor“ (
roles/logging.logWriter
). Diese Rolle gewährt keine Berechtigungen zum Betrachten.Wenn das Dienstkonto eines Sinks Protokolle an einen Bucket in einem anderen Google Cloud-Projekt weiterleiten soll, weisen Sie dem Dienstkonto die Rolle „Logs Bucket Writer“ (
roles/logging.bucketWriter
) zu. Eine Anleitung zum Erteilen von Berechtigungen für ein Dienstkonto finden Sie unter Zielberechtigungen festlegen.
Rollen auf Projektebene
Wenn Sie den Nutzern Lesezugriff auf die meisten Google Cloud-Dienste gewähren möchten, weisen Sie ihnen die Rolle „Betrachter“ (
roles/viewer
) zu.Diese Rolle enthält alle Berechtigungen der Rolle „Logbetrachter“ (
roles/logging.viewer
).Wenn Sie Nutzern Bearbeitungszugriff auf die meisten Google Cloud-Dienste gewähren möchten, weisen Sie ihnen die Rolle „Bearbeiter“ (
roles/editor
) zu.Diese Rolle umfasst alle Berechtigungen der Rolle „Loganzeige“ (
roles/logging.viewer
) sowie die Berechtigungen zum Schreiben von Logeinträgen, zum Löschen von Logs und zum Erstellen logbasierter Messwerte. Mit dieser Rolle können Nutzer jedoch keine Senken erstellen, keine Audit-Logs zum Datenzugriff im Bucket_Default
lesen und keine Logs in benutzerdefinierten Log-Buckets lesen.Wenn Sie der Person vollen Zugriff auf die meisten Google Cloud-Dienste gewähren möchten, weisen Sie ihr die Rolle „Inhaber“ (
roles/owner
) zu.
Rollen werden gewährt
Informationen zum Zuweisen von Rollen an Hauptkonten finden Sie unter Zugriff erteilen, ändern und entziehen.
Einem Nutzer können mehrere Rollen zugewiesen werden. Eine Liste der in einer Rolle enthaltenen Berechtigungen finden Sie unter Rollenmetadaten abrufen.
Wenn Sie versuchen, auf eine Google Cloud-Ressource zuzugreifen und nicht die erforderlichen Berechtigungen haben, wenden Sie sich an den Hauptkonto, der als Inhaber der Ressource aufgeführt ist.
Benutzerdefinierte Rollen
So erstellen Sie eine benutzerdefinierte Rolle mit Logging-Berechtigungen:
Wählen Sie für eine Rolle, die Berechtigungen für die Logging API gewährt, Berechtigungen unter API-Berechtigungen aus. Folgen Sie dann der Anleitung zum Erstellen einer benutzerdefinierten Rolle.
Wählen Sie für eine Rolle, die Berechtigungen zur Verwendung von Log-Explorer gewährt, aus Berechtigungsgruppen aus , die sind in Console-Berechtigungen und folgen Sie dann der Anleitung zum Erstellen einer Benutzerdefinierte Rolle.
Für eine Rolle, die Berechtigungen zur Verwendung von
gcloud logging
gewährt, finden Sie im Abschnitt Befehlszeilenberechtigungen auf dieser Seite Informationen. Folgen Sie dann der Anleitung zum Erstellen einer benutzerdefinierten Rolle.
Weitere Informationen zu benutzerdefinierten Rollen finden Sie unter Informationen zu benutzerdefinierten IAM-Rollen.
Cloud Logging-Berechtigungen
In der folgenden Tabelle sind einige der Berechtigungen aufgeführt, die für bestimmte Cloud Logging-Funktionen erforderlich sind. In dieser Tabelle finden Sie die Berechtigungen, die Sie benötigen, um Seiten wie den Log-Explorer zu verwenden.
a.b.{x,y}
bedeutet in der Tabelle a.b.x
und a.b.y
.
Console-Aktivität | Erforderliche Berechtigung |
---|---|
Minimaler Lesezugriff | logging.logEntries.list |
Audit-Logs zum Datenzugriff ansehen | logging.privateLogEntries.list |
Logbasierte Messwerte aufrufen | logging.logMetrics.{list, get} |
Senken ansehen | logging.sinks.{list, get} |
Logs ansehen | logging.usage.get |
Logs herunterladen | logging.logEntries.{list, download}
Zum Herunterladen von Protokollen ist nur eine dieser Berechtigungen erforderlich. Rollen mit den Berechtigungen zum Herunterladen von Protokollen müssen auf Projektebene gewährt werden. Sie können keine Protokolle herunterladen, wenn in der IAM-Richtliniendatei einer Protokollansicht eine Rolle mit diesen Berechtigungen gewährt wird. |
Standardlogbereich aufrufen | observability.scopes.get |
Logs ausschließen | logging.exclusions.{list, create, get, update, delete}
Wenn Sie eine benutzerdefinierte Rolle erstellen, die Berechtigungen zum Verwalten von Ausschlussfiltern enthält, fügen Sie der Rolle die Berechtigungen |
Senken erstellen und verwenden | logging.sinks.{list, create, get, update, delete}
Wenn Sie eine Senke erstellen, müssen Sie dem Dienstkonto außerdem eine IAM-Rolle zuweisen, mit der es Logeinträge an das Ziel schreiben kann. Weitere Informationen finden Sie unter Zielberechtigungen festlegen. Nachdem Ihre Logeinträge an ein unterstütztes Ziel weitergeleitet wurden, wird der Zugriff auf die Logeinträge vollständig durch IAM-Berechtigungen und -Rollen für das Ziel gesteuert. |
Logbasierte Benachrichtigungen erstellen | Weitere Informationen finden Sie unter Rollen, die zum Erstellen und Verwenden von logbasierten Benachrichtigungsrichtlinien erforderlich sind. |
Logbasierte Messwerte erstellen | logging.logMetrics.{list, create, get, update, delete}
Informationen zu anderen IAM-Rollen, die Sie zum Erstellen und Verwenden von logbasierten Messwerten benötigen, finden Sie unter Rollen, die zum Erstellen und Verwenden von logbasierten Messwerten erforderlich sind. |
Private Abfragen speichern und verwenden | logging.queries.usePrivate logging.queries.{listShared,getShared} |
Freigegebene Abfragen speichern und verwenden | logging.queries.{share, getShared, updateShared, deleteShared,
listShared} |
Aktuelle Abfragen verwenden | logging.queries.{create, list} |
Standard-Logbereich festlegen und verwalten | observability.scopes.{get, update} |
Berechtigungen für die Befehlszeile
gcloud logging
-Befehle werden durch IAM-Berechtigungen gesteuert.
Um einen der gcloud logging
-Befehle zu verwenden, benötigen die entsprechenden Berechtigungsinhaber die Berechtigung serviceusage.services.use
.
Ein Hauptkonto muss außerdem die IAM-Rolle haben, die der Ressource des Logs und dem Anwendungsfall entspricht. Weitere Informationen finden Sie unter Berechtigungen der Befehlszeilenschnittstelle.
Für das Erstellen und Verwenden von logbasierten Messwerten erforderliche Rollen
Es folgt eine Zusammenfassung der allgemeinen Rollen und Berechtigungen, die ein Hauptkonto benötigt, um auf logbasierte Messwerte zuzugreifen:
Mit der Rolle Autor von Logkonfigurationen (
roles/logging.configWriter
) können Hauptkonten logbasierte Messwerte auflisten, erstellen, abrufen, aktualisieren und löschen.Die Rolle Log-Betrachter (
roles/logging.viewer
) umfasst Berechtigungen zum Aufrufen vorhandener Messwerte. Insbesondere benötigt ein Prinzipal die Berechtigungenlogging.logMetrics.get
undlogging.logMetrics.list
, um vorhandene Messwerte aufzurufen.Die Rolle Monitoring-Betrachter (
roles/monitoring.viewer
) umfasst die Berechtigungen zum Lesen von TimeSeries-Daten. Insbesondere benötigt ein Hauptkonto die Berechtigungmonitoring.timeSeries.list
, um Zeitreihendaten zu lesen.Die Rollen Logging-Administrator (
roles/logging.admin
), Projektbearbeiter (roles/editor
) und Projektinhaber (roles/owner
) enthalten die Berechtigungen zum Erstellen von logbasierten Messwerten. Insbesondere benötigt ein Nutzer die Berechtigunglogging.logMetrics.create
, um protokollbasierte Messwerte zu erstellen.
Für das Erstellen und Verwenden von logbasierten Benachrichtigungsrichtlinien erforderliche Rollen
Zum Erstellen und Verwalten von logbasierten Benachrichtigungsrichtlinien benötigt ein Nutzer die folgenden Rollen und Berechtigungen für Logging und Monitoring:
-
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen von protokollbasierten Benachrichtigungsrichtlinien in der Überwachung und zum Erstellen der zugehörigen Protokollierungsregeln benötigen:
-
Mitbearbeiter von Monitoring-Benachrichtigungsrichtlinien (
roles/monitoring.alertPolicyEditor
) -
Autor von Log-Konfigurationen (
roles/logging.configWriter
)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Erstellen protokollbasierter Benachrichtigungsrichtlinien im Monitoring und zum Erstellen der zugehörigen Protokollierungsregeln für Benachrichtigungen erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind erforderlich, um logbasierte Benachrichtigungsrichtlinien in Monitoring und die zugehörigen Benachrichtigungsregeln für das Logging zu erstellen:
-
monitoring.alertPolicies.create
-
logging.notificationRules.create
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
-
Mitbearbeiter von Monitoring-Benachrichtigungsrichtlinien (
Wenn Sie die Benachrichtigungsrichtlinie in der Google Cloud CLI erstellen, ist außerdem die folgende Rolle oder Berechtigung erforderlich:
-
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Service Usage-Nutzer (
roles/serviceusage.serviceUsageConsumer
) für Ihr Projekt zu gewähren, um die Berechtigung zu erhalten, mit der Google Cloud CLI eine Benachrichtigungsrichtlinie zu erstellen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.Diese vordefinierte Rolle enthält die Berechtigung
serviceusage.services.use
, die zum Erstellen einer Benachrichtigungsrichtlinie mit der Google Cloud CLI erforderlich ist.Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Wenn Ihr Google Cloud-Projekt bereits Benachrichtigungskanäle hat, können Sie Ihre Benachrichtigungsrichtlinie so konfigurieren, dass ein vorhandener Kanal ohne zusätzliche Rollen oder Berechtigungen verwendet wird. Wenn Sie jedoch einen Benachrichtigungskanal für Ihre logbasierte Benachrichtigungsrichtlinie erstellen möchten, ist die folgende Rolle oder Berechtigung erforderlich:
-
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Monitoring NotificationChannel Editor (
roles/monitoring.notificationChannelEditor
) für Ihr Projekt zuzuweisen, um die Berechtigung zu erhalten, mit der Sie einen Benachrichtigungskanal für eine protokollbasierte Benachrichtigungsrichtlinie erstellen können.Diese vordefinierte Rolle enthält die Berechtigung
monitoring.notificationChannels.create
, die zum Erstellen eines Benachrichtigungskanals für eine protokollbasierte Benachrichtigungsrichtlinie erforderlich ist.
Berechtigungen für SQL-basierte Benachrichtigungsrichtlinien
Bei SQL-basierten Benachrichtigungsrichtlinien werden die Ergebnisse einer SQL-Abfrage anhand von Daten aus Gruppen von Logeinträgen ausgewertet. Informationen zu den Rollen, die zum Erstellen und Verwalten von SQL-basierten Benachrichtigungsrichtlinien erforderlich sind, finden Sie im Abschnitt Vorab des Artikels SQL-Abfrageergebnisse mit einer Benachrichtigungsrichtlinie überwachen.
Zugriffsbereiche in Logging
Zugriffsbereiche sind die Legacy-Methode zum Festlegen von Berechtigungen für die Dienstkonten in Ihren Compute Engine-VM-Instanzen.
Für die Logging API gelten folgende Zugriffsbereiche:
Zugriffsbereich | Erteilte Berechtigungen |
---|---|
https://www.googleapis.com/auth/logging.read | roles/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 |
Informationen zur Verwendung dieser alten Methode zum Festlegen der Zugriffsebenen Ihrer Dienstkonten finden Sie unter Zugriffsbereiche.