Ergebnisse von Scans für den Schutz sensibler Daten analysieren und Berichte erstellen

Mit dem Schutz sensibler Daten können Sie vertrauliche Daten in Ihrer Infrastruktur suchen, erfassen und verwalten. Nachdem Sie Inhalte mithilfe von Sensitive Data Protection nach vertraulichen Daten gescannt haben, können Sie die Ergebnisse auf verschiedene Arten nutzen. In diesem Thema erfahren Sie, wie Sie die Funktionen anderer Google Cloud-Features wie BigQuery, Cloud SQL und Looker Studio für Folgendes nutzen können:

  • Scanergebnisse für den Schutz sensibler Daten direkt in BigQuery speichern
  • 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.

Außerdem enthält dieses Thema auch ein vollständiges Beispiel, wie der Schutz sensibler Daten in Kombination mit anderen Google Cloud-Features verwendet werden kann, um all dies zu erreichen.

Speicher-Bucket durchsuchen

Scannen Sie zuerst Ihre Daten. Im Folgenden finden Sie grundlegende Informationen zum Scannen von Speicher-Repositories mit dem Schutz 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 für das Speichern der Ergebnisse des Schutzes sensibler Daten reserviert 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 jeder Ausführung des Scans 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 eine neue BigQuery-Tabelle mit den Ergebnissen des Scans zum Schutz sensibler Daten erstellt wurde, kann diese Tabelle analysiert werden.

Klicken Sie in der Google Cloud Console links 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 weitere Informationen über die Suchergebnisse von Sensitive Data Protection im Daten-Bucket zu erhalten. 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 tabellarischen Bericht, der auf den in BigQuery gespeicherten Ergebnissen zum Schutz sensibler Daten beruht.

  1. Öffnen Sie Looker Studio und beginnen Sie einen neuen Bericht.
  2. Klicken Sie auf Neue Datenquelle erstellen.
  3. Klicken Sie in der Liste der Connectors auf BigQuery. Autorisieren Sie Looker Studio, falls erforderlich, 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 nur der Anfang dessen, was Sie mit Looker Studio und der Ausgabe von Sensitive Data Protection 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.