Cloud Logging verwendet Rollen und Berechtigungen von Identity and Access Management (IAM), um zu steuern, wer Logging-Ressourcen ansehen, schreiben und verwalten kann. Ihre IAM-Rollen bestimmen, ob Sie Logsenken oder Log-Buckets erstellen, in einem Log-Bucket gespeicherte Logdaten lesen oder auf Seiten wie den Log-Explorer zugreifen können. Wenn Sie einen Cloud Logging API- oder Google Cloud CLI-Befehl ausführen, bestimmen Ihre IAM-Rollen auch, ob Sie die Berechtigung zum Ausführen des Befehls haben.
Übersicht
Ihre IAM-Rollen bestimmen, welche Aktionen Sie in Logging ausführen können. Eine Rolle ist eine Sammlung von Berechtigungen. Wenn Sie einem Hauptkonto eine Rolle zuweisen, erhält er alle mit ihr verknüpften Berechtigungen. Einem Hauptkonto können mehrere Rollen zugewiesen werden.
IAM-Rollen werden für eine Ressource gewährt, z. B. für ein Projekt, einen Ordner, einen Bucket oder eine Organisation von Google Cloud . Sie können einem Hauptkonto beispielsweise die Rolle „Loganzeige“ (roles/logging.viewer) für ein bestimmtes Google Cloud Projekt zuweisen.
Die Abschnitte Vordefinierte Rollen und Logging-Rollen auf dieser Seite enthalten umfassende Informationen zu Logging-Rollen und -Berechtigungen. In anderen Abschnitten dieser Seite finden Sie Informationen zu Rollen oder Berechtigungen für bestimmte Anwendungsfälle.
Im restlichen Teil dieses Abschnitts wird zusammengefasst, wie Sie einem Hauptkonto Zugriff auf Log-Buckets oder nur auf einige der Logeinträge in einem Log-Bucket gewähren können.
Zugriff auf Log-Buckets gewähren
Mit der Rolle „Loganzeige“ (roles/logging.viewer) kann ein Hauptkonto auf alle Logdaten zugreifen, die in den Log-Buckets _Required und _Default gespeichert sind, mit Ausnahme von Datenzugriffslogs. Wenn ein Hauptkonto Zugriff auf Datenzugriffslogs benötigt, weisen Sie ihm die Rolle „Betrachter privater Logs“ (roles/logging.privateLogViewer) zu.
Bei benutzerdefinierten Log-Buckets können Sie Zugriff auf die Ansicht _AllLogs oder auf eine benutzerdefinierte Logansicht gewähren. Logging erstellt automatisch die Ansicht _AllLogs, die alle Logeinträge im Log-Bucket enthält. Wenn Sie Zugriff auf eine Logansicht gewähren möchten, fügen Sie der IAM-Richtlinie, die an die Logansicht oder das Projekt angehängt ist, eine IAM-Bindung hinzu. Weitere Informationen finden Sie unter Zugriff auf eine Logansicht steuern.
Logging unterstützt auch Tags für Log-Buckets, die Ihnen helfen können, Ihre Kosten nachzuvollziehen. Sie können Tags auch verwenden, um zu verhindern, dass ein Nutzer einen Log-Bucket löscht. Weitere Informationen finden Sie unter Tags verwenden, um den Zugriff auf Log-Buckets zu verwalten.
Zugriff auf einige Logeinträge in einem Log-Bucket gewähren
Wenn Sie einem Hauptkonto nur Zugriff auf einige der in einem Log-Bucket gespeicherten Logeinträge gewähren möchten, erstellen Sie eine Logansicht und gewähren Sie dem Hauptkonto dann Zugriff auf die Logansicht. Sie können beispielsweise eine Logansicht für den Log-Bucket _Default erstellen, die nur Logeinträge enthält, deren Ressourcentyp eine Compute Engine-Instanz ist.
Weitere Informationen zum Erstellen von Logansichten und zu den verschiedenen Strategien, mit denen Sie Zugriff auf die Ansicht gewähren können, finden Sie unter Logansichten für einen Log-Bucket konfigurieren.
Vordefinierte Rollen
IAM bietet vordefinierte Rollen, mit denen Sie detaillierten Zugriff auf bestimmte Ressourcen von Google Cloud gewähren und unerwünschten Zugriff auf andere Ressourcen verhindern können. Google Cloud erstellt und verwaltet diese Rollen und aktualisiert ihre Berechtigungen bei Bedarf automatisch, z. B. wenn Logging neue Funktionen hinzufügt.
In der folgenden Tabelle sind die vordefinierten Rollen für Logging aufgeführt. In der Tabelle werden für jede Rolle der Titel, die Beschreibung, die enthaltenen Berechtigungen und der Ressourcentyp auf der niedrigsten Ebene angezeigt, für den die Rollen zugewiesen werden können. Sie können die vordefinierten Rollen auf der Google Cloud Projektebene oder in den meisten Fällen auf einem beliebigen Typ höher in der Ressourcenhierarchie zuweisen. Wenn Sie die Rolle „Logs View Accessor“ auf eine Logansicht in einem Bucket beschränken möchten, verwenden Sie Ressourcenattribute für IAM-Bedingungen.
Eine Liste aller in einer Rolle enthaltenen Berechtigungen 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 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:
|
|
Logs Viewer( Provides access to view logs. 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. |
|
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:
|
|
Service agent roles
Service agent roles should only be granted to service agents.
| Role | Permissions |
|---|---|
Cloud Logging Service Agent( Grants a Cloud Logging Service Account the ability to create and link datasets. |
|
In den folgenden Abschnitten finden Sie zusätzliche Informationen, die Ihnen bei der Entscheidung helfen, welche Rollen für die Anwendungsfälle Ihrer Hauptkonten gelten.
Loggingrollen
Wenn Sie einem Nutzer erlauben möchten, alle Aktionen in Logging auszuführen, weisen Sie ihm die Rolle „Logging-Administrator“ (
roles/logging.admin) zu.Wenn Sie einem Nutzer erlauben möchten, Logging-Konfigurationen zu erstellen und zu ändern, weisen Sie ihm die Rolle „Logs Configuration Writer“ (
roles/logging.configWriter) zu. Mit dieser Rolle können Sie Folgendes erstellen oder ändern:Damit ein Nutzer Logs in den Buckets
_Requiredund_Defaultlesen oder die Seite Log-Explorer verwenden kann, weisen Sie eine der folgenden Rollen zu:- Für den Zugriff auf alle Logs im Bucket
_Requiredund den Zugriff auf die Ansicht_Defaultim Bucket_Defaultweisen Sie die Rolle „Loganzeige“ (roles/logging.viewer) zu. - Wenn Sie Zugriff auf alle Logs in den Buckets
_Requiredund_Default, einschließlich Datenzugriffslogs, gewähren möchten, weisen Sie die Rolle „Private Logs Viewer“ (roles/logging.privateLogViewer) zu.
- Für den Zugriff auf alle Logs im Bucket
Wenn Sie einem Nutzer erlauben möchten, Logs in allen Logansichten eines Projekts zu lesen, weisen Sie ihm die IAM-Rolle
roles/logging.viewAccessorfür das Projekt zu.Wenn Sie einem Nutzer nur das Lesen von Logs in einer bestimmten Logansicht erlauben möchten, haben Sie zwei Möglichkeiten:
Erstellen Sie eine IAM-Richtlinie für die Logansicht und fügen Sie dieser Richtlinie dann eine IAM-Bindung hinzu, die dem Hauptkonto Zugriff auf die Logansicht gewährt.
Weisen Sie dem Hauptkonto die IAM-Rolle
roles/logging.viewAccessorfür das Projekt zu, das die Logansicht enthält, hängen Sie aber eine IAM-Bedingung an, um die Zuweisung auf die spezifische Logansicht zu beschränken.
Informationen zum Erstellen von Logansichten und zum Gewähren von Zugriff finden Sie unter Logansichten für einen Log-Bucket konfigurieren.
Wenn Sie einem Nutzer erlauben möchten, Logs mit der Logging API zu schreiben, weisen Sie ihm die Rolle „Log-Autor“ (
roles/logging.logWriter) zu. Diese Rolle gewährt keine Berechtigungen zum Betrachten.Wenn Sie dem Dienstkonto einer Senke erlauben möchten, Logs an einen Bucket in einem anderen Google Cloud -Projekt weiterzuleiten, 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 Lesezugriff auf die meisten Google Cloud -Dienste gewähren möchten, weisen Sie die Rolle „Betrachter“ (
roles/viewer) zu.Diese Rolle enthält alle Berechtigungen der Rolle „Loganzeige“ (
roles/logging.viewer).Wenn Sie Bearbeitungszugriff auf die meisten Google Cloud -Dienste gewähren möchten, weisen Sie die Rolle „Bearbeiter“ (
roles/editor) zu.Diese Rolle enthält alle Berechtigungen der Rolle „Logbetrachter“ (
roles/logging.viewer) sowie die Berechtigungen zum Schreiben von Logeinträgen und zum Löschen von Logs. Mit dieser Rolle können Nutzer jedoch keine Senken erstellen, keine Audit-Logs zum Datenzugriff im Bucket_Defaultlesen und keine Logs in benutzerdefinierten Log-Buckets lesen.Wenn Sie vollständigen Zugriff auf die meisten Google Cloud -Dienste gewähren möchten, weisen Sie die Rolle „Inhaber“ (
roles/owner) zu.
Rollen werden gewährt
Informationen zum Zuweisen einer Rolle zu einem Hauptkonto finden Sie unter Zugriff gewähren, ä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 das Hauptkonto, das 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 logginggewä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
Die folgende Tabelle enthält eine unvollständige Liste der Berechtigungen, die für bestimmte Features von Cloud Logging erforderlich sind. Anhand dieser Tabelle können Sie die Berechtigungen ermitteln, die Sie für die Verwendung von Seiten wie dem Log-Explorer benötigen.
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 |
| Senken ansehen | logging.sinks.{list, get} |
| Log-Nutzung ansehen | logging.usage.get |
| Logs herunterladen | logging.logEntries.{list, download}
Zum Herunterladen von Logs ist nur eine dieser Berechtigungen erforderlich. Rollen, die die Berechtigungen zum Herunterladen von Logs enthalten, müssen auf Projektebene gewährt werden. Sie können keine Logs herunterladen, wenn eine Rolle mit diesen Berechtigungen in der IAM-Richtliniendatei einer Logansicht gewährt wird. |
| Logbereiche auflisten und ansehen | logging.logScopes.{get, list} |
| Standard-Logbereich ansehen | observability.scopes.get |
| Logs ausschließen | logging.exclusions.{list, create, get, update, delete}
Wenn Sie eine benutzerdefinierte Rolle erstellen, die Berechtigungen zum Verwalten von „Ausschließen“-Filtern 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 auch eine IAM-Rolle zuweisen, mit der es Logeinträge in 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 über IAM-Berechtigungen und ‑Rollen am Ziel gesteuert. |
| Private Abfragen speichern und verwenden | logging.queries.usePrivatelogging.queries.{listShared,getShared} |
| Freigegebene Abfragen speichern und verwenden | logging.queries.{share, getShared, updateShared, deleteShared,
listShared} |
| Logbereiche erstellen und verwalten | logging.logScopes.{create, delete, get, list, update} |
| Standard-Logbereich festlegen und verwalten | observability.scopes.{get, update} |
Berechtigungen für die Befehlszeile
gcloud logging-Befehle werden durch IAM-Berechtigungen gesteuert.
Wenn Hauptkonten einen der gcloud logging-Befehle verwenden möchten, benötigen sie 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 für die Befehlszeile.