Audit-Logs zum Datenzugriff aktivieren

Mit Audit-Logs zum Datenzugriff können Sie API-Aufrufe aufzeichnen, die Ressourcenkonfigurationen oder Metadaten lesen, sowie nutzergesteuerte API-Aufrufe, die von Nutzern bereitgestellte Ressourcendaten erstellen, ändern oder lesen. Da diese Logs für die meisten Dienste standardmäßig deaktiviert sind, können Sie sie explizit für Ihre Projekte, Rechnungskonten, Ordner und Organisationen in Google Cloud aktivieren, konfigurieren oder deaktivieren. Verwenden Sie dazu die Google Cloud Console oder die API.

Hinweis

Bevor Sie mit der Konfiguration von Audit-Logs zum Datenzugriff fortfahren, lesen Sie die folgenden Informationen:

  • Audit-Logs zum Datenzugriff sind standardmäßig für alle Dienste deaktiviert, mit Ausnahme einiger BigQuery-Dienste. Wenn Sie möchten, dass Audit-Logs für den Datenzugriff für Dienste geschrieben werden, für die diese Logs standardmäßig deaktiviert sind, müssen Sie sie explizit in der Google Cloud Console oder über die API aktivieren.

  • Audit-Logs zum Datenzugriff werden im Bucket _Default gespeichert, sofern Sie sie nicht an einen anderen Ort weitergeleitet haben. Weitere Informationen finden Sie unter Audit-Logs speichern und weiterleiten.

  • Audit-Logs zum Datenzugriff helfen dem Google-Support beim Beheben von Problemen mit Ihrem Konto. Daher empfehlen wir, Audit-Logs zum Datenzugriff nach Möglichkeit zu aktivieren.

  • Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Private Logs Viewer (roles/logging.privateLogViewer) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie für den Zugriff auf alle Logs in den Buckets _Required und _Default benötigen, einschließlich Datenzugriffslogs.

    Die Rolle „Betrachter privater Logs“ ((roles/logging.privateLogViewer)) enthält die Berechtigungen, die in der Rolle „Loganzeige“ (roles/logging.viewer) enthalten sind, sowie die Berechtigungen, die zum Lesen von Audit-Logs zum Datenzugriff im Bucket _Default erforderlich sind.

    Die Rolle „Bearbeiter“ (roles/editor) enthält nicht die Berechtigungen, die zum Aufrufen von Datenzugriffslogs erforderlich sind.

    Weitere Informationen zu den IAM-Berechtigungen und ‑Rollen für Audit-Logdaten finden Sie unter Zugriffssteuerung mit IAM.

Konfigurationsübersicht

Sie können konfigurieren, wie Audit-Logs zum Datenzugriff für IhreGoogle Cloud -Ressourcen und -Dienste aktiviert werden:

  • Organisationen: Sie können Audit-Logs zum Datenzugriff in einer Organisation aktivieren und konfigurieren. Diese gelten dann für alle vorhandenen und neuenGoogle Cloud -Projekte und -Ordner in der Organisation.

  • Ordner: Sie können Audit-Logs zum Datenzugriff in einem Ordner aktivieren und konfigurieren. Dies gilt für alle vorhandenen und neuen Google Cloud -Projekte im Ordner. Sie können ein Audit-Log zum Datenzugriff, das in der übergeordneten Organisation des Projekts aktiviert wurde, nicht deaktivieren.

  • Projekte: Sie können Audit-Logs zum Datenzugriff für ein einzelnesGoogle Cloud -Projekt konfigurieren. Sie können ein Audit-Log zum Datenzugriff, das in einer übergeordneten Organisation oder einem übergeordneten Ordner aktiviert wurde, nicht deaktivieren.

  • Rechnungskonten: Verwenden Sie die Google Cloud CLI, um Audit-Logs zum Datenzugriff für Rechnungskonten zu konfigurieren. Weitere Informationen zur Verwendung der gcloud CLI mit Audit-Logs zum Datenzugriff und Rechnungskonten finden Sie in der Dokumentation zu gcloud beta billing accounts set-iam-policy.

  • Standardkonfigurationen: Sie können eine Standardkonfiguration für Audit-Logs zum Datenzugriff in einer Organisation, einem Ordner oder einem Google Cloud -Projekt festlegen, die für zukünftige Google Cloud -Dienste gilt, die Audit-Logs zum Datenzugriff erstellen. Eine Anleitung finden Sie unter Standardkonfiguration festlegen.

  • Berechtigungstypen: Sie können festlegen, dass Google Cloud APIs, die nur nach einem bestimmten Berechtigungstyp suchen, ein Audit-Log ausgeben. Weitere Informationen finden Sie auf dieser Seite im Abschnitt Berechtigungstypen.

  • Ausgenommene Hauptkonten: Sie können bestimmte Hauptkonten von der Aufzeichnung ihrer Datenzugriffe ausnehmen. Beispielsweise haben Sie die Möglichkeit, die Aufzeichnung der Cloud Monitoring-Vorgänge für Ihre internen Testkonten auszuschließen. Eine Liste der gültigen Hauptkonten, einschließlich Nutzern und Gruppen, finden Sie in der Typenreferenz für Binding.

Sie können Ihre Audit-Logs für den Datenzugriff über die IAM-Seite Audit-Logs der Google Cloud Console oder über die API konfigurieren. Diese Methoden werden in den folgenden Abschnitten erläutert.

Berechtigungstypen

API-Methoden prüfen IAM-Berechtigungen. Jede IAM-Berechtigung hat einen Berechtigungstyp, der durch das Attribut type definiert wird. Berechtigungstypen werden entweder als Berechtigungstyp für den Datenzugriff oder als Berechtigungstyp für Administratoraktivitäten kategorisiert:

  • Berechtigungstypen für den Datenzugriff:

    • ADMIN_READ: IAM-Berechtigungen dieses Typs werden fürGoogle Cloud -API-Methoden geprüft, die Metadaten oder Konfigurationsinformationen lesen. In der Regel sind ADMIN_READ-Audit-Logs standardmäßig deaktiviert und müssen aktiviert werden.

    • DATA_READ: IAM-Berechtigungen dieses Typs werden fürGoogle Cloud API-Methoden geprüft, die von Nutzern bereitgestellte Daten lesen. In der Regel sind DATA_READ-Audit-Logs standardmäßig deaktiviert und müssen aktiviert werden.

    • DATA_WRITE: IAM-Berechtigungen dieses Typs werden fürGoogle Cloud API-Methoden geprüft, die von Nutzern bereitgestellte Daten schreiben. In der Regel sind DATA_WRITE-Audit-Logs standardmäßig deaktiviert und müssen aktiviert werden.

  • Berechtigungstyp „Administratoraktivität“:

    • ADMIN_WRITE: IAM-Berechtigungen dieses Typs werden fürGoogle Cloud -API-Methoden geprüft, die Metadaten oder Konfigurationsinformationen schreiben. Die mit diesem Typ verknüpften Audit-Logs, Audit-Logs zu Administratoraktivitäten, sind standardmäßig aktiviert und können nicht deaktiviert werden.

Sie können Berechtigungstypen für Dienste über dieGoogle Cloud Console oder durch Aufrufen der API aktivieren oder deaktivieren.

Die meisten Google Cloud -APIs prüfen nur, ob der Aufrufer eine einzelne IAM-Berechtigung hat. Wenn der mit dieser Berechtigung verknüpfte Berechtigungstyp für den Dienst aktiviert ist, dessen API aufgerufen wird, generiert die API ein Audit-Log.

In den folgenden Abschnitten werden allgemein andere Möglichkeiten beschrieben, wie Google CloudAPI-Methoden IAM-Berechtigungen prüfen. Dienstspezifische Informationen dazu, welche Methoden für welche Berechtigungstypen geprüft werden, finden Sie in der Audit-Logging-Dokumentation des Dienstes.

IAM-Berechtigungsprüfung für Berechtigungstypen für den Datenzugriff

Bei einigen Google Cloud API-Methoden wird geprüft, ob der Aufrufer mehrere IAM-Berechtigungen mit unterschiedlichen Berechtigungstypen für den Datenzugriff hat. Ein Audit-Log wird geschrieben, wenn einer dieser Berechtigungstypen für den Datenzugriff im Projekt aktiviert ist.

Eine API-Methode kann beispielsweise prüfen, ob das Hauptkonto, das eine API-Anfrage ausgibt, die Berechtigungen example.resource.get (DATA_READ) und example.resource.write (DATA_WRITE) hat. Für das Projekt muss nur entweder DATA_WRITE oder DATA_READ aktiviert sein, damit der Dienst das Audit-Log beim Ausgeben des Aufrufs ausgibt.

Geprüfte IAM-Berechtigungstypen für Administratoraktivitäten und Datenzugriff

Einige Google Cloud API-Methoden prüfen sowohl auf eine IAM-Berechtigung mit dem Berechtigungstyp ADMIN_WRITE als auch auf eine oder mehrere Berechtigungen mit dem Berechtigungstyp „Datenzugriff“.

Diese Arten von API-Aufrufen geben Audit-Logs zu Administratoraktivitäten aus, die standardmäßig aktiviert sind und nicht deaktiviert werden können.

API-Methode prüft auf IAM-Berechtigungen, die nicht dem Dienst gehören

Einige Google Cloud -Dienste haben API-Methoden, die nur dann ein Audit-Log generieren, wenn ein bestimmter Berechtigungstyp für einen anderen Dienst aktiviert ist.

Cloud Billing hat beispielsweise eine API-Methode, die nach einem Berechtigungstyp ADMIN_READ sucht, der zu Resource Manager gehört. ADMIN_READ muss für den Dienst cloudresourcemanager.googleapis.com aktiviert sein, um das mit der Cloud Billing API verknüpfte Audit-Log zu aktivieren.

Gleiche API-Methode prüft auf unterschiedliche IAM-Berechtigungen

Bei einigen Google Cloud -APIs bestimmt die Art des Methodenaufrufs, welche IAM-Berechtigungstypen für das Projekt aktiviert sein müssen, damit ein Audit-Log generiert wird.

Spanner hat beispielsweise eine API-Methode, die je nach Aufruf der Methode manchmal nach einer IAM-Berechtigung mit dem Typ DATA_WRITE und manchmal nach einer IAM-Berechtigung mit dem Typ DATA_READ sucht. Wenn Sie in diesem Fall DATA_WRITE für Spanner im Projekt aktivieren, wird durch den API-Aufruf nur das Audit-Log aktiviert, das mit der API verknüpft ist, wenn die IAM-Berechtigung mit dem Typ DATA_WRITE geprüft wird.

Dienstspezifische Konfigurationen

Wenn sowohl eine Google Cloud dienstweite (allServices) Konfiguration als auch eine Konfiguration für einen bestimmten Google Cloud -Dienst vorhanden ist, ist die resultierende Konfiguration für den Dienst die Kombination der beiden Konfigurationen. Dies bedeutet:

  • Sie können Audit-Logs zum Datenzugriff für bestimmte Google Cloud-Dienste aktivieren, aber Sie können Audit-Logs zum Datenzugriff fürGoogle Cloud -Dienste, die in der allgemeinen Konfiguration aktiviert sind, nicht deaktivieren.

  • Sie können dem Audit-Log zum Datenzugriff eines Google Cloud-Dienstes zusätzliche Arten von Informationen hinzufügen, aber keine Arten von Informationen entfernen, die in der umfassenderen Konfiguration angegeben sind.

  • Sie können Hauptkonten zu Ausnahmelisten hinzufügen, aber nicht aus Ausnahmelisten in der allgemeinen Konfiguration entfernen.

  • Für BigQuery Data Transfer Service wird die Audit-Log-Konfiguration für den Datenzugriff von Ihrer Standard-Audit-Log-Konfiguration übernommen.

Google Cloud-MCP-Server schreiben Audit-Logs zum Datenzugriff, die dienstspezifisch sind und das Format SERVICE_NAME.googleapis.com/mcp verwenden. Sie können diese Datenzugriffslogs aktivieren, indem Sie das Audit-Logging für mcp.googleapis.com im IAM-AuditConfig-Objekt aktivieren. Weitere Informationen zum Audit-Logging für Google Cloud-MCP-Server finden Sie unter Audit-Logging für Google Cloud-MCP-Server.

Google Cloud  Ressourcenkonfigurationen

Sie können Audit-Logs zum Datenzugriff für Google Cloud Projekte, Rechnungskonten, Ordner und Organisationen konfigurieren. Wenn es eine Konfiguration für einenGoogle Cloud -Dienst in der Hierarchie gibt, ist die resultierende Konfiguration die Vereinigung der Konfigurationen. Mit anderen Worten: Auf derGoogle Cloud -Projektebene:

  • Sie können Logs für einen Google Cloud -Dienst aktivieren, aber Sie können Logs für einen Google Cloud -Dienst, der in einer übergeordneten Organisation oder einem übergeordneten Ordner aktiviert ist, nicht deaktivieren.

  • Sie können Arten von Informationen aktivieren, aber keine Arten von Informationen deaktivieren, die in einer übergeordneten Organisation oder einem übergeordneten Ordner aktiviert sind.

  • Sie können Hauptkonten zu Ausnahmelisten hinzufügen, aber nicht aus Ausnahmelisten in einer übergeordneten Organisation oder einem übergeordneten Ordner entfernen.

  • Auf der Ebene einer übergeordneten Organisation oder eines übergeordneten Ordners können Sie Audit-Logs zum Datenzugriff für ein Google Cloud -Projekt innerhalb dieser Organisation oder dieses Ordners aktivieren, auch wenn Audit-Logs zum Datenzugriff imGoogle Cloud -Projekt nicht konfiguriert wurden.

Zugriffssteuerung

Der Zugriff auf Logging-Daten wird von IAM-Rollen und -Berechtigungen (Identity and Access Management) gesteuert. Dazu gehört auch das Aufrufen und Verwalten der IAM-Richtlinien, die den Daten-Audit-Logging-Konfigurationen zugrunde liegen.

Wenn Sie die mit der Datenzugriffskonfiguration verknüpften Richtlinien aufrufen oder festlegen möchten, benötigen Sie eine Rolle mit Berechtigungen auf der entsprechenden Ressourcenebene. Eine Anleitung zum Zuweisen dieser Rollen auf Ressourcenebene finden Sie unter Zugriff auf Projekte, Ordner und Organisationen von Google Cloud verwalten.

  • Zum Festlegen von IAM-Richtlinien benötigen Sie eine Rolle mit der Berechtigung resourcemanager.RESOURCE_TYPE.setIamPolicy.

  • Zum Anzeigen von IAM-Richtlinien benötigen Sie eine Rolle mit der Berechtigung resourcemanager.RESOURCE_TYPE.getIamPolicy.

Eine Liste der Berechtigungen und Rollen, die Sie zum Aufrufen von Audit-Logs zum Datenzugriff benötigen, finden Sie unter Zugriffssteuerung mit IAM.

Audit-Logs zum Datenzugriff mit der Google Cloud Console konfigurieren

In diesem Abschnitt wird beschrieben, wie Sie Audit-Logs zum Datenzugriff mit der Google Cloud Console konfigurieren.

Sie können diese Aufgaben auch programmatisch mit der API oder der Google Cloud CLI ausführen. Weitere Informationen finden Sie unter Audit-Logs für den Datenzugriff mit der API konfigurieren.

So greifen Sie in der Google Cloud Console auf die Konfigurationsoptionen für Audit-Logs zu:

  1. Rufen Sie in der Google Cloud Console die Seite Audit-Logs auf:

    Zu Audit Logs

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift IAM & Admin lautet.

  2. Wählen Sie ein vorhandenes Projekt, einen Ordner oder eine Organisation in Google Cloud aus.

Audit-Logs aktivieren

So aktivieren Sie Audit-Logs zum Datenzugriff:

  1. Wählen Sie in der Tabelle Konfiguration für Audit-Logs zum Datenzugriff einen oder mehrereGoogle Cloud -Dienste aus der Spalte Dienst aus.

  2. Wählen Sie auf dem Tab Berechtigungstypen die Audit-Logtypen zum Datenzugriff aus, die Sie für die ausgewählten Dienste aktivieren möchten.

  3. Klicken Sie auf Speichern.

Wenn Sie Audit-Logs erfolgreich aktiviert haben, enthält die Tabelle ein Häkchen.

Im folgenden Beispiel sehen Sie, dass für den Dienst „Access Approval“ der Audit-Logtyp Daten lesen aktiviert ist:

Konfiguration von Audit-Logs

Sie können Audit-Logs auch für alle Google Cloud -Dienste aktivieren, die Audit-Logs zum Datenzugriff erstellen. Wählen Sie in der Tabelle Konfiguration für Audit-Logs zum Datenzugriff alle Google Cloud Dienste aus.

Diese Methode zur Bulk-Konfiguration gilt nur für die Google Cloud-Dienste, die für Ihre Ressource verfügbar sind. Wenn ein neuerGoogle Cloud -Dienst hinzugefügt wird, übernimmt er die Standard-Audit-Konfiguration.

Audit-Logs zum Datenzugriff deaktivieren

So deaktivieren Sie Audit-Logs zum Datenzugriff:

  1. Wählen Sie in der Tabelle Konfiguration für Audit-Logs zum Datenzugriff einen oder mehrereGoogle Cloud -Dienste aus.

  2. Wählen Sie auf dem Tab Logtypen im Informationsfenster die Audit-Logtypen zum Datenzugriff aus, die Sie für die ausgewählten Dienste deaktivieren möchten.

  3. Klicken Sie auf Speichern.

Wenn Sie Audit-Logs zum Datenzugriff deaktiviert haben, wird dies in der Tabelle mit einem Bindestrich angezeigt. Alle aktivierten Audit-Logs zum Datenzugriff sind mit dem Symbol Häkchen gekennzeichnet.

Ausnahmen festlegen

Sie können Ausnahmen festlegen, um zu steuern, welche Hauptkonten Audit-Logs zum Datenzugriff für bestimmte Dienste generieren. Wenn Sie ein ausgenommenes Hauptkonto hinzufügen, werden für die ausgewählten Logtypen keine Audit-Logs für dieses Hauptkonto erstellt.

So legen Sie Ausnahmen fest:

  1. Wählen Sie in der Tabelle Konfiguration für Audit-Logs zum Datenzugriff einenGoogle Cloud -Dienst aus der Spalte Dienst aus.

  2. Wählen Sie im Informationsbereich den Tab Ausgenommene Hauptkonten aus.

  3. Geben Sie unter Ausgenommenes Hauptkonto hinzufügen das Hauptkonto ein, das Sie von der Generierung von Audit-Logs zum Datenzugriff für den ausgewählten Dienst ausnehmen möchten.

    Über den Button Ausgenommenes Hauptkonto hinzufügen können Sie beliebig viele Hauptkonten hinzufügen.

    Eine Liste der gültigen Hauptkonten, einschließlich Nutzern und Gruppen, finden Sie in der Referenz zum Typ Binding.

  4. Wählen Sie unter Deaktivierte Logtypen die Audit-Logtypen für den Datenzugriff aus, die Sie deaktivieren möchten.

  5. Klicken Sie auf Speichern.

Wenn Sie einem Dienst erfolgreich ausgenommene Hauptkonten hinzugefügt haben, wird dies in der Tabelle Konfiguration für Audit-Logs zum Datenzugriff durch eine Zahl in der Spalte Ausgenommene Hauptkonten angezeigt.

So entfernen Sie ein Hauptkonto aus der Ausnahmeliste:

  1. Wählen Sie in der Tabelle Konfiguration für Audit-Logs zum Datenzugriff einenGoogle Cloud -Dienst aus der Spalte Dienst aus.

  2. Wählen Sie im Informationsbereich den Tab Ausgenommene Hauptkonten aus.

  3. Bewegen Sie den Mauszeiger auf den Namen eines Hauptkontos und wählen Sie Löschen aus.

  4. Wenn der Name des Hauptkontos durchgestrichen angezeigt wird, klicken Sie auf Speichern.

So bearbeiten Sie die Informationen für ein ausgenommenes Hauptkonto:

  1. Wählen Sie in der Tabelle Konfiguration für Audit-Logs zum Datenzugriff einenGoogle Cloud -Dienst aus der Spalte Dienst aus.

  2. Wählen Sie im Informationsbereich den Tab Ausgenommene Hauptkonten aus.

  3. Suchen Sie das Hauptkonto und wählen Sie Mehr anzeigen aus.

  4. Wählen Sie die Audit-Logtypen zum Datenzugriff für das Hauptkonto aus oder heben Sie die Auswahl auf.

  5. Klicken Sie auf Speichern.

Standardkonfiguration festlegen

Sie können eine Konfiguration festlegen, die alle neuen und vorhandenen Google Cloud-Dienste in Ihrem Google Cloud -Projekt, -Ordner oder Ihrer -Organisation übernehmen. Diese Standardkonfiguration gilt, wenn ein neuer Google Cloud -Dienst verfügbar wird und Hauptkonten in Ihrer Organisation ihn verwenden: Der Dienst übernimmt die Audit-Logging-Richtlinie, die Sie bereits für andereGoogle Cloud -Dienste festgelegt haben. So wird sichergestellt, dass Audit-Logs zum Datenzugriff erfasst werden.

So legen Sie die Standardkonfiguration fest oder bearbeiten sie:

  1. Klicken Sie auf Standardkonfiguration festlegen.

  2. Wählen Sie auf dem Tab Logtypen im Informationsfenster die Audit-Logtypen für den Datenzugriff aus, die Sie aktivieren oder deaktivieren möchten.

  3. Klicken Sie auf Speichern.

  4. Wählen Sie im Informationsbereich den Tab Ausgenommene Hauptkonten aus.

  5. Geben Sie unter Ausgenommenes Hauptkonto hinzufügen das Hauptkonto ein, das Sie von der Generierung von Audit-Logs zum Datenzugriff für den ausgewählten Dienst ausnehmen möchten.

    Über den Button Ausgenommenes Hauptkonto hinzufügen können Sie beliebig viele Hauptkonten hinzufügen.

    Eine Liste der gültigen Hauptkonten, einschließlich Nutzern und Gruppen, finden Sie in der Referenz zum Typ Binding.

  6. Wählen Sie unter Deaktivierte Logtypen die Audit-Logtypen für den Datenzugriff aus, die Sie deaktivieren möchten.

  7. Klicken Sie auf Speichern.

Audit-Logs zum Datenzugriff mit der API konfigurieren

In diesem Abschnitt wird erläutert, wie Sie die API und die gcloud CLI verwenden, um Audit-Logs zum Datenzugriff programmatisch zu konfigurieren.

Viele dieser Aufgaben können auch mit der Google Cloud Console ausgeführt werden. Eine Anleitung finden Sie auf dieser Seite unter Audit-Logs zum Datenzugriff mit der Google Cloud Console konfigurieren.

Für einige BigQuery-Dienste wie die BigQuery Reservation API müssen Sie Audit-Logs zum Datenzugriff explizit aktivieren. Wenn Sie Audit-Logs für den Datenzugriff für die BigQuery Reservation API aktivieren möchten, müssen Sie Ihre Konfiguration bearbeiten, um ADMIN_READ-Audit-Logs für bigquery.googleapis.com zu aktivieren.

IAM-Richtlinienobjekte

Wenn Sie Audit-Logs für den Datenzugriff über die API konfigurieren möchten, müssen Sie die IAM-Richtlinie bearbeiten, die Ihrem Projekt, Ordner oder Ihrer Organisation in Google Cloud zugeordnet ist. Die Audit-Log-Konfiguration befindet sich im Abschnitt auditConfigs der Richtlinie:

"auditConfigs": [
  {
    object(AuditConfig)
  }
]

Weitere Informationen finden Sie unter IAM-Richtlinientyp.

In den folgenden Abschnitten wird das AuditConfig-Objekt genauer erläutert. Die API- und gcloud CLI-Befehle zum Ändern der Konfiguration finden Sie im Abschnitt getIamPolicy und setIamPolicy.

AuditConfig Objekte

Die Konfiguration der Audit-Logs besteht aus einer Liste mit AuditConfig-Objekten. Mit jedem Objekt werden die Logs für einen Dienst konfiguriert. Sie können mit einem Objekt aber auch eine umfassendere Konfiguration für alle Dienste festlegen. Die Objekte sehen so aus:

{
  "service": SERVICE_NAME,
  "auditLogConfigs": [
    {
      "logType": "ADMIN_READ"
      "exemptedMembers": [ PRINCIPAL,]
    },
    {
      "logType": "DATA_READ"
      "exemptedMembers": [ PRINCIPAL,]
    },
    {
      "logType": "DATA_WRITE"
      "exemptedMembers": [ PRINCIPAL,]
    },
  ]
},

SERVICE_NAME hat einen Wert wie "appengine.googleapis.com" oder den Sonderwert "allServices". Wenn ein bestimmter Dienst in einer Konfiguration nicht angegeben ist, wird für diesen Dienst die umfassendere Konfiguration verwendet. Wenn keine Konfiguration vorhanden ist, sind für diesen Dienst keine Audit-Logs zum Datenzugriff aktiviert. Eine Liste der Dienstnamen finden Sie unter Logdienste.

Der auditLogConfigs-Abschnitt des AuditConfig-Objekts ist eine Liste von 0 bis 3 Objekten, von denen jedes eine Art von Audit-Loginformationen konfiguriert. Wenn Sie eine Art in der Liste weglassen, wird diese Art von Informationen nicht für den Dienst aktiviert.

PRINCIPAL ist ein Nutzer, für den keine Audit-Logs für den Datenzugriff erfasst werden. Der Typ Binding beschreibt verschiedene Arten von Hauptkonten, einschließlich Nutzern und Gruppen. Nicht alle davon können jedoch zum Konfigurieren von Audit-Logs für den Datenzugriff verwendet werden.

Das folgende Beispiel zeigt eine Audit-Log-Konfiguration im JSON- und YAML-Format. Das YAML-Format ist das Standardformat, wenn Sie die Google Cloud CLI verwenden.

JSON

"auditConfigs": [
  {
    "auditLogConfigs": [
      {
        "logType": "ADMIN_READ"
      },
      {
        "logType": "DATA_WRITE"
      },
      {
        "logType": "DATA_READ"
      }
    ],
    "service": "allServices"
  },
  {
    "auditLogConfigs": [
      {
        "exemptedMembers": [
          "499862534253-compute@"
        ],
        "logType": "ADMIN_READ"
      }
    ],
    "service": "cloudsql.googleapis.com"
  }
],

YAML

auditConfigs:
- auditLogConfigs:
  - logType: ADMIN_READ
  - logType: DATA_WRITE
  - logType: DATA_READ
  service: allServices
- auditLogConfigs:
  - exemptedMembers:
    - 499862534253-compute@
    logType: ADMIN_READ
  service: cloudsql.googleapis.com

Häufig verwendete Konfigurationen

Im Folgenden finden Sie einige gängige Audit-Log-Konfigurationen für Google Cloud -Projekte.

Alle Audit-Logs zum Datenzugriff aktivieren

Im folgenden auditConfigs-Abschnitt werden Audit-Logs zum Datenzugriff für alle Dienste und Hauptkonten aktiviert:

JSON

"auditConfigs": [
      {
        "service": "allServices",
        "auditLogConfigs": [
          { "logType": "ADMIN_READ" },
          { "logType": "DATA_READ"  },
          { "logType": "DATA_WRITE" },
        ]
      },
    ]

YAML

auditConfigs:
- auditLogConfigs:
  - logType: ADMIN_READ
  - logType: DATA_WRITE
  - logType: DATA_READ
  service: allServices

Einen Dienst und eine Informationsart aktivieren

Mit der folgenden Konfiguration werden DATA_WRITE-Audit-Logs zum Datenzugriff für Cloud SQL aktiviert:

JSON

"auditConfigs": [
  {
    "service": "cloudsql.googleapis.com",
    "auditLogConfigs": [
      { "logType": "DATA_WRITE" },
    ]
  },
]

YAML

auditConfigs:
- auditLogConfigs:
  - logType: DATA_WRITE
  service: cloudsql.googleapis.com

Alle Audit-Logs zum Datenzugriff deaktivieren

Wenn Sie alle Audit-Logs zum Datenzugriff (mit Ausnahme einiger BigQuery-Logs) in einem Google Cloud -Projekt deaktivieren möchten, fügen Sie Ihrer neuen IAM-Richtlinie einen leeren auditConfigs:-Abschnitt hinzu:

JSON

"auditConfigs": [],

YAML

auditConfigs:

Wenn Sie den Abschnitt auditConfigs vollständig aus der neuen Richtlinie entfernen, wird die vorhandene Konfiguration der Audit-Logs zum Datenzugriff von setIamPolicy nicht geändert. Weitere Informationen finden Sie im Abschnitt Die Updatemaske setIamPolicy.

Für BigQuery können Audit-Logs zum Datenzugriff nicht deaktiviert werden.

getIamPolicy und setIamPolicy

Sie verwenden die Cloud Resource Manager API-Methoden getIamPolicy und setIamPolicy, um Ihre IAM-Richtlinie zu lesen und zu schreiben. Sie können aus mehreren Methoden wählen:

  • Die Cloud Resource Manager API bietet die folgenden Methoden:

    projects.getIamPolicy
    projects.setIamPolicy
    organizations.getIamPolicy
    organizations.setIamPolicy
    
  • Die Google Cloud CLI bietet die folgenden Resource Manager-Befehle:

    gcloud projects get-iam-policy
    gcloud projects set-iam-policy
    gcloud resource-manager folders get-iam-policy
    gcloud resource-manager folders set-iam-policy
    gcloud organizations get-iam-policy
    gcloud organizations set-iam-policy
    gcloud beta billing accounts get-iam-policy
    gcloud beta billing accounts set-iam-policy
    

Führen Sie ungeachtet Ihrer Wahl die folgenden drei Schritte aus:

  1. Lesen Sie die aktuelle Richtlinie mit einer getIamPolicy-Methode. Speichern Sie die Richtlinie in einer temporären Datei.
  2. Bearbeiten Sie die Richtlinie in der temporären Datei. Ändern Sie nur den Abschnitt auditConfigs bzw. fügen Sie diesen hinzu.
  3. Schreiben Sie die bearbeitete Richtlinie mit einer setIamPolicy-Methode in die temporäre Datei.

Wenn vom Resource Manager festgestellt wird, dass die Richtlinie von einem anderen Nutzer geändert wurde, nachdem Sie sie im ersten Schritt gelesen haben, schlägt setIamPolicy fehl. Wiederholen Sie in diesem Fall die drei Schritte.

Beispiele

Die folgenden Beispiele zeigen, wie Sie die Datenzugriffs-Audit-Logs Ihres Projekts mit dem Befehl gcloud und der Cloud Resource Manager API konfigurieren.

Damit Sie Audit-Logs für den Datenzugriff für die Organisation konfigurieren können, ersetzen Sie die Projektversion der Befehle und API-Methoden durch die Organisationsversion.

gcloud

So konfigurieren Sie mit dem Befehl gcloud projects Audit-Logs zum Datenzugriff:

  1. Lesen Sie die IAM-Richtlinie des Projekts und speichern Sie sie in einer Datei:

    gcloud projects get-iam-policy PROJECT_ID > /tmp/policy.yaml
    

    Im Folgenden wird die zurückgegebene Richtlinie gezeigt. Diese Richtlinie enthält keinen auditConfigs-Abschnitt:

    bindings:
    - members:
      - user:colleague@example.com
      role: roles/editor
    - members:
      - user:myself@example.com
      role: roles/owner
    etag: BwVM-FDzeYM=
    version: 1
    
  2. Bearbeiten Sie die Richtlinie in /tmp/policy.yaml, wobei Sie nur die Konfiguration der Audit-Logs zum Datenzugriff hinzufügen oder ändern.

    Beispiel für eine bearbeitete Richtlinie, die Audit-Logs zum Datenzugriff für Cloud SQL-Datenschreibvorgänge aktiviert:

    auditConfigs:
    - auditLogConfigs:
      - logType: DATA_WRITE
      service: cloudsql.googleapis.com
    bindings:
    - members:
      - user:colleague@example.com
      role: roles/editor
    - members:
      - user:myself@example.com
      role: roles/owner
    etag: BwVM-FDzeYM=
    version: 1
    

    Wie im vorherigen Beispiel zu sehen ist, wurden am Anfang der Richtlinie vier Zeilen hinzugefügt.

  3. Schreiben Sie die neue IAM-Richtlinie:

    gcloud projects set-iam-policy PROJECT_ID /tmp/policy.yaml
    

    Wenn durch den vorangegangenen Befehl ein Konflikt mit einer anderen Änderung ausgelöst wird, wiederholen Sie diese Schritte ab Punkt 1.

JSON

Um mit Ihrer IAM-Richtlinie im JSON-Format anstelle von YAML zu arbeiten, ersetzen Sie die folgenden gcloud-Befehle im Beispiel:

gcloud projects get-iam-policy PROJECT_ID --format=json >/tmp/policy.json
gcloud projects set-iam-policy PROJECT_ID /tmp/policy.json

API

So konfigurieren Sie Audit-Logs für den Datenzugriff mit der Cloud Resource Manager API:

  1. Lesen Sie die IAM-Richtlinie des Projekts und legen Sie für die API-Methode "getIamPolicy" die folgenden Parameter fest:

    • Ressource: projects/PROJECT_ID
    • Anfragetext: leer

    Die Methode gibt das aktuelle Richtlinienobjekt zurück:

    {
      "version": 1,
      "etag": "BwXqwxkr40M=",
      "bindings": [
        {
          "role": "roles/owner",
          "members": [
            "user:myself@example.com"
          ]
        }
      ]
    }
    

    Das vorherige Beispiel zeigt, dass die Richtlinie des Projekts keinen auditConfigs-Abschnitt hat.

  2. Bearbeiten Sie die aktuelle Richtlinie:

    • Ändern Sie den Abschnitt auditConfigs oder fügen Sie ihn hinzu.

      Um die Audit-Logs zum Datenzugriff zu deaktivieren, fügen Sie einen leeren Wert für den Abschnitt auditConfigs:[] ein.

    • Übernehmen Sie den Wert von etag.

    Sie können auch alle anderen Informationen aus dem neuen Richtlinienobjekt entfernen, sofern Sie im nächsten Schritt updateMask festlegen. Im Folgenden sehen Sie die bearbeitete Richtlinie, mit der Cloud SQL-DATA_WRITE-Audit-Logs aktiviert werden:

    {
      "policy": {
        "auditConfigs": [
          {
            "auditLogConfigs": [
              {
                "logType": "DATA_WRITE"
              }
            ],
            "service": "cloudsql.googleapis.com"
          }
        ],
        "etag": "BwXqwxkr40M="
      },
      "updateMask": "auditConfigs,etag"
    }
    
  3. Schreiben Sie die neue Richtlinie mit der API-Methode setIamPolicy und geben Sie die folgenden Parameter an:

    • Ressource: projects/PROJECT_ID
    • Anfragetext: Fügen Sie die bearbeitete Richtlinie ein.

Die Aktualisierungsmaske setIamPolicy.

In diesem Abschnitt wird die Bedeutung des Parameters updateMask in der Methode setIamPolicy erläutert. Außerdem wird erklärt, warum Sie mit dem gcloud CLI-Befehl set-iam-policy vorsichtig sein müssen, um versehentliche Schäden an Ihrem Projekt oder Ihrer Organisation in Google Cloud zu vermeiden.

Die API-Methode setIamPolicy verwendet einen updateMask-Parameter, um zu steuern, welche Richtlinienfelder aktualisiert werden. Wenn die Maske beispielsweise keinen Wert für bindings enthält, kann dieser Richtlinienabschnitt nicht versehentlich geändert werden. Enthält die Maske dagegen einen Wert für bindings, dann wird dieser Abschnitt immer aktualisiert. Wenn Sie keinen geänderten Wert für bindings angeben, wird dieser Abschnitt vollständig aus der Richtlinie entfernt.

Mit dem Befehl gcloud projects set-iam-policy, der setIamPolicy aufruft, können Sie den Parameter updateMask nicht festlegen. Stattdessen wird mit dem Befehl folgendermaßen ein Wert für updateMask berechnet:

  • updateMask enthält immer die Felder bindings und etag.
  • Wenn das in set-iam-policy angegebene Richtlinienobjekt andere Felder der obersten Ebene wie auditConfigs enthält, werden diese Felder zu updateMask hinzugefügt.

Der Befehl set-iam-policy verhält sich aufgrund dieser Regeln wie im Folgenden dargestellt.

  • Wenn Sie den Abschnitt auditConfigs in der neuen Richtlinie weglassen, bleibt der vorherige Wert des Abschnitts auditConfigs (falls vorhanden) erhalten, da dieser Abschnitt nicht Teil der Aktualisierungsmaske ist. Dies hat keine Auswirkung, kann aber verwirrend sein.

  • Wenn Sie bindings in Ihrem neuen Richtlinienobjekt weglassen, wird der Abschnitt bindings aus Ihrer Richtlinie entfernt, da dieser Abschnitt in der Updatemaske angezeigt wird. Dies ist sehr schädlich und führt dazu, dass alle Hauptkonten den Zugriff auf Ihr Google Cloud -Projekt verlieren.

  • Wenn Sie etag im neuen Richtlinienobjekt weglassen, wird die Richtlinie nicht mehr auf gleichzeitig vorgenommene Änderungen überprüft und Ihre Änderungen überschreiben möglicherweise die Änderungen eines anderen Nutzers.