Ergebnisse des Scans zum Schutz sensibler Daten analysieren und Berichte dazu erstellen

Der Schutz sensibler Daten hilft Ihnen, die sensiblen Daten in Ihrer Infrastruktur zu finden, zu verstehen und zu verwalten. Nachdem Sie Ihre Inhalte mithilfe des Schutzes sensibler Daten auf sensible Daten gescannt haben, haben Sie mehrere Möglichkeiten, dies zu tun. In diesem Thema erfahren Sie, wie Sie die Leistung anderer Google Cloud-Features wie BigQuery, Cloud SQL und Looker Studio für folgende Zwecke nutzen können:

  • Speichern Sie die Ergebnisse von Scans zum Schutz sensibler Daten direkt in BigQuery.
  • Berichte über die Speicherorte sensibler Daten in Ihrer Infrastruktur erstellen
  • Umfassende SQL-Analysen ausführen, um zu verstehen, welche Arten sensibler Daten wo gespeichert sind
  • Benachrichtigungen oder Aktionen automatisieren, die auf der Grundlage eines einzelnen Ergebnisses oder einer Kombination von Ergebnissen ausgelöst werden.

Dieses Thema enthält auch ein vollständiges Beispiel für die Verwendung des Schutzes sensibler Daten in Verbindung mit anderen Google Cloud-Features, um all diese Ziele zu erreichen.

Speicher-Bucket durchsuchen

Scannen Sie zuerst Ihre Daten. Im Folgenden finden Sie grundlegende Informationen zum Scannen von Speicher-Repositories mithilfe des Schutzes sensibler Daten. Eine vollständige Anleitung zum Scannen von Speicher-Repositories, einschließlich der Verwendung von Clientbibliotheken, finden Sie unter Speicher und Datenbanken auf sensible Daten prüfen.

Zum Ausführen eines Scanvorgangs in einem Google Cloud Storage-Repository stellen Sie ein JSON-Objekt zusammen, das die folgenden Konfigurationsobjekte enthält:

  • InspectJobConfig: Konfiguriert den Scanjob für den Schutz sensibler Daten und enthält:

    • StorageConfig: Das zu durchsuchende Speicher-Repository
    • InspectConfig: Die Angabe, wie und wonach gesucht werden soll. Sie können auch eine Inspektionsvorlage verwenden, um die Inspektionskonfiguration zu definieren.
    • Action: Aufgaben, die nach Abschluss des Jobs ausgeführt werden sollen. Dies kann das Speichern von Ergebnissen in einer BigQuery-Tabelle oder das Veröffentlichen einer Benachrichtigung in Pub/Sub umfassen.

In diesem Beispiel scannen Sie einen Cloud Storage-Bucket nach Personennamen, Telefonnummern, US-Sozialversicherungsnummern und E-Mail-Adressen. Anschließend senden Sie die Ergebnisse an eine BigQuery-Tabelle, die zum Speichern der Ausgaben zum Schutz sensibler Daten vorgesehen ist. Die folgende JSON-Datei kann in einer Datei gespeichert oder direkt an die Methode create der Ressource DlpJob zum Schutz sensibler Daten gesendet werden.

JSON-Eingabe:

POST https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/dlpJobs

{
  "inspectJob":{
    "inspectConfig":{
      "infoTypes":[
        {
          "name":"PERSON_NAME"
        },
        {
          "name":"PHONE_NUMBER"
        },
        {
          "name":"US_SOCIAL_SECURITY_NUMBER"
        },
        {
          "name":"EMAIL_ADDRESS"
        }
      ],
      "includeQuote":true
    },
    "storageConfig":{
      "cloudStorageOptions":{
        "fileSet":{
          "url":"gs://[BUCKET_NAME]/**"
        }
      }
    },
    "actions":[
      {
        "saveFindings":{
          "outputConfig":{
            "table":{
              "projectId":"[PROJECT_ID]",
              "datasetId":"[DATASET_ID]",
              "tableId":"[TABLE_ID]"
            }
          }
        }
      }
    ]
  }
}

Wenn Sie zwei Sternchen (**) nach der Cloud Storage-Bucket-Adresse (gs://[BUCKET_NAME]/**) angeben, weisen Sie den Scanjob an, rekursiv zu scannen. Wenn Sie ein einzelnes Sternchen (*) setzen, weisen Sie damit den Job an, nur die angegebene Verzeichnisebene und nicht tiefer zu scannen.

Die Ausgabe wird in der angegebenen Tabelle innerhalb des angegebenen Datasets und Projekts gespeichert. Nachfolgende Jobs, die dieselbe Tabellen-ID angeben, hängen die Ergebnisse an diese Tabelle an. Sie können auch den Schlüssel "tableId" weglassen, wenn Sie den Schutz sensibler Daten anweisen möchten, bei jedem Scan eine neue Tabelle zu erstellen.

Nachdem Sie diesen JSON-Code in einer Anfrage über die angegebene URL an die Methode projects.dlpJobs.create gesendet haben, erhalten Sie die folgende Antwort:

JSON-Ausgabe:

{
  "name":"projects/[PROJECT_ID]/dlpJobs/[JOB_ID]",
  "type":"INSPECT_JOB",
  "state":"PENDING",
  "inspectDetails":{
    "requestedOptions":{
      "snapshotInspectTemplate":{

      },
      "jobConfig":{
        "storageConfig":{
          "cloudStorageOptions":{
            "fileSet":{
              "url":"gs://[BUCKET_NAME]/**"
            }
          }
        },
        "inspectConfig":{
          "infoTypes":[
            {
              "name":"PERSON_NAME"
            },
            {
              "name":"PHONE_NUMBER"
            },
            {
              "name":"US_SOCIAL_SECURITY_NUMBER"
            },
            {
              "name":"EMAIL_ADDRESS"
            }
          ],
          "minLikelihood":"POSSIBLE",
          "limits":{

          },
          "includeQuote":true
        },
        "actions":[
          {
            "saveFindings":{
              "outputConfig":{
                "table":{
                  "projectId":"[PROJECT_ID]",
                  "datasetId":"[DATASET_ID]",
                  "tableId":"[TABLE_ID]"
                }
              }
            }
          }
        ]
      }
    }
  },
  "createTime":"2018-11-19T21:09:07.926Z"
}

Sobald der Job abgeschlossen ist, werden die Ergebnisse in der angegebenen BigQuery-Tabelle gespeichert.

Wenn Sie den Jobstatus abfragen möchten, rufen Sie die Methode projects.dlpJobs.get auf oder senden Sie eine GET-Anfrage an die folgende URL. Ersetzen Sie dabei [PROJECT_ID] durch Ihre Projekt-ID und [JOB_ID] durch die Job-ID, die in der Antwort der Cloud Data Loss Prevention API auf die Anfrage zur Joberstellung angegeben ist (der Job-ID wird "i-" vorangestellt):

GET https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/dlpJobs/[JOB_ID]

Für den gerade erstellten Job gibt diese Anfrage den folgenden JSON-Code zurück. Beachten Sie, dass nach den Inspektionsdetails eine Zusammenfassung der Scanergebnisse zurückgegeben wird. Wenn der Scan noch nicht abgeschlossen wurde, gibt der Schlüssel "state" den Status "RUNNING"zurück.

JSON-Ausgabe:

{
  "name":"projects/[PROJECT_ID]/dlpJobs/[JOB_ID]",
  "type":"INSPECT_JOB",
  "state":"DONE",
  "inspectDetails":{
    "requestedOptions":{
      "snapshotInspectTemplate":{

      },
      "jobConfig":{
        "storageConfig":{
          "cloudStorageOptions":{
            "fileSet":{
              "url":"gs://[BUCKET_NAME]/**"
            }
          }
        },
        "inspectConfig":{
          "infoTypes":[
            {
              "name":"PERSON_NAME"
            },
            {
              "name":"PHONE_NUMBER"
            },
            {
              "name":"US_SOCIAL_SECURITY_NUMBER"
            },
            {
              "name":"EMAIL_ADDRESS"
            }
          ],
          "minLikelihood":"POSSIBLE",
          "limits":{

          },
          "includeQuote":true
        },
        "actions":[
          {
            "saveFindings":{
              "outputConfig":{
                "table":{
                  "projectId":"[PROJECT_ID]",
                  "datasetId":"[DATASET_ID]",
                  "tableId":"[TABLE_ID]"
                }
              }
            }
          }
        ]
      }
    },
    "result":{
      "processedBytes":"536734051",
      "totalEstimatedBytes":"536734051",
      "infoTypeStats":[
        {
          "infoType":{
            "name":"PERSON_NAME"
          },
          "count":"269679"
        },
        {
          "infoType":{
            "name":"EMAIL_ADDRESS"
          },
          "count":"256"
        },
        {
          "infoType":{
            "name":"PHONE_NUMBER"
          },
          "count":"7"
        }
      ]
    }
  },
  "createTime":"2018-11-19T21:09:07.926Z",
  "startTime":"2018-11-19T21:10:20.660Z",
  "endTime":"2018-11-19T22:07:39.725Z"
}

Analysen in BigQuery ausführen

Nachdem Sie nun eine neue BigQuery-Tabelle mit den Ergebnissen des Scans zum Schutz sensibler Daten erstellt haben, führen Sie im nächsten Schritt Analysen für die Tabelle aus.

Klicken Sie in der Google Cloud Console unter Big Data auf BigQuery. Öffnen Sie Ihr Projekt und das Dataset und suchen Sie die neu erstellte Tabelle.

Sie können SQL-Abfragen für diese Tabelle ausführen, um mehr darüber zu erfahren, was der Schutz sensibler Daten in Ihrem Daten-Bucket gefunden hat. Führen Sie zum Beispiel Folgendes aus, um alle Scanergebnisse nach infoType zu zählen. Ersetzen Sie hierfür die Platzhalter durch die entsprechenden Werte:

SELECT
  info_type.name,
  COUNT(*) AS iCount
FROM
  `[PROJECT_ID].[DATASET_ID].[TABLE_ID]`
GROUP BY
  info_type.name

Mit dieser Abfrage wird eine Zusammenfassung der Ergebnisse aus diesem Bucket zurückgegeben, die etwa folgendermaßen aussehen könnte:

Beispielzusammenfassung der Cloud DLP-Ergebnisse

Bericht in Looker Studio erstellen

Mit Looker Studio können Sie benutzerdefinierte Berichte erstellen, die auf BigQuery-Tabellen basieren. In diesem Abschnitt erstellen Sie in Looker Studio einen einfachen Tabellenbericht, der auf den in BigQuery gespeicherten Ergebnissen zum Schutz sensibler Daten basiert.

  1. Öffnen Sie Looker Studio und starten Sie einen neuen Bericht.
  2. Klicken Sie auf Neue Datenquelle erstellen.
  3. Klicken Sie in der Liste der Connectors auf BigQuery. Autorisieren Sie gegebenenfalls Looker Studio, eine Verbindung zu Ihren BigQuery-Projekten herzustellen. Klicken Sie dazu auf Autorisieren.
  4. Wählen Sie nun die zu durchsuchende Tabelle aus und klicken Sie auf Meine Projekte oder Freigegebene Projekte, je nachdem, wo sich Ihr Projekt befindet. Suchen Sie Ihr Projekt, das Dataset und die Tabelle in den Listen auf der Seite.
  5. Klicken Sie auf Verbinden, um den Bericht zu erstellen.
  6. Klicken Sie auf Zum Bericht hinzufügen.

Erstellen Sie jetzt eine Tabelle, in der die Häufigkeit jedes infoType angezeigt wird. Wählen Sie als Dimension das Feld info_type.name aus. Die resultierende Tabelle sieht etwa so aus:

Eine Beispieltabelle in Looker Studio.

Nächste Schritte

Dies ist erst der Anfang dessen, was Sie mit Looker Studio und die Ausgabe des Schutzes sensibler Daten visualisieren können. Sie können weitere Diagrammelemente und Aufschlüsselungsfilter hinzufügen, um Dashboards und Berichte zu erstellen. Weitere Informationen zu den in Looker Studio verfügbaren Funktionen finden Sie in der Looker Studio-Produktübersicht.