Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerapkan SHA1 hashing untuk data PII saat bermigrasi dari SQL Server ke PostgreSQL
Rajkumar Raghuwanshi dan Jagadish Kantubugata, Amazon Web Services
Ringkasan
Pola ini menjelaskan cara menerapkan hashing Secure Hash Algorithm 1 (SHA1) untuk alamat email saat bermigrasi dari SQL Server ke Amazon RDS for PostgreSQL atau yang kompatibel dengan Amazon Aurora PostgreSQL. Alamat email adalah contoh informasi identitas pribadi (PII). PII adalah informasi yang, jika dilihat secara langsung atau dipasangkan dengan data terkait lainnya, dapat digunakan untuk menyimpulkan identitas individu secara wajar.
Pola ini mencakup tantangan mempertahankan nilai hash yang konsisten di berbagai kumpulan database dan pengkodean karakter, dan memberikan solusi menggunakan fungsi dan pemicu PostgreSQL. Meskipun pola ini berfokus pada SHA1 hashing, itu dapat disesuaikan untuk algoritma hashing lain yang didukung oleh modul PostgreSQL. pgcrypto Selalu pertimbangkan implikasi keamanan dari strategi hashing Anda dan konsultasikan dengan pakar keamanan jika menangani data sensitif.
Prasyarat dan batasan
Prasyarat
Aktif Akun AWS
Sumber database SQL Server
Target database PostgreSQL (Amazon RDS untuk PostgreSQL atau Aurora PostgreSQL kompatibel)
Keahlian pengkodean PL/PGSQL
Batasan
Pola ini memerlukan perubahan pemeriksaan tingkat basis data berdasarkan kasus penggunaan.
Dampak kinerja pada kumpulan data besar belum dievaluasi.
Beberapa Layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat AWS Layanan menurut Wilayah
. Untuk titik akhir tertentu, lihat Titik akhir dan kuota layanan, dan pilih tautan untuk layanan.
Versi produk
Microsoft SQL Server 2012 atau yang lebih baru
Arsitektur
Tumpukan teknologi sumber
SQL Server
.NET Framework
Tumpukan teknologi target
PostgreSQL
pgcryptoperpanjangan
Otomatisasi dan skala
Pertimbangkan untuk menerapkan fungsi hashing sebagai prosedur tersimpan untuk perawatan yang lebih mudah.
Untuk kumpulan data besar, evaluasi kinerja dan pertimbangkan pemrosesan batch atau strategi pengindeksan.
Alat
Layanan AWS
Amazon Aurora PostgreSQL kompatibel adalah mesin database relasional yang dikelola sepenuhnya dan sesuai dengan ACID yang membantu Anda mengatur, mengoperasikan, dan menskalakan penerapan PostgreSQL.
AWS Database Migration Service (AWS DMS) membantu Anda memigrasikan penyimpanan data ke dalam AWS Cloud atau di antara kombinasi pengaturan cloud dan lokal.
Amazon Relational Database Service Amazon RDS for PostgreSQL membantu Anda mengatur, mengoperasikan, dan menskalakan database relasional PostgreSQL di. AWS Cloud
AWS Schema Conversion Tool (AWS SCT) mendukung migrasi database heterogen dengan secara otomatis mengonversi skema basis data sumber dan sebagian besar kode kustom ke format yang kompatibel dengan database target.
Alat lainnya
pgAdmin
adalah alat manajemen open source untuk PostgreSQL. Ini menyediakan antarmuka grafis yang membantu Anda membuat, memelihara, dan menggunakan objek database. SQL Server Management Studio (SSMS)
adalah lingkungan terintegrasi untuk mengelola infrastruktur SQL apa pun.
Praktik terbaik
Gunakan pengaturan pemeriksaan yang sesuai untuk menangani karakter khusus di sisi database target.
Uji secara menyeluruh dengan berbagai alamat email, termasuk alamat dengan karakter non-ASCII.
Pertahankan konsistensi dalam penanganan huruf besar dan kecil antara lapisan aplikasi dan database.
Benchmark kinerja kueri menggunakan nilai hash.
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Tinjau kode SQL Server. | Untuk meninjau kode SQL Server yang menghasilkan SHA1 hash, lakukan hal berikut:
| Insinyur data, DBA, Pengembang aplikasi |
Dokumentasikan algoritma hashing dan transformasi data. | Untuk mendokumentasikan algoritma hashing dan transformasi data yang tepat, lakukan hal berikut:
| Pengembang aplikasi, Insinyur data, DBA |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat | Untuk membuat
| DBA, Insinyur data |
Menerapkan fungsi PostgreSQL. | Menerapkan fungsi PostgreSQL berikut untuk mereplikasi logika hashing SQL Server. Pada tingkat tinggi, fungsi ini menggunakan langkah-langkah berikut:
| Insinyur data, DBA, Pengembang aplikasi |
Uji fungsinya. | Untuk menguji fungsi, gunakan data sampel dari SQL Server untuk memverifikasi nilai hash yang cocok. Jalankan perintah berikut:
| Pengembang aplikasi, DBA, Insinyur data |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat pemicu pada tabel yang relevan. | Untuk membuat pemicu pada tabel yang relevan untuk secara otomatis menghasilkan nilai hash pada insert atau update, jalankan perintah berikut:
| Pengembang aplikasi, Insinyur data, DBA |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Kembangkan skrip migrasi atau gunakan AWS DMS. | Kembangkan skrip migrasi atau gunakan AWS DMS untuk mengisi nilai hash untuk data yang ada (termasuk nilai hash yang disimpan seperti
| Insinyur data, Pengembang aplikasi, DBA |
Gunakan fungsi hashing PostgreSQL yang baru. | Untuk menggunakan fungsi hashing PostgreSQL baru untuk memastikan konsistensi, lakukan hal berikut:
| Pengembang aplikasi, DBA, DevOps insinyur |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Identifikasi kueri aplikasi. | Untuk mengidentifikasi kueri aplikasi yang menggunakan nilai hash, lakukan hal berikut:
| Pengembang aplikasi, DBA, Insinyur data |
Ubah kueri. | Jika perlu, ubah kueri untuk menggunakan fungsi hashing PostgreSQL yang baru. Lakukan hal-hal berikut:
| Pengembang aplikasi, DBA, Insinyur data |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Lakukan pengujian. | Untuk melakukan pengujian menyeluruh dengan subset data produksi, lakukan hal berikut:
| Pengembang aplikasi, Insinyur data, DBA |
Validasi bahwa nilai hash cocok. | Untuk memvalidasi bahwa nilai hash cocok antara SQL Server dan PostgreSQL, lakukan hal berikut:
| Pengembang aplikasi, Insinyur data, DBA |
Verifikasi fungsionalitas aplikasi. | Untuk memverifikasi fungsionalitas aplikasi dengan menggunakan data yang dimigrasi dan implementasi hashing baru, lakukan hal berikut:
| Pengembang aplikasi, DBA, Insinyur data |
Pemecahan Masalah
| Isu | Solusi |
|---|---|
Nilai hash tidak cocok. | Verifikasi pengkodean karakter dan susunan antara sumber dan target. Untuk informasi selengkapnya, lihat Mengelola perubahan pemeriksaan di PostgreSQL di Amazon Aurora dan Amazon RDS (Blog |
Sumber daya terkait
AWS Blog
Sumber daya lainnya