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 untuk menangani data tersebut. Topik ini menunjukkan cara untuk memanfaatkan kemampuan fitur Google Cloud lain seperti BigQuery, Cloud SQL, dan Data Studio untuk:

  • Menyimpan hasil pemindaian Perlindungan Data Sensitif langsung di BigQuery.
  • Membuat laporan tentang lokasi data sensitif di infrastruktur Anda.
  • Menjalankan analisis SQL yang lengkap 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 Sensitive Data Protection bersama dengan fitur lain untuk Google Cloud mencapai 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 mengetahui petunjuk lengkap tentang cara memindai repositori penyimpanan, termasuk penggunaan library klien, lihat Memeriksa Penyimpanan dan Database untuk Data Sensitif.

Untuk menjalankan operasi pemindaian pada repositori penyimpanan Google Cloud , buat 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 hal 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 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 yang didedikasikan untuk menyimpan output Perlindungan Data Sensitif. JSON berikut dapat disimpan ke file atau dikirim langsung ke create metode DlpJob resource 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 yang diberikan. Tugas berikutnya yang menentukan ID tabel yang diberikan 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 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 tersebut 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 ID project 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 Anda buat, permintaan ini akan menampilkan JSON berikut. Perhatikan bahwa ringkasan hasil pemindaian akan 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 Sensitive Data Protection, langkah berikutnya adalah menjalankan analisis pada tabel.

Di sisi kiri Google Cloud konsol, di 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 tentang hal yang ditemukan Perlindungan Data Sensitif dalam bucket data Anda. Misalnya, jalankan perintah berikut untuk menghitung semua hasil pemindaian berdasarkan infoType, dengan mengganti placeholder dengan nilai nyata yang sesuai:

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

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

Contoh ringkasan temuan Sensitive Data Protection.

Membuat laporan di Data Studio

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

  1. Buka Data Studio dan mulai laporan baru.
  2. Klik Buat Sumber Data Baru.
  3. Dari daftar Konektor, klik BigQuery. Jika perlu, izinkan Data 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 lokasi project Anda. Temukan project, set data, dan tabel Anda dalam daftar di halaman.
  5. Klik Hubungkan untuk menjalankan laporan.
  6. Klik Tambahkan ke Laporan.

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:

Contoh tabel di Data Studio.

Langkah berikutnya

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