Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Cara Mengklasifikasikan, Menemukan, dan Menyamarkan PII di Basis Data…

Setelah membuat koneksi database, pengguna IRI FieldShield dan IRI DarkShield memiliki berbagai opsi untuk mengklasifikasikan, menemukan, dan menghapus identifikasi data sensitif di satu atau beberapa skema. Mereka sekarang dapat menerapkan semua tujuan ini sekaligus melalui fasilitas berbasis aturan di IRI Workbench.

Artikel ini menunjukkan langkah demi langkah penggunaan kelas data untuk menemukan dan menutupi PII di seluruh skema database relasional kecil menggunakan FieldShield, meskipun Anda dapat memperluas langkah-langkah ini ke skema yang lebih besar atau lebih. Jika database Anda berisi kolom semi-atau tidak terstruktur, lihat artikel ini tentang prosedur topeng klasifikasi-penelusuran DarkShield untuk RDB, atau artikel ini untuk DB NoSQL.

Dalam operasi RDB kolom terstruktur FieldShield, data biasanya diklasifikasikan satu skema pada satu waktu, tetapi disembunyikan secara global menggunakan aturan yang Anda simpan, ad hoc, atau sesuai jadwal untuk pembaruan.

Aturan penyembunyian data yang Anda tetapkan memungkinkan Anda memilih fungsi yang paling cocok untuk setiap kelas data, dan untuk menerapkannya secara konsisten. Memproduksi hasil ciphertext unik yang sama untuk setiap nilai plaintext asli yang unik — dalam tabel atau file apa pun — juga mempertahankan integritas referensial; misalnya, bergabung akan tetap berfungsi setelah data ditutup.

Contoh ini menggunakan contoh tabel Oracle dalam skema SCOTT yang disediakan di kotak pasir VM kami. Untuk terhubung ke database lain, Anda perlu mengonfigurasi:

  • Profil koneksi DTP untuk DB Anda di IRI Workbench menggunakan JDBC
  • DSN ODBC untuk DB sumber tersebut

Untuk informasi tentang menghubungkan database Anda untuk digunakan dengan FieldShield, lihat Pengaturan DB di sini.

Langkah-langkah yang akan saya jelaskan adalah:

  1. Penyiapan – Menentukan Kelas Data &Aturan Masking
  2. Pindai – Jalankan Wizard Pencarian Kelas Data Skema
  3. Tinjau &Sesuaikan – Editor Pustaka Kelas Data
  4. Mask – Jalankan Wizard Masking Database Kelas Data

Ada juga serial video yang ditautkan di sini dengan petunjuk langkah demi langkah yang serupa.

Pengaturan – Menentukan Kelas Data &Aturan Masking

Untuk menggunakan kelas data dengan aturan dan wizard, kelas data harus didefinisikan dan disimpan terlebih dahulu. Ini dapat dilakukan melalui Window> Preferences> IRI> Data Classes and Groups . Lihat artikel ini tentang Klasifikasi Data di IRI Workbench untuk menyelam lebih dalam. Ada juga video tutorial untuk Pengaturan Klasifikasi Data dan Aturan Masking.

Kelas data dapat dicocokkan dengan kolom baik dengan nama kolom (kelas EMAIL cocok dengan kolom bernama EMAIL) atau dengan mencocokkan data yang terdapat dalam kolom. Contoh ini memiliki kelas yang memiliki ekspresi reguler atau file set. Satu set file berisi entri yang berfungsi sebagai pencarian kamus.

Pada halaman preferensi itu, konfirmasikan bahwa kelas data ini ada:

  • Kelas CREDIT_CARD yang menggunakan \b((4\d{12}(\d{3})?))|(?:5[1-5][0-9]{2}|222[1-9] |22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|( 3[47]\d{13})|(3(0[0-5]|[68]\d)\d{11})|(6(011|5\d{2})\d{12 })|((2131|1800|35\d{3})\d{11})|(8\d{15})\b sebagai korek api.
  • Kelas EMAIL yang menggunakan \b[\w._%+-]+@[\w.-]+\.[A-Za-z]{2,4}\b
  • Kelas PHONE_US yang menggunakan ^(\+?(1)([ .-]?)?)?(\(?([2-9]\d{2})\)?([ .-]?)? )([2-9]\d{2})([ .-]?)(\d{4})([ #eExXtT]*)(\d{2,6})?&
  • Kelas PIN_US yang menggunakan \b([0-9]{3}[-]?[0-9]{2}[-]?[0-9]{4})\b
  • Kelas LAST_NAME yang menggunakan kumpulan file C:/IRI/cosort100/sets/names/names_last.set

Jika tidak, klik Pulihkan Default .

Di bagian atas halaman preferensi, ada entri Matching Threshold . Ini mewakili persentase kecocokan yang diperlukan agar kolom dapat ditetapkan sebagai kelas data. Pencarian skema akan memindai 4K blok data hingga kecocokan mencapai ambang batas ini. Jika tidak pernah mencapai ambang ini, maka tidak ada kelas data yang ditetapkan.

Karena saya tahu saya memiliki kolom yang berisi nama belakang yang mungkin tidak disebut "LAST_NAME" atau bahkan mungkin tidak memiliki data yang cocok dalam set file, saya dapat menggunakan ekspresi reguler untuk mencocokkan kelas data saya dengan nama kolom. Misalnya, mungkin ada kolom bernama LNAME atau LASTNAME.

Untuk mengedit kelas data LAST_NAME, klik entri LAST_NAME di tampilan Kelas Data dan klik Edit . Ubah namanya menjadi L(AST)?[_-]?NAME (garis bawah dan tanda hubung dalam tanda kurung). Klik Oke . Klik Terapkan dan Tutup .

Anda harus menentukan terlebih dahulu bagaimana Anda ingin nilai di setiap kelas data disamarkan (yaitu, format kolom targetnya), sehingga Anda dapat menentukan aturan tersebut selanjutnya. Dalam contoh kita, akan ada aturan redaksi, enkripsi mempertahankan format, dan pseudonimisasi. Masing-masing hanya perlu ditentukan sekali,  dari menu IRI.

Untuk menentukan aturan ini dalam contoh ini, ikuti langkah-langkah berikut:

Aturan 1 – Redaksi (untuk Nomor Jaminan Sosial)

  1. Pilih menu IRI> Aturan Baru .
  2. Pilih Aturan Bidang dan klik Berikutnya .
  3. Pilih Fungsi Redaksi , gunakan SSN untuk awal Rule Name jadi terbaca SSNRedactionRule, dan klik Next .
  4. Pilih Tentukan Topeng tombol radio. Ketik 1 di Posisi awal dan 5 dalam Panjang . Klik Tambahkan ke Tabel dan Selesai .

Aturan 2 – Enkripsi (untuk nomor rekening kartu kredit, alamat email, dan nomor telepon)

  1. Pilih menu IRI> Aturan Baru .
  2. Pilih Aturan Bidang dan klik Berikutnya .
  3. Pilih Fungsi Enkripsi dan Dekripsi dan klik Berikutnya . Jangan mengganti nama aturan.
  4. Pilih enc_fp_aes256_alphanum pilihan di sebelah kiri. Masukkan rahasia untuk Frase Sandi . Lihat halaman ini tentang opsi manajemen kunci enkripsi.
  5. Klik Selesai .

Aturan 3 – Pseudonimisasi (untuk nama belakang)

  1. Pilih menu IRI> Aturan Baru .
  2. Pilih Aturan Bidang dan klik Berikutnya .
  3. Pilih Penggantian Nama Samaran , ganti namanya menjadi LNamePseudonymRule, dan klik Berikutnya .
  4. Klik Gunakan daftar nama samaran Anda sendiri , dan Jelajahi ke file pencarian, C:/git/workbench-demos/Database_Classification_Masking/sets/lnames.set
  5. Pilih Gunakan undian acak dari daftar nama samaran . Perhatikan bahwa nama samaran yang dapat dipulihkan juga dimungkinkan, tetapi lebih rumit karena kemungkinan perubahan pada data sumber Anda.
  6. Klik Selesai .

Sekarang setelah aturan penyembunyian kelas data kita ditentukan, kita dapat melakukan operasi pencarian dan penyembunyian untuk menemukan dan memperbaiki data secara global di satu atau beberapa skema basis data.

Pindai – Jalankan Wizard Pencarian Kelas Data Skema

Untuk menemukan semua data yang sesuai dengan definisi kelas kami di semua tabel skema, gunakan Panduan Pencarian Kelas Data Skema. Ini menghasilkan laporan setiap tabel dan kolom dengan PII pra-klasifikasi di dalamnya, membuat file kelas data khusus untuk proyek Anda, dan membuka editor formulir untuk file itu. Dalam dialog pengeditan itu (langkah kami berikutnya setelah ini), Anda dapat meninjau dan memodifikasi kelas data dan definisi aturan penyembunyian sebelum pindah ke penyembunyian data global di langkah terakhir.

Anda dapat menjalankan wizard dari grup menu Data Discovery di toolbar IRI Workbench. Anda juga dapat menjalankan panduan pencarian langsung dari Penjelajah Sumber Data, untuk mengisi panduan sebelumnya dengan skema yang dipilih. Klik kanan pada skema SCOTT di Data Source Explorer (DSE), dan pilih IRI> Schema Data Class Search .

Pada halaman setup wizard pencarian, masukkan lokasi untuk menyimpan file kelas data. Hanya ada satu dari jenis file ini di setiap proyek, oleh karena itu status hanya-baca dari bidang nama. Biarkan default apa adanya. Klik Berikutnya .

Halaman input menunjukkan bahwa satu skema dipilih. Klik Berikutnya . Halaman berikutnya memungkinkan Anda untuk membatasi kolom yang dicari berdasarkan tipe data. Sertakan NUMERIK , dan klik Berikutnya .

Halaman Kecualikan Item memungkinkan Anda untuk mengecualikan tabel atau kolom selama pemindaian. Klik Berikutnya .

Halaman kelas data memungkinkan Anda untuk memfilter kelas data yang akan digunakan selama pemindaian. Pilih hanya CREDIT_CARD , EMAIL , L(AST)?[_-]?NAME, PHONE_US , dan PIN_US . Klik Selesai .

Bersama dengan laporan, ini membuat (atau menambahkan) pustaka kelas data dengan pemetaan antara kolom sumber dan kelas data. Editor formulir yang terbuka memungkinkan Anda menetapkan aturan ke hasil.

Pencarian melalui 46 tabel ini menghasilkan 18 kolom yang cocok, yang saya tahu sebagian besar, tetapi tidak sepenuhnya lengkap:

Saya tahu bahwa beberapa kolom tidak cocok karena tabel kosong atau nama tidak menemukan kecocokan dalam file yang ditetapkan. Pada langkah berikutnya, saya dapat mengatasi kesalahan tersebut dan mengonfirmasi aturan penyembunyian saya berdasarkan per tabel.

Tinjau &Sesuaikan – Editor Pustaka Kelas Data

Sekarang hasil pencarian terbuka di jendela pengeditan formulir perpustakaan kelas data, Anda dapat memeriksa dan mengubah aturan kolom di tingkat tabel, dan menghilangkan tabel kosong dalam skema dengan nama kolom yang cocok dengan nama kelas data Anda. Semua ini membantu mengonfirmasi bahwa Anda telah diatur dengan benar untuk pekerjaan masking massal untuk diikuti.

Perhatikan bahwa tampilan ini juga mendukung hasil pencarian file datar (kelas data direktori) bersama dengan hasil pencarian database Anda. Dengan menggabungkan hasil tersebut ke perpustakaan kelas data Anda, akan lebih mudah untuk menjaga fungsi masking (aturan) tetap sama di seluruh sumber data yang berbeda. Itu membantu menjaga integritas referensial dan menguji konsistensi data di lingkungan aplikasi yang lebih terdistribusi.

Klik sumber data (tabel) untuk menampilkan detail tentang sumber tersebut dan pratinjau data di dalamnya. Jika kecocokan dengan kelas data dibuat, kolom itu menunjukkan kelas itu dan bagaimana kecocokannya.

Dalam kasus tabel PERSONS saya di bawah ini, Anda dapat melihat bahwa:semua nilai kolom SSN cocok dengan pola RegEx dari kelas data PIN_US saya, dan kolom LASTNAME dan CREDIT_CARD cocok dengan nama kelas datanya, sehingga tidak diperlukan pemindaian kolom tersebut.

Pengeditan pemetaan kelas data dapat dilakukan dengan mengubah kelas data melalui drop-down, atau tidak memilih kolom untuk menghapus pemetaan sepenuhnya. Jika tabel kosong, mungkin tidak menetapkan semua pemetaan yang diinginkan. Ada tiga cara untuk menangani ini:

  1. Anda dapat menambahkan tabel ke halaman pengecualian di wizard klasifikasi di atas sehingga tidak ditambahkan ke perpustakaan kelas data
  2. Jika tabel mungkin memiliki data di masa mendatang, tetapkan kelas data secara manual di sini. Lalu
    • Hapus centang di wizard penyembunyian
    • Biarkan mereka dan wizard masking akan membuat skrip pekerjaan yang berjalan tetapi tidak menutupi
  3. atau, hapus sumber data dari perpustakaan kelas data

Dalam contoh ini, pilih sumber data berikut dan klik Hapus karena kosong atau tidak perlu ditutup-tutupi:

   SCOTT.DEMO_ROWGEN
   SCOTT.DM_EMPLOYEES
   SCOTT.PATIENT_RECORD_ENCRYPTED

Perawatan harus diambil untuk memverifikasi hasil di perpustakaan kelas data sebelum masking. Terkadang kecocokan terlewatkan karena data tidak valid atau pencocokan kelas data perlu dimodifikasi. Ada juga kemungkinan bahwa hasil positif palsu dapat terjadi.

Dalam contoh ini, kelas data perlu ditetapkan secara manual karena ada format alamat email dan nomor telepon AS yang tidak valid, tetapi kami tetap ingin menutupi kolom tersebut. Kami dapat memilih dan mengklasifikasikan kolom ini ke:

   SCOTT.EMPLOYEES.PHONE_NUMBER> PHONE_US

Setelah hasilnya ditinjau dan dimodifikasi sesuai kebutuhan, klik kelas data di perpustakaan di sebelah kiri untuk menetapkan aturan default. Ini akan memungkinkan Anda untuk menetapkan aturan ke semua sumber hanya dengan menetapkan aturan default ke kelas.

Dalam contoh ini, saya menetapkan aturan penyembunyian saya ke kelas data di perpustakaan sebagai berikut:

   CREDIT_CARD> FieldEncryptionRule
   EMAIL> FieldEncryptionRule
   L(AST)?[_-]?NAME> LNamePseudonymRule
   PHONE_US> FieldEncryptionRule
   PIN_US> SSNRedactionRule

Anda dapat memverifikasi bahwa penetapan aturan global Anda disebarluaskan sepenuhnya dan benar di sumber data dengan meninjau aturan penyembunyian di masing-masing sumber data. Misalnya, dalam tabel SCOTT.PERSONS yang pertama kali ditampilkan di atas dengan aturan, sekarang kita memiliki:

Jika kolom dalam tabel tertentu tidak memiliki aturan, atau memerlukan aturan yang berbeda, aturan tersebut dapat ditambahkan atau diubah setelah aturan default diterapkan dengan menanganinya di setiap sumber data.

Mask – Jalankan Wizard Masking Database Kelas Data

Setelah Anda memverifikasi bahwa aturan penyembunyian yang tepat ditetapkan ke kelas data Anda, Anda siap untuk menerapkannya secara global.

Klik kanan pada iriLibrary.dataclass objek di folder proyek Anda di pohon IRI Workbench Project Explorer Anda, dan pilih IRI> New Data Class Database Masking Job . Di halaman pertama panduan, verifikasi bahwa folder proyek adalah tempat kelas data dan pustaka aturan Anda disimpan, dan beri nama pekerjaan. Pilih Tampilkan halaman ringkasan untuk melihat detail pekerjaan.

Wizard memungkinkan Anda untuk memperbarui hasil masking di Sama tabel sumber (untuk menutupinya secara statis), ke Berbeda tabel target, atau ke File datar (disarankan) sehingga Anda dapat memvalidasi hasil terlebih dahulu, dan memuatnya ke target. Ubah Keluaran ke File datar dan klik Berikutnya .

Pada halaman Filter Kelas Data, biarkan semua kelas data dipilih. Klik Berikutnya . Pada halaman Sumber Data, biarkan semua item dipilih. Jika ada tabel yang tidak Anda inginkan untuk menjalankan tugas, Anda harus membatalkan pilihan di sini.

Karena saya memilih untuk menampilkan layar ringkasan, saya dapat memverifikasi pekerjaan:

sebelum mengklik Selesai .

Skrip kemudian dibuat dan diagram alir dibuka untuk mengilustrasikan seluruh pekerjaan, yang juga diserialisasikan sebagai file batch Windows (atau Unix). Setiap tabel yang akan memiliki kolom bertopeng diwakili oleh blok pemetaan transformasi cokelat, yang diserialkan dalam skrip tugas.

Tinjau operasi masking dengan mengklik dua kali blok pemetaan transformasi dan memeriksa garis oranye ke target. Ini menunjukkan kolom yang diubah dari input.

Klik di bidang di sebelah kanan garis oranye dan lihat tampilan properti di bagian bawah layar. Pernyataan Bidang Lanjutan menunjukkan transformasi (fungsi penyamaran) yang diterapkan.

Setelah Anda merasa nyaman dengan pekerjaan masking yang dibuat, jalankan. Di Perlindungan kelas_baru folder, klik kanan new_classProtection.bat file dan pilih Run As> Batch Program .

Pekerjaan berjalan pada baris perintah, dan file output bertopeng dapat dibuka untuk ditinjau dari folder proyek atau sistem file Anda. Memang, setelah operasi batch berjalan, semua skrip tugas masking dan output flat-file ditampilkan di folder pekerjaan baru saya.

Tangkapan layar di bawah menunjukkan yang di sebelah kiri, keadaan sebelum dan sesudah salah satu tabel saya, PERSONS, di tengah, dan pernyataan tugas khusus dalam bentuk skrip dan garis besar di sebelah kanan. Lihat bagaimana tiga kolom yang diklasifikasikan dan ditetapkan aturan dalam tabel ini tertutup seperti yang direncanakan:

Setelah tugas batch masking berjalan, Anda dapat memeriksa ulang hasilnya sebelum Anda:

  1. memuatnya ke dalam tabel di IRI Workbench (yang dapat membuat file loader secara otomatis);
  2. modifikasi pekerjaan untuk membuat perubahan; dan/atau, 
  3. jalankan kembali wizard untuk mengarahkan output ke tabel.

Pekerjaan penyembunyian ini berjalan di baris perintah, dan dapat dipicu atau dijadwalkan untuk penyegaran data dan pengarsipan otomatis. Hubungi jika Anda memiliki pertanyaan atau memerlukan bantuan dengan aspek apa pun dari proses konfigurasi menyeluruh ini, atau penerapannya.

  1. Untuk mencegah kemungkinan hasil pencarian positif palsu pada kartu kredit dan nomor ID nasional, Anda dapat secara otomatis melakukan pemeriksaan validitas komputasi selama pencarian melalui nilai pencocokan pola. Pilih atau buat skrip validasi kelas data untuk dikaitkan dengan definisi kelas data.
  2. Jika Anda menggunakan FieldShield di Voracity, Anda dapat secara bersamaan atau selanjutnya mengurutkan file tersebut pada kunci indeks utama dari tabel target untuk mempercepat pemuatan massal dan kueri umum.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memahami Pengumpulan Tingkat Basis Data dan Dampak Mengubahnya untuk Basis Data

  2. 10 Alasan Teratas Mengapa Anda Harus Belajar SQL

  3. Bekerja dengan Data Java di Alteryx

  4. Notasi ERD dalam Pemodelan Data

  5. SQL Kecuali