Menganalisis dan melaporkan temuan pemindaian Sensitive Data Protection

Sensitive Data Protection membantu Anda menemukan, memahami, dan mengelola data sensitif yang ada dalam infrastruktur Anda. Setelah memindai konten untuk menemukan data sensitif menggunakan Perlindungan Data Sensitif, Anda memiliki beberapa opsi tentang tindakan yang harus dilakukan dengan intelijen 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.
  • Buat laporan tentang lokasi data sensitif di infrastruktur Anda.
  • Jalankan analisis SQL yang kaya untuk memahami tempat data sensitif disimpan dan jenis datanya.
  • Otomatiskan pemberitahuan, atau tindakan yang akan dipicu berdasarkan satu kumpulan atau kombinasi temuan.

Topik ini juga berisi contoh lengkap tentang cara menggunakan Sensitive Data Protection bersama dengan 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 cara memindai repositori penyimpanan, termasuk penggunaan library klien, lihat Memeriksa Penyimpanan dan Database untuk Data Sensitif.

Untuk menjalankan operasi pemindaian di repositori penyimpanan Google Cloud, gabungkan objek JSON yang menyertakan objek konfigurasi berikut:

  • InspectJobConfig: Mengonfigurasi tugas pemindaian Sensitive Data Protection, dan terdiri dari:

    • StorageConfig: Repositori penyimpanan yang akan dipindai.
    • InspectConfig: Cara dan apa yang akan dipindai. Anda juga dapat menggunakan template pemeriksaan untuk menentukan konfigurasi pemeriksaan.
    • Action: Tugas yang akan dijalankan setelah tugas selesai. Tindakan ini dapat mencakup menyimpan temuan ke tabel BigQuery atau memublikasikan notifikasi ke Pub/Sub.

Dalam contoh ini, Anda memindai bucket Cloud Storage untuk menemukan nama orang, nomor telepon, nomor Jaminan Sosial AS, dan alamat email. Kemudian, kirimkan temuan 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 DlpJob Perlindungan Data Sensitif.

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 tertentu. Tugas berikutnya yang menentukan ID tabel tertentu akan menambahkan temuan ke tabel yang sama. Anda juga dapat menghapus kunci "tableId" jika ingin menginstruksikan Perlindungan Data Sensitif untuk membuat tabel baru setiap kali pemindaian dijalankan.

Setelah 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 selesai, tugas akan menyimpan temuannya ke tabel BigQuery yang diberikan.

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 ditampilkan setelah detail pemeriksaan. Jika pemindaian belum selesai, kunci "state"-nya 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 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 temukan tabel baru yang 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 hal berikut untuk menghitung semua hasil pemindaian menurut infoType, dengan mengganti 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 Buat Sumber Data Baru.
  3. Dari daftar Konektor, klik BigQuery. Jika perlu, izinkan Looker Studio untuk terhubung ke project BigQuery Anda dengan mengklik Authorize.
  4. Sekarang, pilih tabel yang akan ditelusuri, lalu klik My Projects atau Shared Projects, bergantung pada lokasi project Anda. 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 hal yang dapat Anda visualisasikan menggunakan Looker Studio dan output dari Perlindungan Data Sensitif. Anda dapat menambahkan elemen diagram dan filter perincian lainnya untuk membuat dasbor dan laporan. Untuk informasi selengkapnya tentang apa yang tersedia di Looker Studio, lihat Ringkasan Produk Looker Studio.