In diesem Dokument wird beschrieben, wie Cloud Logging mithilfe von IAM-Rollen und -Berechtigungen (Identity and Access Management) den Zugriff auf Logging-Ressourcen steuert. Ihre IAM-Rollen bestimmen, ob Sie Aktionen wie das Erstellen von Logsenken oder Log-Buckets ausführen, in einem Log-Bucket gespeicherte Logdaten lesen oder auf Seiten wie den Log-Explorer zugreifen können. Wenn Sie einen Befehl der Logging API oder der Google Cloud CLI ausgeben, wird anhand Ihrer IAM-Rollen bestimmt, 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 wie ein Trusted Cloud Projekt, ein Ordner, ein Bucket oder eine Organisation gewährt. Sie können einem Hauptkonto beispielsweise die Rolle „Logbetrachter“ (role/logging.viewer
) für ein bestimmtes Trusted Cloud Projekt zuweisen.
In den Abschnitten Vordefinierte Rollen und Logging-Rollen auf dieser Seite finden Sie 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 Rest 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 „Log-Betrachter“ (role/logging.viewer
) kann ein Prinzipal auf alle Logdaten zugreifen, die in den Log-Buckets _Required
und _Default
gespeichert sind, mit Ausnahme von Logs zum Datenzugriff. Wenn ein Prinzipal Zugriff auf Logs zum Datenzugriff 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. Cloud 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 auch Tags verwenden, um zu verhindern, dass ein Nutzer einen Log-Bucket löscht. Weitere Informationen finden Sie unter Zugriff auf Log-Buckets mit Tags verwalten.
Zugriff auf einige Logeinträge in einem Log-Bucket gewähren
Wenn Sie einem Hauptkonto Zugriff auf nur 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 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 detaillierter Zugriff auf bestimmte Trusted Cloud -Ressourcen gewährt und unerwünschter Zugriff auf andere Ressourcen verhindert werden kann. Trusted Cloud by S3NS 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. Für jede Rolle werden der Titel, 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 Trusted Cloud Projektebene oder in den meisten Fällen auf einer beliebigen höheren Ebene 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 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:
|
|
Cloud Logging Service Agent( Grants a Cloud Logging Service Account the ability to create and link datasets. |
|
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:
|
|
Die folgenden Abschnitte enthalten zusätzliche 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 Logkonfigurationen 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:Wenn ein Nutzer Logs in den Buckets
_Required
und_Default
lesen oder die Seite Log-Explorer verwenden soll, weisen Sie ihm eine der folgenden Rollen zu:- Wenn Sie Zugriff auf alle Logs im
_Required
-Bucket und auf die Ansicht_Default
im_Default
-Bucket benötigen, weisen Sie die Rolle „Log-Betrachter“ (roles/logging.viewer
) zu. - Wenn Sie Zugriff auf alle Logs in den Buckets
_Required
und_Default
, einschließlich der Logs zum Datenzugriff, benötigen, weisen Sie die Rolle „Betrachter privater Logs“ (roles/logging.privateLogViewer
) zu.
- Wenn Sie Zugriff auf alle Logs im
Wenn ein Nutzer Logs in allen Logansichten eines Projekts lesen soll, weisen Sie ihm die IAM-Rolle
roles/logging.viewAccessor
für das Projekt zu.Wenn ein Nutzer nur Logs in einer bestimmten Logansicht lesen soll, haben Sie zwei Möglichkeiten:
Erstellen Sie eine IAM-Richtlinie für die Logansicht und fügen Sie dann eine IAM-Bindung für diese Richtlinie hinzu, die dem Hauptkonto Zugriff auf die Logansicht gewährt.
Weisen Sie dem Hauptkonto die IAM-Rolle
roles/logging.viewAccessor
für das Projekt zu, das die Logansicht enthält, aber fügen Sie eine IAM-Bedingung hinzu, um die Zuweisung auf die jeweilige Logansicht zu beschränken.
Informationen zum Erstellen von Log-Ansichten und zum Gewähren des Zugriffs finden Sie unter Log-Ansichten für einen Log-Bucket konfigurieren.
Wenn ein Nutzer Logs mit der Logging API schreiben soll, weisen Sie ihm die Rolle „Log-Autor“ (
roles/logging.logWriter
) zu. Diese Rolle gewährt keine Berechtigungen zum Betrachten.Damit das Dienstkonto einer Senke Logs an einen Bucket in einem anderen Trusted Cloud Projekt weiterleiten kann, weisen Sie dem Dienstkonto die Rolle „Log-Bucket-Autor“ (
roles/logging.bucketWriter
) zu. Eine Anleitung zum Erteilen von Berechtigungen für ein Dienstkonto finden Sie unter Zielberechtigungen festlegen.
Rollen auf Projektebene
Um den meisten Trusted Cloud by S3NS Diensten Lesezugriff zu gewähren, weisen Sie die Rolle „Betrachter“ (
roles/viewer
) zu.Diese Rolle enthält alle Berechtigungen der Rolle „Logbetrachter“ (
roles/logging.viewer
).Wenn Sie Bearbeiterzugriff auf die meisten Trusted Cloud by S3NS Dienste gewähren möchten, weisen Sie die Rolle „Bearbeiter“ (
roles/editor
) zu.Diese Rolle enthält alle Berechtigungen der Rolle „Loganzeige“ (
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_Default
lesen und keine Logs in benutzerdefinierten Log-Buckets lesen.Um vollen Zugriff auf die meisten Trusted Cloud by S3NS -Dienste zu gewähren, weisen Sie 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 Trusted 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
Die folgende Tabelle enthält eine Teilliste der Berechtigungen, die für bestimmte Funktionen 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}
Nur eine dieser Berechtigungen ist erforderlich, um Logs herunterzuladen. Rollen mit den Berechtigungen zum Herunterladen von Logs 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} |
Standardlogbereich 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 Ausschlussfiltern enthält, fügen Sie der Rolle die Berechtigungen |
Senken erstellen und verwenden | logging.sinks.{list, create, get, update, delete}
Beim Erstellen einer Senke 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 durch IAM-Berechtigungen und -Rollen für das Ziel gesteuert. |
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} |
Logbereiche erstellen und verwalten | logging.logScopes.{create, delete, get, list, update} |
Standardmäßigen 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 Principals 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.