Saya berharap saya dapat meningkatkan Anda 100 poin hanya untuk memikirkan hal ini! Saya telah melihat subjek ini berkali-kali diabaikan itu tidak benar - dilakukan dengan sangat baik. Dari apa yang saya pahami, Anda benar-benar ingin mengacak data di dalam bidang itu sendiri, dan meskipun saya memahami apa yang Anda coba capai, mungkin tidak cukup diperlukan untuk melakukannya - meskipun harus dipertimbangkan berdasarkan kasus per kasus.
Sebagian besar undang-undang perlindungan data berkisar pada kemampuan untuk secara tepat mengaitkan sepotong data dengan seorang individu - misalnya tanggal lahir atau nomor telepon. Anda dapat memenuhi persyaratan hukum dengan memastikan bahwa ketika Anda memindahkan data Anda keluar dari produksi ke UAT, data tersebut dicampurkan sehingga tidak mudah dipetakan kembali ke orang aslinya - terutama ketika Anda mencampur nama pengguna dan nama keluarga.
Namun, ini tidak membahas masalah misalnya katakanlah detail kontak. Anda dapat memenuhi persyaratan hukum dengan mengacak-acak data tetapi nomor teleponnya masih asli, emailnya masih asli dll ... mereka tidak ditugaskan kepada orang yang benar. Untuk ini saya sarankan jika memungkinkan membersihkan data itu sebelum meneruskannya ke UAT, Red Gate melakukan perangkat lunak yang disebut Data Generator yang dapat membuat data uji acak untuk Anda sehingga Anda dapat mengisi kembali bidang dengan data yang dapat diuji terhadapnya.
Adapun pengacakan data: ada banyak aplikasi yang melakukan ini untuk Anda dan jujur Anda benar karena tidak ingin menciptakan kembali roda. Salah satu yang kami gunakan di perusahaan kami adalah produk yang disebut Data Masker oleh perusahaan bernama Net2000. Lisensi ini cukup murah, kerjanya sangat cepat dan Anda tidak perlu khawatir harus menonaktifkan semua kendala Anda sebelum mengacak database.
Anda tentu saja dapat menggulung solusi Anda sendiri jika Anda tidak menemukan apa pun yang memenuhi persyaratan Anda - jika Anda memutuskan untuk melakukan ini, saya akan sangat menyarankan menggunakan prosedur CLR untuk melakukannya karena jauh lebih fleksibel daripada TSQL murni (tidak untuk mengatakan bahwa Anda tidak dapat menggunakan TSQL lihat di sini ).
Setelah Anda memilih aplikasi untuk melakukan ini untuk Anda, hal berikutnya yang perlu Anda putuskan adalah apa yang sebenarnya Anda inginkan / butuhkan untuk diacak? Jujur sumber daya terbaik Anda untuk ini adalah tim hukum perusahaan Anda dan atau auditor perusahaan. Saya tahu bahwa kadang-kadang kita mungkin tidak suka bekerja dengan mereka tetapi mereka akan jauh lebih baik kepada Anda untuk mendekati mereka dan mengajukan pertanyaan kepada mereka daripada mencoba melakukannya sendiri dan salah, sama sekali tidak ada yang salah dengan meminta bantuan - Terutama ketika itu sama pentingnya dengan ini.
Saya harap ini membantu Anda dan saya berharap semoga sukses dalam pencarian Anda ... ;-)
Tuan Brownstone memukul paku tepat di kepala. Sekarang untuk membantu Anda sedikit, inilah fungsi "memutarbalikkan" saya, yang digunakan untuk mengaburkan string (hasil lucu dengan nama!). Mengirimkan string, mengembalikan string yang kacau. Sertakan dalam pernyataan pembaruan terhadap kolom string. Ubah panjang data sesuai keinginan Anda.
sumber
Saya harus melakukan ini untuk data penjualan ritel klien saya. Untuk nama saya pergi ke sensus dan mengunduh semua nama depan dan belakang, menjalankannya melalui lingkaran untuk bergabung setiap pertama ke setiap terakhir, menambahkan kode seks dan memasukkannya ke dalam tabel dalam semua huruf besar. Saya kemudian memiliki meja dengan sekitar 400 juta nama unik. Saya menggunakan huruf besar karena data kami saat ini tidak dalam huruf besar sehingga saya bisa lebih mudah memberi tahu data yang telah digosok.
Ketika saya menggosok data pengguna saya, saya mengganti nama-nama, untuk ulang tahun saya menempatkan semua orang pada 1 Januari tahun mereka benar-benar dilahirkan dan memperbarui nomor telepon apa pun dengan kode pos mereka (data saya hanya AS). Alamat email menjadi nama awal plus nama belakang @ mycompany.co. Alamat pos memberi saya kesedihan paling tetapi saya menjaga kota, negara bagian dan zip karena saya percaya mereka tidak menjadi masalah jika alamat diubah. Saya memiliki seorang rekan kerja yang memiliki beberapa program yang menghasilkan surat kacau dan memperbarui garis alamat dengan itu.
Di mana saja saya memiliki data duplikat tetapi masih memiliki FK untuk pengguna utama (desain yang buruk ya, tapi bukan milik saya) Saya memperbarui data itu juga sehingga namanya konsisten di seluruh basis data untuk pengguna x.
Secara keseluruhan data saya masih sangat mudah dibaca walaupun alamat tidak masuk akal. Butuh beberapa hari untuk menyelesaikan semua ini, tetapi begitu selesai dan pekerjaan agen sql dibuat, saya bisa menggosok data hanya dalam 15 menit.
sumber
Untuk mengaburkan bidang tunggal, bagaimana menggunakan fungsi HASHBYTES (dalam SQL 2008+)? Anda dapat memilih algoritma Anda (MD5 mungkin cukup) asalkan Anda menggarami data Anda. Jadi, alih-alih
SELECT HASHBYTES('SHA2_256', <LAST NAME FIELD>)
pastikan saja Anda melakukannyaSELECT HASHBYTES('SHA2_256', <LAST NAME FIELD> + '<my salt string>')
dan sekarang Anda memiliki hash yang tidak mudah dipaksakan.Ini adalah fungsi aktual yang dapat didukung, diulang, dan mungkin jauh lebih cepat. Bergantung pada seberapa banyak Anda perlu benar-benar mengamankan vs hanya mengaburkan, Anda juga bisa menggunakan hash yang lebih lemah dan lebih cepat.
sumber
MD2 | MD4 | MD5 | SHA | SHA1 | SHA2_256 | SHA2_512
Sesuatu untuk semua orang !! (termasuk, ya, yang tidak boleh Anda gunakan). Jadi misalkan kita menggunakan SHA2_512 ... hal lain yang bermasalah dengan pendekatan ini?Lihatlah modul PowerShell dbatools untuk opsi gratis untuk Static Data Masking, yang ditulis oleh Chrissy Lemaire (@ chrissy-lemaire) dan timnya. Semua alat mereka sangat bagus, jadi saya yakin ini layak untuk dilihat.
Dua perintah untuk mencari di dbatools adalah: New-DbaDbMaskingConfig Invoke-DbaDbDataMasking
Lihatlah posting blog yang mengumumkan ini: masking data otomatis
sumber