Audit-Logs zum Datenzugriff aktivieren

In diesem Leitfaden wird erläutert, wie Sie einige oder alle Audit-Logs zum Datenzugriff in Ihrem Google Cloud-Projekte, Rechnungskonten, Ordner und Organisationen über die Google Cloud Console oder die API.

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 zum Datenzugriff werden in der _Default-Bucket, es sei denn, haben Sie sie an eine andere Stelle weitergeleitet. 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 bestimmte Aspekte von Audit-Logs zum Datenzugriff für Ihre Google Cloud-Ressourcen und -Dienste aktivieren und konfigurieren:

  • Organisationen: Sie können Audit-Logs zum Datenzugriff in einer Organisation, was für alle bestehenden und neuen Google Cloud-Projekte und -Ordner in der Organisation.

  • Ordner: Sie können Audit-Logs zum Datenzugriff in einer der für alle bestehenden und neuen Google Cloud-Projekte in Ordner. Sie können kein Audit-Log zum Datenzugriff deaktivieren, das in das übergeordnete Unternehmen des Projekts.

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

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

  • Standardkonfigurationen: Sie können ein standardmäßiges Audit-Log zum Datenzugriff angeben Konfiguration, die in einer Organisation, einem Ordner oder einem Google Cloud-Projekt gilt für zukünftige Google Cloud-Dienste, die beginnen, Daten Auf Audit-Logs zugreifen Anweisungen finden Sie unter Legen Sie die Standardkonfiguration fest.

  • Dienste: Sie können die Dienste angeben, für die Sie Audit-Logs erstellen möchten. empfangen werden. Sie möchten beispielsweise Audit-Logs von Compute Engine, aber nicht von Cloud SQL erhalten. Eine Liste der Google Cloud- die Audit-Logs generieren können, Google-Dienste mit Audit-Logs

  • Logtypen: Sie können konfigurieren, welche Arten von Vorgängen aufgezeichnet werden. Ihre Audit-Logs zum Datenzugriff. Für den Datenzugriff stehen drei Audit-Logtypen zur Verfügung:

    • ADMIN_READ: Zeichnet Vorgänge auf, bei denen Metadaten oder Konfigurationsinformationen gelesen werden.

    • DATA_READ: Zeichnet Vorgänge auf, die von Nutzern bereitgestellte Daten lesen.

    • DATA_WRITE: Zeichnet Vorgänge auf, die von Nutzern bereitgestellte Daten schreiben.

    Cloud DNS schreibt beispielsweise alle drei Arten von Datenzugriffslogs, aber können Sie Audit-Logs zum Datenzugriff so konfigurieren, DATA_WRITE Vorgänge.

  • Ausgenommene Hauptkonten: Sie können bestimmte Hauptkonten von die Datenzugriffe aufzeichnen. Sie können beispielsweise Ihre internen Testkonten den Cloud Monitoring-Betrieb aufgezeichnet. Eine Liste gültiger Hauptkonten, einschließlich Nutzern und Gruppen, sieh dir die Binding-Typreferenz.

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

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.

  • Hauptkonten können Ausnahmelisten hinzugefügt, aber nicht entfernt werden aus Ausnahmelisten in der umfassenderen Konfiguration.

  • Die Konfiguration des Audit-Logs zum Datenzugriff für BigQuery Data Transfer Service ist übernommen von der Audit-Log-Standardkonfiguration.

Google Cloud-Ressourcenkonfigurationen

Sie können Audit-Logs zum Datenzugriff für Google Cloud-Projekte, Rechnungskonten, Ordner und Organisationen. Wenn eine Konfiguration für eine Google Cloud-Dienst in der gesamten Hierarchie an, dann werden die Konfiguration ist die Vereinigung der Konfigurationen. Mit anderen Worten: Google Cloud-Projektebene:

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

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

  • Hauptkonten können Ausnahmelisten hinzugefügt, aber nicht entfernt werden aus Ausnahmelisten in einer übergeordneten Organisation oder einem übergeordneten Ordner stammen.

  • Auf übergeordneter Organisations- oder Ordnerebene können Sie die Datenzugriffsüberprüfung aktivieren Logs für ein Google Cloud-Projekt innerhalb dieser Organisation wenn im Google Cloud-Projekt

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. Anweisungen zur dem Gewähren dieser Rollen auf Ressourcenebene, siehe 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.

Liste der Berechtigungen und Rollen, die Sie zum Ansehen der Datenzugriffsüberprüfung benötigen Logs finden Sie unter Zugriffssteuerung mit IAM

Audit-Logs zum Datenzugriff mit der Google Cloud Console konfigurieren

In diesem Abschnitt wird erläutert, wie Sie Daten mit der Google Cloud Console konfigurieren Auf Audit-Logs zugreifen

Sie können diese Aufgaben auch mit der API oder der Google Cloud CLI ausführen programmatically; Siehe Konfigurieren Sie Audit-Logs zum Datenzugriff mit der API.

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

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

    Zu Audit-Logs

    Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis mit der Zwischenüberschrift IAM und Verwaltung.

  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 der Audit-Logs zum Datenzugriff mindestens einen Eintrag aus. Google Cloud-Dienste aus der Spalte Dienst aus.

  2. Wählen Sie auf dem Tab Logtypen 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 aktiviert haben, enthält die Tabelle ein Häkchensymbol.

Im folgenden Beispiel sehen Sie, dass der Dienst für die Zugriffsgenehmigung Der Audit-Log-Typ Datenlesevorgang ist aktiviert:

Konfiguration von Audit-Logs

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

Diese Bulk-Konfigurationsmethode gilt nur für die Google Cloud Dienste, die derzeit für Ihre Ressource verfügbar sind. Wenn ein neuer Der Google Cloud-Dienst wird hinzugefügt und übernimmt Ihre Audit-Standardkonfiguration.

Audit-Logs zum Datenzugriff deaktivieren

So deaktivieren Sie Audit-Logs zum Datenzugriff:

  1. Wählen Sie in der Tabelle Konfiguration der Audit-Logs zum Datenzugriff mindestens einen Eintrag aus. Google Cloud-Dienste.

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

  3. Klicken Sie auf Speichern.

Wenn Sie Audit-Logs zum Datenzugriff deaktiviert haben, sehen Sie in der Tabelle mit einem Bindestrich. Alle aktivierten Audit-Logs zum Datenzugriff sind mit einem Häkchensymbol.

Ausnahmen festlegen

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

So richten Sie Ausnahmen ein:

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

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

  3. Geben Sie unter Ausgenommenes Hauptkonto hinzufügen das Hauptkonto ein, das ausgenommen werden soll zum Generieren von Datenzugriffs-Audit-Logs für den ausgewählten Dienst.

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

    Eine Liste gültiger Hauptkonten, einschließlich Nutzer und Gruppen, Siehe Referenz des Typs Binding.

  4. Wählen Sie unter Deaktivierte Logtypen die Audit-Logtypen zum Datenzugriff aus. die Sie deaktivieren möchten.

  5. Klicken Sie auf Speichern.

Wenn Sie einem Dienst erfolgreich ausgenommene Hauptkonten hinzugefügt haben, ist das Feld Data In der Tabelle „Konfiguration von Audit-Logs für den Zugriff“ wird dies mit einer Zahl unter dem Spalte Ausgenommene Hauptkonten:

So entfernen Sie ein Hauptkonto aus der Ausnahmeliste:

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

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

  3. Bewegen Sie den Mauszeiger auf einen Hauptkontonamen 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 ein ausgenommenes Hauptkonto:

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

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

  3. maximieren Prinzipalname.

  4. Wählen Sie die Audit-Logtypen zum Datenzugriff entsprechend den Prinzipal.

  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, Ihrem Ordner oder Ihrer Organisation übernehmen. Diese Standardkonfiguration gilt, wenn ein neuer Google Cloud-Dienst verfügbar und Hauptkonten in Ihrer Organisation beginnen, es zu verwenden: übernimmt der Dienst die Audit-Logging-Richtlinie, die Sie bereits für andere Google Cloud-Dienste, mit denen 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 Log-Typen im Informationsfenster die Option für den Datenzugriff aus. Audit-Logtypen, die Sie aktivieren oder deaktivieren möchten.

  3. Klicken Sie auf Speichern.

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

  5. Geben Sie unter Ausgenommenes Hauptkonto hinzufügen das Hauptkonto ein, das ausgenommen werden soll zum Generieren von Datenzugriffs-Audit-Logs für den ausgewählten Dienst.

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

    Eine Liste gültiger Hauptkonten, einschließlich Nutzer und Gruppen, Siehe Referenz des Typs Binding.

  6. Wählen Sie unter Deaktivierte Logtypen die Audit-Logtypen zum 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 zum Datenzugriff programmatisch konfigurieren

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

IAM-Richtlinienobjekte

Um Audit-Logs zum Datenzugriff mit der API zu konfigurieren, müssen Sie die IAM-Richtlinie, die mit Ihrem Google Cloud-Projekt, Ordner, oder einer Organisation. 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. Gehen Sie bei den API- und gcloud CLI-Befehlen zum Ändern der Konfiguration so vor: Siehe 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 ist der Wert besonderen 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. Die Mit dem Binding-Typ werden verschiedene Arten von Hauptkonten beschrieben, darunter: Nutzer und Gruppen, aber nicht alle können zum Konfigurieren des Datenzugriffs verwendet werden Audit-Logs.

Das folgende Beispiel zeigt eine Audit-Log-Konfiguration im JSON- und YAML-Format. Wenn Sie die Google Cloud CLI verwenden, 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

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

Alle Audit-Logs zum Datenzugriff aktivieren

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

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 aktiviert für Cloud SQL:

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

So deaktivieren Sie alle Audit-Logs zum Datenzugriff (außer BigQuery) in einer Google Cloud-Projekt: Fügen Sie einen leeren auditConfigs:-Abschnitt in Ihr neues IAM-Richtlinie:

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

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

getIamPolicy und setIamPolicy

Sie verwenden die Methoden getIamPolicy und setIamPolicy der Cloud Resource Manager API, um Folgendes zu lesen: und schreiben Sie Ihre IAM-Richtlinie. 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 hat Folgendes: 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 noch nicht den 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 zum Datenzugriff hinzufügen oder ändern.

    Nachstehend sehen Sie ein Beispiel für die bearbeitete Richtlinie, mit der Audit-Logs für Schreibvorgänge bei Datenzugriffen in Cloud SQL aktiviert werden. Am Anfang wurden vier Zeilen hinzugefügt:

    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
    
  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 wie unten dargestellt das aktuelle Richtlinienobjekt zurück. Die Richtlinie für dieses Projekt hat noch nicht den Abschnitt auditConfigs:

    {
      "version": 1,
      "etag": "BwXqwxkr40M=",
      "bindings": [
        {
          "role": "roles/owner",
          "members": [
            "user:myself@example.com"
          ]
        }
      ]
    }
    
  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 Schreibvorgänge bei Datenzugriffen 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 API-Methode "setIamPolicy". 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 die Bedeutung des Parameters updateMask in der Methode setIamPolicy-Methode und erklärt, warum Sie bei der Verwendung der gcloud-Kommandozeilenbefehl set-iam-policy aus, damit Sie keine versehentlichen Schäden an Ihrem Google Cloud-Projekt oder Ihrer Organisation entstehen.

Bei der setIamPolicy API method 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. Das ist sehr schädlich und führt dazu, dass alle Hauptkonten den Zugriff verlieren mit Ihrem Google Cloud-Projekt verknüpfen.

  • 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.