Rollen für das Audit-Logging konfigurieren

In diesem Thema wird beschrieben, wie Sie Berechtigungen für Cloud Identity and Access Management für verschiedene Beispiel-Auditszenarien konfigurieren. Es enthält Informationen dazu, welche Cloud IAM-Rollen den auditbezogenen funktionalen Rollen in Ihrem Unternehmen für das jeweilige Szenario gewährt werden sollten. Die Beispiele in diesem Thema richten sich hauptsächlich an Sicherheitsadministratoren, Prüfer und Mitarbeiter, die Auditaufgaben für eine Organisation verwalten.

Hintergrund

Google Cloud bietet Cloud-Audit-Logs, die ein wesentlicher Bestandteil von Cloud Logging sind. Diese Logs bestehen aus zwei Log-Streams für jedes Projekt: "Admin-Aktivität" und "Datenzugriff". Sie werden von Google Cloud-Diensten generiert, um zu ermitteln, wer innerhalb Ihrer Google Cloud-Projekte , was, wo und wann getan hat. Diese Logs unterscheiden sich von den Anwendungslogs und lassen sich so beschreiben:

  • Logs zu Administratoraktivitäten enthalten Logeinträge für API-Aufrufe oder andere Verwaltungsmaßnahmen, durch die die Konfiguration oder die Metadaten von Ressourcen geändert werden. Administratoraktivitäts-Logs sind immer aktiviert. Audit-Logs für Administratoraktivitäten sind kostenlos.
  • In Logs zum Datenzugriff werden API-Aufrufe zum Erstellen, Ändern oder Lesen der von Nutzern bereitgestellten Daten erfasst. Da Audit-Logs zum Datenzugriff relativ groß sein können, sind sie standardmäßig deaktiviert.

Jeder Dienst, der Audit-Logs erzeugt, wird im Abschnitt Audit-Logs generierende Dienste aufgeführt.

In Cloud Logging werden Logeinträge über eine begrenzte Aufbewahrungsdauer beibehalten. Anschließend werden die Einträge gelöscht. Wenn Logeinträge länger gespeichert werden sollen, müssen sie außerhalb von Cloud Logging in Pub/Sub, BigQuery oder in einen Cloud Storage-Bucket exportiert werden.

In den Beispielszenarien in diesem Thema wird davon ausgegangen, dass eine Cloudorganisation konfiguriert wurde.

In diesem Dokument werden Rollen und Berechtigungen für Logging nicht im Detail beschrieben. Eine ausführliche Beschreibung finden Sie in der Anleitung zur Zugriffssteuerung für Cloud Logging.

Szenario: Betriebsüberwachung

In diesem Szenario hat eine Organisation ein zentrales Sicherheitsteam, das Logs, die möglicherweise vertrauliche Informationen enthalten, sowohl in Cloud Logging als auch im Langzeitspeicher überprüfen kann.

Der Verlauf der Auditdaten wird in Cloud Storage gespeichert. Die Organisation verwendet eine Anwendung, um Zugriff auf den Verlauf der Auditdaten zu gewähren. Die Anwendung verwendet ein Dienstkonto, um auf die Log-Daten zuzugreifen. Aufgrund der Vertraulichkeit einiger protokollierter Audit-Log-Daten werden diese mithilfe der Cloud Data Loss Prevention teilweise entfernt, bevor sie aufrufbar gemacht werden.

In der folgenden Tabelle wird erläutert, welche Cloud IAM-Rollen dem technischen Leiter (CTO), dem Sicherheitsteam und dem Dienstkonto gewährt werden müssen und auf welcher Ressourcenebene dies erfolgen muss.

Role Ressource Mitglied Beschreibung
resourcemanager.organizationAdmin Organisation CTO Durch die Rolle resourcemanager.organizationAdmin wird dem CTO ermöglicht, dem Sicherheitsteam und dem Dienstkonto Berechtigungen zuzuweisen.
logging.viewer Organisation Sicherheitsteam Mit der Rolle logging.viewer kann sich das Sicherheitsverwaltungsteam die Logs zu Administratoraktivitäten ansehen.
logging.privateLogViewer Organisation Sicherheitsteam Die Rolle logging.privateLogsViewer bietet die Möglichkeit, die Datenzugriffslogs einzusehen.

Nachdem die Logeinträge exportiert wurden, wird der Zugriff auf die exportierten Kopien vollständig über Cloud IAM-Berechtigungen und -Rollen an den folgenden Zielorten gesteuert: Cloud Storage, BigQuery oder Pub/Sub. In diesem Szenario ist Cloud Storage das Ziel für die Langzeitspeicherung von Audit-Logs.

Role Ressource Mitglied Beschreibung
logging.viewer Organisation Dienstkonto Die Rolle logging.viewer gibt dem Dienstkonto die Möglichkeit, die Logs zu Administratoraktivitäten in Cloud Logging zu lesen.

Daten in den Datenzugriffslogs werden als personenbezogene Daten für diese Organisation betrachtet. Durch die Integration der Anwendung mit Cloud DLP (Data Loss Prevention) können vertrauliche personenbezogene Daten beim Aufrufen von Datenzugriffslogs entfernt werden, unabhängig davon, ob sie sich in den Datenzugriffslogs oder im Verlaufsarchiv in Cloud Storage befinden.

Role Ressource Mitglied Beschreibung
storage.objectViewer Bucket Dienstkonto Die Rolle storage.objectViewer ermöglicht dem Dienstkonto das Lesen der exportierten Logs zu Administratoraktivitäten.

Die Cloud IAM-Richtlinie, die an die Organisationsressource für dieses Szenario gebunden ist, sieht etwa so aus:

{
      "bindings": [{
        "role": "roles/resourcemanager.organizationAdmin",
          "members": [
            "user:cto@example.com"
          ]
        },
        {
          "role": "roles/logging.viewer",
          "members": [
            "group:security-team@example.com",
            "serviceAccount:prod-logviewer@admin-resources.iam.gserviceaccount.com"
          ]
        },
        {
          "role": "roles/logging.privateLogViewer",
          "members": [
            "group:security-team@example.com"
          ]
        }
      ]
    }
    

Die Cloud IAM-Richtlinie, die an den Bucket gebunden ist, der als Zielsenke für dieses Szenario konfiguriert ist, sieht etwa so aus:

{
      "bindings": [{
        "role": "roles/storage.objectViewer",
        "members": [
          "serviceAccount:prod-logviewer@admin-resources.iam.gserviceaccount.com"
        ]
      }]
    }
    

Szenario: Entwicklungsteams, die ihre Audit-Logs überwachen

In diesem Szenario müssen sich die Entwickler der Organisation die Audit-Logs ansehen, die beim Entwickeln ihrer Anwendungen generiert wurden. Sie dürfen Produktionslogs nur prüfen, wenn vertrauliche Daten mit Cloud DLP daraus entfernt wurden. Über eine Dashboardanwendung haben die Entwickler schreibgeschützten Zugriff auf die exportierten Produktionsdaten. Das Sicherheitsteam der Organisation hat Zugriff auf alle Logs, sowohl in der Produktion als auch in der Entwicklungsumgebung.

In der folgenden Tabelle wird erläutert, welche Cloud IAM-Rollen dem Sicherheitsteam, den Entwicklern und dem Dienstkonto gewährt werden müssen und auf welcher Ressourcenebene dies erfolgen muss.

Role Ressource Mitglied Beschreibung
logging.viewer Organisation Sicherheitsteam Mit der Rolle logging.viewer kann sich das Sicherheitsverwaltungsteam die Logs zu Administratoraktivitäten ansehen.
logging.privateLogViewer Organisation Sicherheitsteam Die Rolle logging.privateLogsViewer bietet die Möglichkeit, die Datenzugriffslogs einzusehen.
logging.viewer Ordner Entwicklerteam Mit der Rolle logging.viewer kann sich das Entwicklerteam die Logs zu Administratoraktivitäten ansehen, die von den Entwicklerprojekten in einem Ordner erstellt wurden, in dem sich alle Entwicklerprojekte befinden.
logging.privateLogViewer Ordner Entwicklerteam Die Rolle logging.privateLogsViewer bietet die Möglichkeit, die Datenzugriffslogs einzusehen.

Der Zugriff auf die exportierten Kopien wird vollständig über Cloud IAM-Berechtigungen und -Rollen an den folgenden Zielorten gesteuert: Cloud Storage, BigQuery oder Pub/Sub. In diesem Szenario ist BigQuery das Ziel für die Speicherung von Audit-Logs.

Role Ressource Mitglied Beschreibung
bigquery.dataViewer BigQuery-Dataset Dashboarddienstkonto Die Rolle bigquery.dataViewer ermöglicht dem Dienstkonto, das von der Dashboardanwendung verwendet wird, das Lesen der exportierten Logs zu Administratoraktivitäten.

Die Cloud IAM-Richtlinie, die an die Ordnerressource des Entwicklungsteams für dieses Szenario gebunden ist, sieht etwa so aus:

{
      "bindings": [{
        "role": "roles/logging.viewer",
        "members": [
          "group:developer-team@example.com"
        ]
      },
      {
        "role": "roles/logging.privateLogViewer",
        "members": [
          "group:developer-team@example.com"
        ]
      }]
    }
    

Die Cloud IAM-Richtlinie, die an die Organisationsressource für dieses Szenario gebunden ist, sieht etwa so aus:

{
      "bindings": [{
        "role": "roles/logging.viewer",
        "members": [
          "group:security-team@example.com"
        ]
      },
      {
        "role": "roles/logging.privateLogViewer",
        "members": [
          "group:security-team@example.com"
        ]
      }]
    }
    

Die Cloud IAM-Richtlinie, die an das BigQuery-Dataset gebunden ist, das als Zielsenke für dieses Szenario konfiguriert ist, sieht etwa so aus:

{
      "bindings": [{
        "role": "roles/bigquery.dataViewer",
        "members": [
          "serviceAccount:prod-project-dashboard@admin-resources.iam.gserviceaccount.com"
        ]
      }]
    }
    

Szenario: Externe Prüfer

In diesem Szenario werden Audit-Logs für eine Organisation zusammengefasst und an einen zentralen Senkenspeicherort exportiert. Ein externer Prüfer erhält mehrmals pro Jahr Zugriff auf die Audit-Logs der Organisation, um sie zu überprüfen. Der Prüfer ist nicht berechtigt, personenbezogene Daten in den Logs zu Administratoraktivitäten einzusehen. Es wird über ein Dashboard Zugriff auf die in BigQuery gespeicherten Verlaufsprotokolle und auf Anfrage auf die Cloud Logging-Logs zu Administratoraktivitäten gewährt, um diese Anforderung zu erfüllen.

Die Organisation erstellt für jeden Auditzeitraum ein temporäres Prüferkonto. Dieses Konto wird überwacht und in der Regel wird ihm Zugriff auf die Dashboardanwendung gewährt.

Beim normalen Zugriff wird den Prüfern nur gestattet, auf die in BigQuery gespeicherten Verlaufslogs zuzugreifen. Wenn Anomalien festgestellt werden, erhält der Prüfer die Berechtigung, sich über den Dashboardmodus für erweiterten Zugriff die eigentlichen Cloud Logging-Logs zu Administratoraktivitäten anzusehen. Am Ende jedes Auditzeitraums wird der Zugriff widerrufen.

Vertrauliche Daten werden mithilfe von Cloud DLP entfernt, bevor die übrigen Daten über die Dashboardanwendung eingesehen werden können.

In der folgenden Tabelle wird erläutert, welche Cloud IAM-Logging-Rollen ein Organisationsadministrator dem Dienstkonto zuweisen kann, das vom Dashboard verwendet wird, und auf welcher Ressourcenebene dies erfolgen muss.

Role Ressource Mitglied Beschreibung
logging.viewer Organisation Dashboarddienstkonto Die Rolle logging.viewer gibt dem Dienstkonto die Möglichkeit, die Logs zu Administratoraktivitäten in Cloud Logging zu lesen.
bigquery.dataViewer BigQuery-Dataset Dashboarddienstkonto Die Rolle bigquery.dataViewer ermöglicht dem Dienstkonto, das von der Dashboardanwendung verwendet wird, das Lesen der exportierten Logs zu Administratoraktivitäten.

Die Cloud IAM-Richtlinie, die an die Organisationsressource für dieses Szenario gebunden ist, sieht etwa so aus:

{
      "bindings": [{
        "role": "roles/logging.viewer",
        "members": [
          "serviceAccount:prod-project-dashboard@admin-resources.iam.gserviceaccount.com"
        ]
      }]
    }
    

Die Cloud IAM-Richtlinie, die an das BigQuery-Dataset gebunden ist, das als Zielsenke für dieses Szenario konfiguriert ist, sieht etwa so aus:

{
      "bindings": [{
        "role": "roles/bigquery.dataViewer",
        "members": [
          "serviceAccount:prod-project-dashboard@admin-resources.iam.gserviceaccount.com"
        ]
      }]
    }