Menganalisis dan melaporkan temuan pemindaian Perlindungan Data Sensitif

Perlindungan Data Sensitif membantu Anda menemukan, memahami, dan mengelola data sensitif yang ada dalam infrastruktur Anda. Setelah memindai konten Anda untuk menemukan data sensitif menggunakan Perlindungan Data Sensitif, Anda memiliki beberapa opsi terkait apa yang harus dilakukan dengan kecerdasan data tersebut. Topik ini menunjukkan cara memanfaatkan kecanggihan fitur Google Cloud lainnya, seperti BigQuery, Cloud SQL, dan Looker Studio untuk:

  • Simpan hasil pemindaian Perlindungan Data Sensitif langsung di BigQuery.
  • Membuat laporan tentang lokasi data sensitif dalam infrastruktur Anda.
  • Jalankan analisis SQL yang lengkap untuk memahami tempat data sensitif disimpan dan jenis data sensitif tersebut.
  • Otomatiskan pemberitahuan atau tindakan yang akan dipicu berdasarkan satu kumpulan atau kombinasi temuan.

Topik ini juga berisi contoh lengkap cara menggunakan Perlindungan Data Sensitif beserta fitur Google Cloud lainnya untuk menyelesaikan semua hal ini.

Memindai bucket penyimpanan

Pertama, jalankan pemindaian pada data Anda. Berikut adalah informasi dasar tentang cara memindai repositori penyimpanan menggunakan Perlindungan Data Sensitif. Untuk petunjuk lengkap tentang memindai repositori penyimpanan, termasuk penggunaan library klien, lihat Memeriksa Penyimpanan dan Database untuk Data Sensitif.

Untuk menjalankan operasi pemindaian pada repositori Google Cloud Storage, susun objek JSON yang menyertakan objek konfigurasi berikut:

  • InspectJobConfig: Mengonfigurasi tugas pemindaian Perlindungan Data Sensitif, dan terdiri dari:

    • StorageConfig: Repositori penyimpanan yang akan dipindai.
    • InspectConfig: Cara dan konten yang harus dipindai. Anda juga dapat menggunakan template inspeksi untuk menentukan konfigurasi pemeriksaan.
    • Action: Tugas yang akan dieksekusi saat menyelesaikan tugas. Hal ini dapat mencakup menyimpan temuan ke tabel BigQuery atau memublikasikan notifikasi ke Pub/Sub.

Dalam contoh ini, Anda memindai bucket Cloud Storage untuk nama orang, nomor telepon, nomor Jaminan Sosial AS, dan alamat email. Kemudian, Anda mengirimkan temuan tersebut ke tabel BigQuery yang dikhususkan untuk menyimpan output Perlindungan Data Sensitif. JSON berikut dapat disimpan ke file atau dikirim langsung ke metode create dari resource Perlindungan Data Sensitif DlpJob.

Input JSON:

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]"
            }
          }
        }
      }
    ]
  }
}

Dengan menentukan dua tanda bintang (**) setelah alamat bucket Cloud Storage (gs://[BUCKET_NAME]/**), Anda menginstruksikan tugas pemindaian untuk memindai secara rekursif. Menempatkan satu tanda bintang (*) akan menginstruksikan tugas untuk hanya memindai tingkat direktori yang ditentukan dan tidak lebih dalam.

Output akan disimpan ke tabel yang ditentukan dalam set data dan project yang ditentukan. Tugas berikutnya yang menentukan ID tabel yang diberikan akan menambahkan temuan ke tabel yang sama. Anda juga dapat mengecualikan kunci "tableId" jika ingin menginstruksikan Perlindungan Data Sensitif untuk membuat tabel baru setiap kali pemindaian dijalankan.

Setelah Anda mengirim JSON ini dalam permintaan ke metode projects.dlpJobs.create melalui URL yang ditentukan, Anda akan mendapatkan respons berikut:

Output JSON:

{
  "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"
}

Setelah tugas selesai, tugas akan menyimpan temuannya ke tabel BigQuery yang ditentukan.

Untuk mendapatkan status tugas, panggil metode projects.dlpJobs.get, atau kirim permintaan GET ke URL berikut, dengan mengganti [PROJECT_ID] dengan project ID Anda dan [JOB_ID] dengan ID tugas yang diberikan dalam respons Cloud Data Loss Prevention API terhadap permintaan pembuatan tugas (ID tugas akan didahului dengan "i-"):

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

Untuk tugas yang baru saja Anda buat, permintaan ini akan menampilkan JSON berikut. Perhatikan bahwa ringkasan hasil pemindaian akan ditampilkan setelah detail pemeriksaan. Jika pemindaian belum selesai, kunci "state" akan menentukan "RUNNING".

Output JSON:

{
  "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"
}

Menjalankan analisis di BigQuery

Setelah Anda membuat tabel BigQuery baru dengan hasil pemindaian Perlindungan Data Sensitif, langkah berikutnya adalah menjalankan analisis pada tabel.

Di sisi kiri konsol Google Cloud, pada bagian Big Data, klik BigQuery. Buka project dan set data Anda, lalu cari tabel baru yang telah dibuat.

Anda dapat menjalankan kueri SQL pada tabel ini untuk mengetahui lebih lanjut apa saja yang ditemukan oleh Perlindungan Data Sensitif dalam bucket data Anda. Misalnya, jalankan perintah berikut untuk menghitung semua hasil pemindaian menurut infoType, yang menggantikan placeholder dengan nilai sebenarnya yang sesuai:

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

Kueri ini menghasilkan ringkasan temuan untuk bucket tersebut yang mungkin terlihat seperti berikut:

Contoh ringkasan temuan Cloud DLP.

Membuat laporan di Looker Studio

Looker Studio memungkinkan Anda membuat laporan kustom yang dapat didasarkan pada tabel BigQuery. Di bagian ini, Anda akan membuat laporan tabel sederhana di Looker Studio yang didasarkan pada temuan Perlindungan Data Sensitif yang disimpan di BigQuery.

  1. Buka Looker Studio dan mulai laporan baru.
  2. Klik Create New Data Source.
  3. Dari daftar Konektor, klik BigQuery. Jika perlu, izinkan Looker Studio untuk terhubung ke project BigQuery Anda dengan mengklik Izinkan.
  4. Sekarang, pilih tabel yang akan ditelusuri, lalu klik Project Saya atau Project Bersama, bergantung pada tempat project Anda berada. Temukan project, set data, dan tabel Anda dalam daftar di halaman.
  5. Klik Hubungkan untuk menjalankan laporan.
  6. Klik Add to Report.

Sekarang Anda akan membuat tabel yang menampilkan frekuensi setiap infoType. Pilih kolom info_type.name sebagai Dimensi. Tabel yang dihasilkan akan terlihat seperti berikut:

Contoh tabel di Looker Studio.

Langkah berikutnya

Ini hanyalah awal dari yang dapat Anda visualisasikan menggunakan Looker Studio dan output dari Perlindungan Data Sensitif. Anda dapat menambahkan elemen diagram dan filter lihat perincian lainnya untuk membuat dasbor dan laporan. Untuk informasi selengkapnya tentang apa yang tersedia di Looker Studio, lihat Ringkasan Produk Looker Studio.