Menganalisis dan melaporkan temuan pemindaian Perlindungan Data Sensitif

Sensitive Data Protection membantu Anda menemukan, memahami, dan mengelola data sensitif yang ada dalam infrastruktur Anda. Setelah memindai konten untuk menemukan data sensitif menggunakan Sensitive Data Protection, Anda memiliki beberapa opsi untuk menentukan tindakan yang akan dilakukan terhadap kecerdasan data tersebut. Topik ini menunjukkan cara memanfaatkan kecanggihan fitur Google Cloud lain seperti BigQuery, Cloud SQL, dan Looker Studio untuk:

  • Menyimpan hasil pemindaian Sensitive Data Protection langsung di BigQuery.
  • Buat laporan tentang lokasi data sensitif berada di infrastruktur Anda.
  • Jalankan analisis SQL yang canggih untuk memahami lokasi penyimpanan data sensitif dan jenisnya.
  • Mengotomatiskan pemberitahuan, atau tindakan yang akan dipicu berdasarkan satu set atau kombinasi temuan.

Topik ini juga berisi contoh lengkap cara menggunakan Perlindungan Data Sensitif bersama dengan fitur Google Cloud lainnya untuk melakukan 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 pemindaian repositori penyimpanan, termasuk penggunaan library klien, lihat Memeriksa Penyimpanan dan Database untuk Data Sensitif.

Untuk menjalankan operasi pemindaian pada repositori penyimpananGoogle Cloud , susun objek JSON yang mencakup objek konfigurasi berikut:

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

    • StorageConfig: Repositori penyimpanan yang akan dipindai.
    • InspectConfig: Cara dan apa yang harus dipindai. Anda juga dapat menggunakan template pemeriksaan untuk menentukan konfigurasi pemeriksaan.
    • Action: Tugas yang akan dijalankan setelah tugas selesai. Tindakan ini dapat mencakup penyimpanan 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, Anda mengirimkan temuan ke tabel BigQuery khusus untuk menyimpan output Perlindungan Data Sensitif. JSON berikut dapat disimpan ke file atau dikirim langsung ke metode create dari resource Sensitive Data Protection 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 memindai hanya tingkat direktori yang ditentukan dan tidak lebih dalam.

Output akan disimpan ke tabel yang ditentukan dalam set data dan project yang diberikan. Tugas berikutnya yang menentukan ID tabel tertentu akan menambahkan temuan ke tabel yang sama. Anda juga dapat menghilangkan kunci "tableId" jika ingin menginstruksikan Sensitive Data Protection 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 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 diawali 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" 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 tersebut.

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

Anda dapat menjalankan kueri SQL pada tabel ini untuk mengetahui lebih lanjut apa yang ditemukan oleh Perlindungan Data Sensitif dalam bucket data Anda. Misalnya, jalankan 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 Sensitive Data Protection.

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 Sensitive Data Protection 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, beri otorisasi Looker Studio untuk terhubung ke project BigQuery Anda dengan mengklik Beri otorisasi.
  4. Sekarang, pilih tabel yang akan ditelusuri, lalu klik Project Saya atau Project Bersama, 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 mirip dengan berikut ini:

Contoh tabel di Looker Studio.

Langkah berikutnya

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