Audit-Logs zum Datenzugriff aktivieren

In dieser Anleitung wird erläutert, wie Sie in Ihren Google Cloud-Projekten, Rechnungskonten, Ordnern und Organisationen einige oder alle Audit-Logs zum Datenzugriff mithilfe der Google Cloud Console oder der API aktivieren oder deaktivieren.

Hinweise

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

  • Audit-Logs zum Datenzugriff sind – außer bei BigQuery – standardmäßig deaktiviert. Wenn Audit-Logs zum Datenzugriff für andere Google Cloud-Dienste als BigQuery geschrieben werden sollen, müssen Sie sie explizit aktivieren.

  • Audit-Logs für den Datenzugriff werden im Bucket _Default gespeichert, sofern Sie sie nicht an eine andere Stelle 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.

Konfigurationsübersicht

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

  • Organisationen: Sie können Audit-Logs zum Datenzugriff in einer Organisation aktivieren und konfigurieren. Dies gilt dann für alle vorhandenen und neuen Google Cloud-Projekte und ‑Ordner in der Organisation.

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

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

  • Abrechnungskonten: Verwenden Sie die Google Cloud CLI, um Audit-Logs zum Datenzugriff für Abrechnungskonten 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 künftige Google Cloud-Dienste gilt, bei denen Audit-Logs für den Datenzugriff erstellt werden. Eine Anleitung finden Sie unter Standardkonfiguration festlegen.

  • Berechtigungstypen: Sie können angeben, dass Google Cloud APIs, die nur auf eine bestimmte Berechtigungsart prüfen, ein Audit-Log generieren. Weitere Informationen finden Sie auf dieser Seite im Abschnitt Berechtigungstypen.

  • Ausgenommene Hauptkonten: Sie können festlegen, dass die Datenzugriffe bestimmter Hauptkonten nicht aufgezeichnet werden. Beispielsweise haben Sie die Möglichkeit, die Aufzeichnung der Cloud Monitoring-Vorgänge für Ihre internen Testkonten auszuschließen. Eine Liste gültiger Hauptkonten, einschließlich Nutzern und Gruppen, finden Sie in der Binding-Typreferenz.

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

Berechtigungstypen

Bei API-Methoden werden IAM-Berechtigungen geprüft. Jede IAM-Berechtigung hat einen Berechtigungstyp, der durch die Property 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: Bei IAM-Berechtigungen dieses Typs wird geprüft, ob Google Cloud API-Methoden Metadaten oder Konfigurationsinformationen lesen. ADMIN_READ-Audit-Logs sind in der Regel standardmäßig deaktiviert und müssen aktiviert werden.

    • DATA_READ: IAM-Berechtigungen dieses Typs werden für Google Cloud API-Methoden geprüft, mit denen von Nutzern bereitgestellte Daten gelesen werden. Audit-Logs für DATA_READ sind in der Regel standardmäßig deaktiviert und müssen aktiviert werden.

    • DATA_WRITE: IAM-Berechtigungen dieses Typs werden für Google Cloud API-Methoden geprüft, mit denen von Nutzern bereitgestellte Daten geschrieben werden. Audit-Logs für DATA_WRITE sind in der Regel standardmäßig deaktiviert und müssen aktiviert werden.

  • Berechtigungstyp „Administratoraktivitäten“:

    • ADMIN_WRITE: Bei IAM-Berechtigungen dieses Typs wird geprüft, ob Google Cloud API-Methoden Metadaten oder Konfigurationsinformationen schreiben. Die zugehörigen 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 die Google 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 Cloud API-Methoden auf IAM-Berechtigungen prüfen. Dienstspezifische Informationen dazu, welche Methoden auf welche Berechtigungstypen geprüft werden, finden Sie in der Dokumentation zum Audit-Logging des Dienstes.

IAM-Berechtigungen 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 für das Projekt aktiviert ist.

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

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

Bei einigen Google Cloud API-Methoden wird sowohl eine IAM-Berechtigung mit dem Berechtigungstyp ADMIN_WRITE als auch eine oder mehrere Berechtigungen mit dem Berechtigungstyp „Datenzugriff“ geprüft.

Diese Arten von API-Aufrufen generieren Audit-Logs zu Administratoraktivitäten, 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 bietet beispielsweise eine API-Methode, die nach einem ADMIN_READ-Berechtigungstyp sucht, dessen Inhaber Resource Manager ist. ADMIN_READ muss für den Dienst cloudresourcemanager.googleapis.com aktiviert sein, damit das mit der Cloud Billing API verknüpfte Audit-Log aktiviert werden kann.

Bei derselben API-Methode werden unterschiedliche IAM-Berechtigungen geprüft

Bei einigen Google Cloud APIs hängt es vom Aufruf der Methode ab, welche IAM-Berechtigungstypen für das Projekt aktiviert sein müssen, damit ein Audit-Log generiert werden kann.

Spanner hat beispielsweise eine API-Methode, die je nach Aufruf der Methode manchmal auf eine IAM-Berechtigung vom Typ DATA_WRITE und manchmal auf eine IAM-Berechtigung vom Typ DATA_READ prüft. In diesem Fall wird durch die Aktivierung von DATA_WRITE für Spanner im Projekt, in dem der API-Aufruf erfolgt, das mit der API verknüpfte Audit-Log nur aktiviert, wenn die IAM-Berechtigung vom Typ DATA_WRITE geprüft wird.

Dienstspezifische Konfigurationen

Wenn sowohl eine Konfiguration für alle Google Cloud-Dienste (allServices) als auch eine Konfiguration für einen bestimmten Google Cloud-Dienst vorhanden ist, werden für die endgültige Konfiguration des Dienstes beide Konfigurationen zusammengefasst. Dies bedeutet:

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

  • Sie können einem Audit-Log zum Datenzugriff eines Google Cloud-Dienstes zusätzliche Informationsarten hinzufügen, aber keine Informationsarten entfernen, die in der umfassenderen Konfiguration festgelegt sind.

  • Sie können Prinzipale zu Ausnahmelisten hinzufügen, aber keine Prinzipale aus den Ausnahmelisten der umfassenderen Konfiguration entfernen.

  • Für BigQuery Data Transfer Service wird die Konfiguration der Audit-Logs zum Datenzugriff von der Standardkonfiguration der Audit-Logs übernommen.

Google Cloud-Ressourcenkonfigurationen

Audit-Logs zum Datenzugriff können für Google Cloud-Projekte, Rechnungskonten, Ordner und Organisationen konfiguriert werden. Wenn eine Konfiguration für einen Google Cloud-Dienst in der Hierarchie vorhanden ist, ist die resultierende Konfiguration die Vereinigung der Konfigurationen. Das bedeutet auf Google Cloud-Projektebene Folgendes:

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

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

  • Sie können Prinzipale zu Ausnahmelisten hinzufügen, aber sie nicht aus den Ausnahmelisten einer übergeordneten Organisation oder eines übergeordneten Ordners entfernen.

  • Auf Ebene einer übergeordneten Organisation oder eines übergeordneten Ordners können Sie Audit-Logs zum Datenzugriff für ein Google Cloud-Projekt in dieser Organisation oder in diesem Ordner aktivieren, auch wenn in dem Google Cloud-Projekt keine Audit-Logs zum Datenzugriff 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 Google Cloud-Projekte, Ordner und Organisationen 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 erläutert, wie Sie Datenzugriffs-Audit-Logs mithilfe der Google Cloud Console konfigurieren.

Sie können die entsprechenden Aufgaben auch programmatisch mit der API oder der Google Cloud CLI ausführen. Weitere Informationen finden Sie unter Audit-Logs zum Datenzugriff mit der API konfigurieren.

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

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

    Gehen Sie zu Audit-Logs.

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

  2. Wählen Sie ein vorhandenes Google Cloud-Projekt, einen Ordner oder eine Organisation 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 in der Spalte Dienst einen oder mehrere Google Cloud-Dienste aus.

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

  3. Klicken Sie auf Speichern.

Wenn die Audit-Logs aktiviert wurden, enthält die Tabelle das Symbol  Häkchen.

Im folgenden Beispiel sehen Sie, dass für den Dienst „Zugriffsgenehmigung“ der Audit-Log-Typ Daten lesen aktiviert ist:

Konfiguration von Audit-Logs

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

Beachten Sie, dass diese Bulk-Konfigurationsmethode nur für die Google Cloud-Dienste gilt, die für Ihre Ressource verfügbar sind. Wenn ein neuer Google Cloud-Dienst hinzugefügt wird, übernimmt dieser die Audit-Standardkonfiguration.

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 mehrere Google Cloud-Dienste aus.

  2. Wählen Sie im Informationsfeld auf dem Tab Logtypen die Audit-Logtypen für den 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 einem Häkchen gekennzeichnet.

Ausnahmen festlegen

Mit Ausnahmen können Sie steuern, welche Hauptkonten Audit-Logs zum Datenzugriff für bestimmte Dienste erstellen können. Wenn Sie ein Hauptkonto hinzufügen, das ausgenommen werden soll, werden für dieses Hauptkonto keine Audit-Logs für die ausgewählten Logtypen erstellt.

So legen Sie Ausnahmen fest:

  1. Wählen Sie in der Tabelle Konfiguration von Audit-Logs zum Datenzugriff in der Spalte Dienst einen Google Cloud-Dienst aus.

  2. Wählen Sie im Informationsfenster den Tab Ausgenommene Hauptberechtigte aus.

  3. Geben Sie unter Ausgenommenes Hauptkonto hinzufügen das Hauptkonto ein, für das keine Audit-Logs zum Datenzugriff für den ausgewählten Dienst generiert werden sollen.

    Sie können mehrere Hauptkonten hinzufügen, indem Sie so oft wie nötig auf die Schaltfläche Ausgenommenes Hauptkonto hinzufügen klicken.

    Eine Liste der gültigen Hauptkonten, einschließlich Nutzern und Gruppen, finden Sie in der Binding-Typreferenz.

  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 ausgenommene Hauptkonten hinzugefügt haben, wird dies in der Tabelle Konfiguration für Audit-Logs zum Datenzugriff in der Spalte Ausgenommene Hauptkonten durch eine Zahl angezeigt.

So entfernen Sie ein Hauptkonto aus der Ausnahmeliste:

  1. Wählen Sie in der Tabelle Konfiguration von Audit-Logs zum Datenzugriff in der Spalte Dienst einen Google Cloud-Dienst aus.

  2. Wählen Sie im Informationsfenster den Tab Ausgenommene Hauptberechtigte aus.

  3. Bewegen Sie den Mauszeiger auf einen Principal-Namen und wählen Sie dann Löschen aus.

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

So bearbeiten Sie die Informationen für eine ausgenommene Hauptperson:

  1. Wählen Sie in der Tabelle Konfiguration von Audit-Logs zum Datenzugriff in der Spalte Dienst einen Google Cloud-Dienst aus.

  2. Wählen Sie im Informationsfenster den Tab Ausgenommene Hauptberechtigte aus.

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

  4. Aktivieren oder deaktivieren Sie die gewünschten Audit-Logtypen für den Nutzer.

  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, in Ihrem Ordner oder in Ihrer Organisation übernimmt. Die Festlegung dieser Standardkonfiguration gilt, wenn ein neuer Google Cloud-Dienst verfügbar und von Nutzern in Ihrer Organisation verwendet wird: Der Dienst übernimmt die Audit-Logging-Richtlinie, die Sie bereits für andere Google Cloud-Dienste festgelegt haben und sorgt dafür, 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 im Informationsfenster auf dem Tab Logtypen 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 Informationsfenster den Tab Ausgenommene Hauptberechtigte aus.

  5. Geben Sie unter Ausgenommenes Hauptkonto hinzufügen das Hauptkonto ein, für das keine Audit-Logs zum Datenzugriff für den ausgewählten Dienst generiert werden sollen.

    Sie können mehrere Hauptkonten hinzufügen, indem Sie so oft wie nötig auf die Schaltfläche Ausgenommenes Hauptkonto hinzufügen klicken.

    Eine Liste der gültigen Hauptkonten, einschließlich Nutzern und Gruppen, finden Sie in der Binding-Typreferenz.

  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 mit der API und der gcloud CLI Audit-Logs für den Datenzugriff programmatisch konfigurieren.

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

IAM-Richtlinienobjekte

Damit Sie mit der API Audit-Logs für den Datenzugriff konfigurieren können, müssen Sie die Ihrem Google Cloud-Projekt, Ordner oder Ihrer Organisation zugeordnete IAM-Richtlinie bearbeiten. Die Konfiguration der Audit-Logs 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 speziellen Wert "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 können jedoch zum Konfigurieren von Audit-Logs zum Datenzugriff verwendet werden.

Das folgende Beispiel zeigt eine Audit-Log-Konfiguration im JSON- und YAML-Format. Für die Google Cloud CLI wird standardmäßig das YAML-Format verwendet.

JSON

"auditConfigs": [
  {
    "auditLogConfigs": [
      {
        "logType": "ADMIN_READ"
      },
      {
        "logType": "DATA_WRITE"
      },
      {
        "logType": "DATA_READ"
      }
    ],
    "service": "allServices"
  },
  {
    "auditLogConfigs": [
      {
        "exemptedMembers": [
          "499862534253-compute@developer.gserviceaccount.com"
        ],
        "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@developer.gserviceaccount.com
    logType: ADMIN_READ
  service: cloudsql.googleapis.com

Häufig verwendete Konfigurationen

Nachfolgend werden verschiedene allgemeine Audit-Logkonfigurationen für Google Cloud-Projekte gezeigt.

Alle Audit-Logs zum Datenzugriff aktivieren

Mit dem folgenden Abschnitt auditConfigs aktivieren Sie Datenzugriffslogs für alle Dienste und Hauptberechtigte:

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 für den 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 innerhalb eines Google Cloud-Projekts alle Audit-Logs für den Datenzugriff – außer für BigQuery – deaktivieren möchten, fügen Sie in die neue IAM-Richtlinie einen leeren Abschnitt auditConfigs: ein:

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 Aktualisierungsmaske setIamPolicy.

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

getIamPolicy und setIamPolicy

Mit den Methoden getIamPolicy und setIamPolicy der Cloud Resource Manager API können Sie Ihre IAM-Richtlinie lesen und schreiben. Sie können aus mehreren Methoden wählen:

  • Die Cloud Resource Manager API bietet folgende Methoden:

    projects.getIamPolicy
    projects.setIamPolicy
    organizations.getIamPolicy
    organizations.setIamPolicy
    
  • Die Google Cloud CLI bietet folgende 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
    

    Unten sehen Sie die zurückgegebene Richtlinie. Diese Richtlinie enthält keinen Abschnitt auditConfigs:

    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 für den Datenzugriff hinzufügen oder ändern.

    Hier ein Beispiel für die bearbeitete Richtlinie, mit der Audit-Logs für Schreibvorgänge bei Datenzugriffen in Cloud SQL aktiviert werden:

    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 gezeigt, 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 Abschnitt auditConfigs enthält.

  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 ist die bearbeitete Richtlinie dargestellt, mit der Audit-Logs für DATA_WRITE in Cloud SQL 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 setIamPolicy API-Methode. Geben Sie dabei die folgenden Parameter an:

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

Die Aktualisierungsmaske setIamPolicy.

In diesem Abschnitt wird gezeigt, wie wichtig der Parameter updateMask in der Methode setIamPolicy ist, und erläutert, warum Sie vorsichtig mit dem Befehl set-iam-policy der gcloud CLI sein müssen, damit Ihr Google Cloud-Projekt oder Ihre Organisation nicht versehentlich zu Schaden kommt.

Bei der setIamPolicy API-Methode legt der Parameter updateMask fest, 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 im neuen Richtlinienobjekt weglassen, wird der Abschnitt bindings aus der Richtlinie entfernt, da dieser Abschnitt in der Aktualisierungsmaske enthalten ist. Dies ist sehr schädlich und führt dazu, dass alle Hauptbevollmächtigten 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.