HIPAA-konformes Projekt einrichten

Diese Anleitung führt Sie durch das Google Cloud Healthcare Data Protection Toolkit, ein Automatisierungs-Framework für die Bereitstellung von Google Cloud-Ressourcen zum Speichern und Verarbeiten von Gesundheitsdaten, einschließlich geschützter Gesundheitsdaten (Protected Health Information – PHI) gemäß dem US-Gesetz zur Übertragbarkeit von Krankenversicherungen und Verantwortlichkeit von Versicherern (Health Insurance Portability and Accountability Act – HIPAA). Diese Anleitung ist so konzipiert, dass sie zusammen mit dem Architekturartikel zum HIPAA-konformen Cloud Healthcare von Google Cloud gelesen werden kann.

Übersicht

Die Anleitung richtet sich an Gesundheitseinrichtungen, die mit Google Cloud beginnen und auf der Suche nach einem Beispiel für die Konfiguration einer Google Cloud-Infrastruktur zur Datenspeicherung, Analyse oder Anwendungsentwicklung sind. Diese Konfiguration umfasst viele der Best Practices für Sicherheit und Datenschutz, die für Gesundheitsdaten empfohlen werden, darunter Konfigurieren eines angemessenen Zugriffs, Verwalten von Audit-Logs und Überwachen verdächtiger Aktivitäten. Weitere Informationen zu diesen Best Practices finden Sie im Google Cloud-HIPAA-Whitepaper.

In dieser Anleitung werden verschiedene Google Cloud-Dienste beschrieben, die PHI speichern und verarbeiten können. Sie deckt jedoch nicht alle Google Cloud-Ressourcentypen und -Anwendungsfälle ab. Der Schwerpunkt dieser Anleitung liegt vielmehr auf einem Teil der Ressourcentypen. Eine Liste der Google Cloud-Dienste, die HIPAA-Compliance gemäß der Geschäftspartner-Vereinbarung (Business Associate Agreement, BAA) unterstützen, finden Sie unter HIPAA-Compliance in Google Cloud. In der Google Cloud-Dokumentation finden Sie auch Informationen zu Sicherheit, Datenschutz und Compliance.

Haftungsausschluss

  • In dieser Anleitung wird eine Referenzarchitektur erläutert. Sie stellt keine Rechtsberatung für die ordnungsgemäßen administrativen, technischen und physischen Sicherheitsmaßnahmen dar, die Sie umsetzen müssen, um HIPAA oder andere Datenschutzgesetze einzuhalten.
  • Der Umfang dieser Anleitung beschränkt sich auf den Schutz und das Monitoring von Daten, die von aufgabenspezifischen Ressourcen gespeichert werden. Die Implementierung dieser Anleitung erstreckt sich nicht automatisch auf abgeleitete Datenbestände, die von anderen Google Cloud-Speicherdiensten gespeichert oder verarbeitet werden. Für abgeleitete Datenbestände müssen ähnliche Schutzmaßnahmen ergriffen werden.
  • Bei der Implementierung dieser Anleitung handelt es sich nicht um ein offizielles Google-Produkt, sondern lediglich um eine Referenzimplementierung. Der Code befindet sich in einem Open-Source-Projekt, dem Google Cloud Healthcare Data Protection Toolkit, das unter der Apache-Lizenz Version 2.0 verfügbar ist. Sie können das Framework als Ausgangspunkt verwenden und Ihren Anwendungsfällen entsprechend konfigurieren. Aber Sie sind dafür verantwortlich, dass die Umgebung und die Anwendungen, die Sie in Google Cloud erstellen, den HIPAA-Anforderungen entsprechend korrekt konfiguriert und gesichert sind.
  • In dieser Anleitung wird ein Snapshot des Codes in GitHub erläutert, der im Laufe der Zeit geändert oder aktualisiert werden kann. In der Referenzimplementierung werden möglicherweise weitere Ressourcentypen (z. B. Compute Engine-Instanzen oder Kubernetes-Cluster) verwendet, die in dieser Anleitung nicht aufgeführt sind. Eine aktuelle Auflistung der aufgabenspezifischen Ressourcen finden Sie in der README-Datei.

Ziele

Das Ziel dieser Anleitung ist die Bereitstellung einer IaC-Referenzimplementierung (Infrastructure as Code) zum Einrichten eines HIPAA-konformen Google Cloud-Projekts. Im Rahmen dieser Implementierungsstrategie werden folgende Prozesse automatisiert:

Kosten

Google Cloud bietet Kunden eine zeitlich begrenzte kostenlose Testversion und eine unbefristet kostenlose Nutzungsstufe für einige Dienste in dieser Anleitung. Weitere Informationen finden Sie auf der Seite zur kostenlosen Stufe von Google Cloud.

Abhängig davon, wie viele Daten oder Logs Sie während der Ausführung dieser Implementierung nutzen, können Sie die Implementierung möglicherweise im Rahmen der kostenlosen Testversion bzw. Stufe ausführen, ohne die festgelegten Limits zu überschreiten. Mit dem Preisrechner können Sie eine Kostenschätzung für die geplante Nutzung vornehmen.

Nach Abschluss dieser Implementierung können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.

Hinweis

  1. Sehen Sie sich die Best Practices für das Onboarding an.
  2. Sehen Sie sich die Informationen zur HIPAA-Compliance in Google Cloud an.
  3. Führen Sie eine BAA mit Google Cloud aus, wenn Sie Google Cloud-Dienste in Verbindung mit PHI verwenden.
  4. Sorgen Sie dafür, dass Sie die grundlegende Google Cloud-Einrichtung abgeschlossen haben:

Umgebung initialisieren

  1. Laden Sie in Ihrer Shell das Google Cloud Healthcare Data Protection Toolkit herunter. Hinweis: Wenn Sie das Hilfsskript in Cloud Shell ausführen, können Sie die nächsten Schritte überspringen.

  2. Installieren Sie Tools und Abhängigkeitsdienste:

    • Bazel – ein Open-Source-Tool zum Erstellen und Testen
    • Terraform – ein Cloud-Bereitstellungstool
    • Cloud SDK – eine Reihe von Tools zum Verwalten von Ressourcen und Anwendungen, die in Google Cloud gehostet werden
    • Git – ein verteiltes Versionskontrollsystem
  3. Richten Sie die Authentifizierung ein:

    gcloud auth login
    

Checkliste zur Vorbereitung der Bereitstellung

Bevor Sie beginnen, sollten Sie die folgenden Informationen notieren.

Google Cloud verwendet Google-Konten und -Gruppen in unterstützten Google Workspace- oder Cloud Identity-Domains oder in öffentlichen Google Groups für die Berechtigungssteuerung. In Google Cloud empfiehlt es sich, Gruppen für vordefinierte Rollen zu erstellen, sodass Sie einzelne Berechtigungen einfach über die Gruppenmitgliedschaft steuern können, ohne das Projekt zu ändern.

Überprüfen Sie, ob die im Konzeptdokument beschriebenen Nutzergruppen vorhanden sind, oder erstellen Sie sie bei Bedarf. Wenn Ihr Unternehmen Google Workspace-Kunde ist oder Sie möchten das Skript verwenden, um Ressourcen für ein bestehendesGoogle Cloud-Organisation zu nutzen, wenden Sie sich an Ihren Administrator für die Nutzergruppen. Der Administrator kann über die Google Admin-Konsole die entsprechenden Nutzergruppen bereitstellen. In der Cloud Identity-Hilfe erfahren Sie, wer Ihr Administrator ist. Die Nutzer der Organisation werden in Google Cloud Identity eingerichtet. Standardmäßig wird das E-Mail-Konto, das bei der Einrichtung als Administrator festgelegt wurde, als Organisationsadministrator eingerichtet. Diese Person kann andere IAM-Rollen erstellen und zuweisen. Der Zugriff auf verschiedene Ressourcen, die für die Datenübertragung, Analyse und Sicherheitsüberprüfung benötigt werden, wird über IAM-Gruppen und zugehörige Rollen gesteuert.

Darüber hinaus muss sich der Nutzer, der das Bereitstellungsskript ausführt, in den Projektinhabergruppen aller Projekte befinden, die erstellt werden, einschließlich des Sicherheitsprojekts. Nach erfolgreicher Bereitstellung können Sie diesen Nutzer aus diesen Gruppen entfernen. Fügen Sie den Nutzer, den Sie gerade verwenden, als Mitglied der oben erstellten OWNERS_GROUP hinzu. Melden Sie sich in der Admin-Konsole von Google Workspace an.

Alternativ können Sie Google Groups verwenden, wenn Sie Tests außerhalb eines kommerziellen Kontos durchführen möchten.

Erstellen Sie jede der Google Groups und verwenden Sie dann die folgenden sicheren Einstellungen der grundlegenden Berechtigungen:

  • Gruppentyp: E-Mail-Liste
  • Themen ansehen: Alle Gruppenmitglieder (und Manager)
  • Posten: Nur Manager und Inhaber
  • Der Gruppe beitreten: Nur eingeladene Nutzer

Umgebungsinformationen erfassen und Projektressourcen benennen

Eine Konfigurationsdatei im YAML-Format enthält alle Ressourcen, die Sie erstellen möchten, sowie die zugehörigen Attribute. Sie können aus einer wachsenden Anzahl von Beispielkonfigurationsdateien wählen. Die Verwendung der Konfigurationsdatei für das Remote-Audit-Log wird empfohlen.

Der Abschnitt overall enthält Details zu organization und billing, die für alle Projekte gelten.

  • Legen Sie das Projekt fest, das Audit-Logs im Abschnitt audit_logs_project hosten soll.
  • Legen Sie das Projekt fest, das Forseti-Ressourcen im Abschnitt forseti hosten soll.
  • Listen Sie alle erforderlichen Datenhosting-Projekte unter projects auf.

Sammeln Sie die folgenden Informationen für Ihre Google Cloud-Umgebung und aktualisieren Sie die Datei.

Parameter Beispielwert
organization_id 12345678
billing_account 000000-000000-000000
location USA oder EU oder Asien (für BigQuery und Cloud Storage)

Die Standardeinstellung ist die multiregionale Datenspeicherung innerhalb der Grenzen der USA oder der EU oder Asiens.
TTL days Dieses Feld im Abschnitt audit bestimmt die Aufbewahrungsdauer für Audit-Logs (derzeit nur für Storage-Buckets).

Ein Beispielwert ist 365.
project_id Geben Sie eindeutige Namen für die drei Projekte an:

  1. audit_logs_project
  2. Forseti
  3. Dataset-Projekt (projects.project_id)
stackdriver_alert_email [your admin email id]
owners_group hipaa-sample-project-owner@google.com
auditors_group hipaa-sample-project-auditor@google.com

Mit dem Toolkit können Sie Best Practices berücksichtigen. Dazu zählen z. B. einheitliche Namenskonventionen und die Labelerstellung für Ressourcen. Treffen Sie Entscheidungen zu Projektnamen, Cloud Storage-Bucket- und BigQuery-Dataset-Namen und VPC-Namen. Best Practices für die Benennung finden Sie in den folgenden Dokumenten:

Mit der folgenden Herangehensweise sammeln Sie notwendige Informationen, die Sie der Bereitstellungs-Konfigurationsdatei hinzufügen können. Erwägen Sie beim Festlegen Ihrer Namenskonventionen die nachfolgend aufgeführten Komponenten:

  • Name des Unternehmens: Altostrat Company: altoco
  • Geschäftsbereich: Personalwesen: hr
  • Anwendungscode: Vergütungssystem: comp
  • Regionscode: north-america-northeast1: na-ne1, europe-west1: eu-we1
  • Umgebungscodes: dev, test, uat, stage, prod
Parameter Beispiel für Namenskonvention
project_id Entscheiden Sie sich für Projektnamenskonventionen.

Beispiel:
{org-name}-{app/bu/purpose}-{environment}

altoco-edw-prod

Legen Sie das Projekt fest, das Audit-Logs im Abschnitt audit_logs_project hosten soll.

Legen Sie das Projekt fest, das Forseti-Ressourcen im Abschnitt forseti hosten soll.

Listen Sie alle erforderlichen Datenhosting-Projekte unter projects auf.
{storage_name}-Bucket-Name Beispiel: {org-name hash}-{source}-{type}-{bu/region}-{seq#}

08uy6-cerner-inpatient-east-1

Verwenden Sie für mehr Sicherheit den Hash des Organisationsnamens.
BigQuery-Dataset-Name Beispiel: {org-name}_{bu/region}_{app/module}

altoco_east_edw
VPC-Name Beispiel:
{org-name}-{bu/region}-{environment}-{seq#}

altoco-east-prod-vpc-1

Skripts verstehen

Auf übergeordneter Ebene verwendet das Google Cloud Healthcare Data Protection Toolkit Terraform, das Cloud Foundation Toolkit und gegebenenfalls benutzerdefinierte Logik, um Ressourcen bereitzustellen, IAM und Logging entsprechend der Best Practices einzurichten und das Forseti-Monitoring zu aktivieren.

Hilfsskripts

Das Hauptskript apply.go liest seine Konfigurationen aus einer YAML-Konfigurationsdatei und erstellt oder ändert Projekte, die in der Konfigurationsdatei aufgeführt sind. Das Skript erstellt ein Projekt mit Audit-Logs und ein Forseti-Projekt. Anschließend erstellt das Skript ein Datenhosting-Projekt für jedes Projekt, das unter projects aufgeführt ist. Für jedes aufgelistete Projekt führt das Skript folgende Aufgaben aus:

  • Erstellt das Projekt, wenn es nicht bereits vorhanden ist.
  • Aktiviert die Abrechnung für das Projekt.
  • Erstellt einen Bucket zum Speichern des Terraform-Zustands (entweder lokal im Projekt oder für den Remote-Zugriff im zentralen DevOps-Projekt).
  • Fordert Sie auf, einen Arbeitsbereich zu erstellen oder auszuwählen. Dazu müssen Sie Cloud Monitoring verwenden. Weitere Informationen finden Sie im Leitfaden zu Monitoring.
  • Erstellt Monitoring-Benachrichtigungen für Monitoring-Sicherheitsregeln.
  • Stellt lokal im Projekt gespeicherte Ressourcen bereit, einschließlich Diensten, Monitoring-Ressourcen und Ressourcen zur Datenaufbewahrung.
  • Erstellt Audit-Log-Datenressourcen und -senken (entweder lokal im Projekt oder für den Remote-Zugriff im zentralen Audit-Projekt).
  • Erstellt Forseti-Monitoring-Ressourcen.

Das Hilfsskript rule_generator.go liest seine Konfigurationen aus einer YAML-Konfigurationsdatei, um Forseti-Regeln zu erstellen und in ein lokales Verzeichnis oder in einen Cloud Storage-Bucket zu schreiben.

HINWEIS: Die Regelerstellung funktioniert derzeit nur mit den älteren, managerbasierten Konfigurationen.

Skripts ausführen

Beim Data Protection Toolkit verwenden Sie eine Konfigurationsdatei, um alle Ressourcen zu beschreiben, die Sie für eine einzelne Bereitstellung benötigen. Eine Konfigurationsdatei im YAML-Format enthält alle Ressourcen, die Sie erstellen möchten, sowie die zugehörigen Attribute.

  1. Kopieren Sie eine Beispielkonfigurationsdatei in den Stammordner.

  2. Sie müssen sich im Ordner ./healthcare/deploy befinden.

    cp ./samples/simple/config.yaml .
    nano config.yaml
    
  3. Aktualisieren Sie die Parameter, die Sie zuvor an geeigneten Stellen in der Konfigurationsdatei erfasst haben.

Die Parameter des Haupt-Hilfsskripts apply.go sind so definiert:

--config_path
Relativer oder absoluter Pfad zur Bereitstellungskonfiguration.
--projects
Durch Kommas getrennte Liste der Projekt-IDs aus der Bereitstellungskonfiguration. Sie können diesen Parameter überspringen, um alle in der Bereitstellungskonfiguration aufgeführten Projekte anzugeben. Das Skript erstellt neue Projekte und aktualisiert vorhandene.
--dry_run
Wird zur Angabe eines Probelaufs verwendet. Lassen Sie --dry_run weg, um eine Standardausführung anzugeben.

Die Parameter des Hilfsskripts rule_generator.go sind so definiert:

--config_path
Relativer oder absoluter Pfad zur Bereitstellungskonfiguration.
--output_path
Der Pfad, in dem das Skript zur Regelerstellung Regeldateien ausgibt. Kann ein lokales Verzeichnis oder ein Cloud Storage-Bucket sein. Wenn nichts festgelegt ist, wird direkt in den Forseti-Server-Bucket geschrieben.

Probelaufmodus

Mit einem Probelauf können Sie alles überprüfen, was das Skript anhand der angegebenen Bereitstellungskonfiguration tun würde, ohne dass es tatsächlich getan wird. Bei der tatsächlichen Ausführung können Sie dann bestätigen, dass die Bereitstellung wie erwartet erfolgt.

bazel run cmd/apply:apply -- \
    --config_path=[CONFIG_FILE] \
    --projects=[PROJECTS] \
    --dry_run

Projekterstellungsmodus

Nachdem Sie die Befehle im Probelauf überprüft haben, führen Sie das Skript ohne den Parameter --dry_run aus, um die Bereitstellung durchzuführen:

bazel run cmd/apply:apply -- \
    --config_path=[CONFIG_FILE] \
    --projects=[PROJECTS]

Updatemodus

Wenn Sie einem vorhandenen Projekt eine Ressource hinzufügen oder eine vorhandene Einstellung ändern möchten, geben Sie das zuvor bereitgestellte Projekt im Flag --projects an.

bazel run cmd/apply:apply -- \
    --config_path=[CONFIG_FILE] \
    --projects=[PROJECTS]

Regelerstellung

Wenn Sie ein Forseti-Projekt mit dem Hauptskript bereitgestellt haben, können Sie das Skript zur Regelerstellung ausführen, um Regeln zu erstellen und hochzuladen. Standardmäßig werden die Regeln in den Forseti-Server-Bucket hochgeladen. Wenn Sie einen eigenen Satz von Forseti-Regeln erstellen möchten, überspringen Sie diesen Schritt.

bazel run cmd/rule_generator:rule_generator -- \
    --config_path=[CONFIG_FILE]

Ergebnisse überprüfen

Das Hilfsskript umfasst zahlreiche Befehle. In diesem Abschnitt wird beschrieben, was nach erfolgreicher Ausführung des Skripts in der Cloud Console zu erwarten ist.

Cloud Console

Ihre Projekte sind in der Cloud Console verfügbar:

In der Cloud Console aufgeführte Projekte

IAM

Für jedes Projekt zeigt die Cloud Console OWNERS_GROUP als Projektinhaber und AUDITORS_GROUP als Sicherheitsprüfer für das Projekt an.

Berechtigungen für Ihr Projekt in der Console

Im oben gezeigten Screenshot wird nur die Mitgliedschaft von OWNERS_GROUP und AUDITORS_GROUP aufgeführt. Tatsächlich können jedoch weitere Dienstkonten angezeigt werden, die aufgrund der im Projekt aktivierten APIs Zugriff auf Projektebene haben. Folgende Dienstkonten werden am häufigsten verwendet:

Storage-Browser

Storage-Browser zeigt den neu erstellten Bucket zum Speichern von Logs an. Der Bucket-Name, die Speicherklasse und der Standort richten sich nach der Bereitstellungskonfiguration. Dieses Beispiel bezieht sich auf eine lokale Loganordnung. In einer Remote-Loganordnung befindet sich dieser Bucket in einem anderen Projekt als die Daten und konsolidiert Logs aus allen Datenprojekten im lokalen Logmodus. Jedes Projekt hat einen eigenen Log-Bucket.

Logs für alle Datenprojekte in einem lokalen Logmodus konsolidieren

Lebenszyklus

Lebenszyklus ist für den Log-Bucket aktiviert. Rufen Sie die Lebenszyklusrichtlinien auf, um zu sehen, dass durch ttl_days in der Bereitstellungskonfiguration eine Löschen-Aktion für Objekte angegeben ist, die älter als der Wert sind.

Lebenszyklusrichtlinien ansehen

  • Abgesehen von den Berechtigungen für cloud-storage-analytics@google.com werden die restlichen Berechtigungen wie von Ihnen angegeben festgelegt. In der Dokumentation zu Logs erfahren Sie, warum cloud-storage-analytics@google.com Schreibzugriff auf den Bucket haben muss.

    Gruppen mit Schreibberechtigungen

  • Storage-Browser zeigt den neu erstellten Bucket zum Speichern von Daten an. Der Name, die Standardspeicherklasse und der Standort des Buckets entsprechen den Spezifikationen in der Bereitstellungskonfiguration.

    Neu erstellte Buckets

  • Die Objekte in jedem Daten-Bucket sind versioniert. Führen Sie zur Überprüfung den folgenden Befehl aus. Ersetzen Sie dabei bucket_name durch den Namen Ihres Buckets:

    gsutil versioning get gs://bucket_name
    
  • Zugriffs- und Speicherlogs für die Daten-Buckets werden im Log-Bucket erfasst und gespeichert. Das Logging wurde beim Erstellen des Daten-Buckets gestartet. Führen Sie zur Überprüfung den folgenden Befehl aus:

    gsutil logging get gs://bucket_name
    
  • Berechtigungen für jeden Bucket werden gemäß Ihren Spezifikationen festgelegt.

    Gruppen mit Schreibberechtigungen für den Bucket

Google Cloud Console

In der Cloud Console sind Logs zum Datenzugriff für alle Dienste aktiviert.

Datenzugriffslogs in der Admin-Konsole

Cloud Console

Überprüfen Sie in der Cloud Console, ob die BigQuery API aktiviert ist.

In der Cloud Console aktivierte BigQuery API

BigQuery

Überprüfen Sie in der Cloud Console, ob das Dataset angezeigt wird, in dem Cloud Logging Senken für Cloud-Audit-Logs erfasst. Überprüfen Sie außerdem, ob die Werte für Beschreibung, Dataset-ID und Speicherort der Daten mit den Angaben in der Bereitstellungskonfiguration und der zuvor angesehenen Logging-Exportsenke übereinstimmen.

BigQuery zeigt das Dataset an, in dem Cloud Logging Senken für Cloud-Audit-Logs erfasst

Überprüfen Sie, ob der Zugriff auf das Dataset Ihren Spezifikationen entspricht.

Überprüfen Sie außerdem, ob das Dienstkonto, das Cloud Logging-Logs an BigQuery streamt, Bearbeitungsrechte für das Dataset hat.

BigQuery-Datenberechtigungen

Überprüfen Sie, ob die neu erstellten Datasets zum Speichern von Daten angezeigt werden und ob die Werte für Beschreibung, Dataset-ID und Speicherort der Daten sowie die Labels für die einzelnen Datasets mit den Spezifikationen in der Bereitstellungskonfiguration übereinstimmen.

BigQuery zeigt die neu erstellten Datasets an

Überprüfen Sie, ob der Zugriff auf das Dataset Ihren Spezifikationen entspricht. Möglicherweise werden weitere Dienstkonten mit übernommenen Berechtigungen angezeigt. Dies hängt von den APIs ab, die Sie in Ihrem Projekt aktiviert haben.

BigQuery-Datenberechtigungen zum Speichern von Daten

Pub/Sub

Überprüfen Sie, ob in Pub/Sub das neu erstellte Thema angezeigt wird und der Themenname, die Liste der Abos und die Details der einzelnen Abos, z. B. Zustellungstyp und Bestätigungsfrist, mit den Spezifikationen in der Bereitstellungskonfiguration übereinstimmen.

Überprüfen Sie auch, ob die Zugriffsrechte für das Thema mit der Bereitstellungskonfiguration übereinstimmen. Im folgenden Screenshot sehen Sie beispielsweise, wie OWNERS_GROUP die Inhaberschaft des Themas übernimmt und READ_WRITE_GROUP die Rolle des Themenbearbeiters hat. Abhängig von den APIs, die Sie im Projekt aktiviert haben, werden möglicherweise weitere Dienstkonten mit übernommenen Berechtigungen angezeigt.

Pub/Sub zeigt das neu erstellte Thema an

Cloud Logging

Überprüfen Sie in der Cloud Console, ob eine neue Exportsenke angezeigt wird. Notieren Sie sich die Werte für Ziel und Identität des Autors und vergleichen Sie sie mit dem, was als Nächstes in BigQuery angezeigt wird.

Cloud Logging zeigt eine neue Exportsenke an

Überprüfen Sie, ob die logbasierten Messwerte so konfiguriert sind, dass die Anzahl der Vorfälle in Form verdächtiger Aktivitäten in Audit-Logs erfasst wird.

Cloud Logging zeigt logbasierte Messwerte an, die eingerichtet wurden, um Vorfälle in Form verdächtiger Aktivitäten zu zählen

Cloud Monitoring-Benachrichtigungen

Überprüfen Sie, ob Cloud Monitoring Benachrichtigungsrichtlinien für die entsprechenden logbasierten Messwerte enthält:

  1. Wechseln Sie in der Google Cloud Console zu Monitoring:

    Cloud Monitoring

  2. Wählen Sie im Menü Benachrichtigungen die Richtlinienübersicht aus.

Monitoring zeigt Benachrichtigungsrichtlinien an, die basierend auf den entsprechenden logbasierten Messwerten ausgelöst werden

Abfragelogs

Mit den in BigQuery gestreamten Audit-Logs können Sie die folgende SQL-Abfrage ausführen, um den Logverlauf in chronologischer Reihenfolge nach der Art der verdächtigen Aktivität zu organisieren. Verwenden Sie diese Abfrage im BigQuery-Editor oder über die Befehlszeile von BigQuery als Ausgangspunkt, um die Abfragen zu definieren, die Sie schreiben müssen, um Ihre Anforderungen zu erfüllen.

```sql
SELECT timestamp,
       resource.labels.project_id                              AS project,
       protopayload_auditlog.authenticationinfo.principalemail AS offender,
       'IAM Policy Tampering'                                  AS offenseType
FROM   `hipaa-sample-project.cloudlogs.cloudaudit_googleapis_com_activity_*`
WHERE  resource.type = "project"
       AND protopayload_auditlog.servicename =
           "cloudresourcemanager.googleapis.com"
       AND protopayload_auditlog.methodname = "setiampolicy"
UNION DISTINCT
SELECT timestamp,
       resource.labels.project_id                              AS project,
       protopayload_auditlog.authenticationinfo.principalemail AS offender,
       'Bucket Permission Tampering'                           AS offenseType
FROM   `hipaa-sample-project.cloudlogs.cloudaudit_googleapis_com_activity_*`
WHERE  resource.type = "gcs_bucket"
       AND protopayload_auditlog.servicename = "storage.googleapis.com"
       AND ( protopayload_auditlog.methodname = "storage.setiampermissions"
              OR protopayload_auditlog.methodname = "storage.objects.update" )
UNION DISTINCT
SELECT timestamp,
       resource.labels.project_id                              AS project,
       protopayload_auditlog.authenticationinfo.principalemail AS offender,
       'Unexpected Bucket Access'                              AS offenseType
FROM   `hipaa-sample-project.cloudlogs.cloudaudit_googleapis_com_data_access_*`
WHERE  resource.type = 'gcs_bucket'
       AND ( protopayload_auditlog.resourcename LIKE
             '%hipaa-sample-project-logs'
              OR protopayload_auditlog.resourcename LIKE
                 '%hipaa-sample-project-bio-medical-data' )
       AND protopayload_auditlog.authenticationinfo.principalemail NOT IN(
           'user1@google.com', 'user2@google.com' )
```

In der folgenden Abbildung sehen Sie ein Ausgabebeispiel, wenn Sie die Abfrage über die BigQuery-Befehlszeile ausführen.

Beispielausgabe bei Ausführung der Abfrage über die BigQuery-Befehlszeile

Bereinigen

  1. Wechseln Sie in der Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite "Ressourcen verwalten"

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen .
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Beenden, um das Projekt zu löschen.

Nächste Schritte