Bagikan melalui


Mengonfigurasi enkripsi kolom menggunakan Always Encrypted dengan paket DAC

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Paket aplikasi tingkat data (DAC), juga dikenal sebagai DACPAC, adalah unit portabel penyebaran database SQL Server yang menentukan semua objek SQL Server, termasuk tabel dan kolom di dalam tabel. Saat Anda menerbitkan DACPAC ke database (saat Anda meningkatkan database menggunakan DACPAC), skema database target akan diperbarui agar sesuai dengan skema di DACPAC. Anda dapat menerbitkan DACPAC menggunakan Wizard Peningkatan Aplikasi tingkat Data di SQL Server Management Studio, PowerShell, atau sqlpackage.

Artikel ini membahas pertimbangan khusus untuk meningkatkan database saat DACPAC atau/dan database target berisi kolom yang dilindungi dengan Always Encrypted. Jika skema enkripsi untuk kolom di DACPAC berbeda dari skema enkripsi untuk kolom yang ada di database target, menerbitkan DACPAC menghasilkan enkripsi, dekripsi, atau mengenkripsi ulang data yang disimpan di kolom. Lihat tabel di bawah ini untuk detailnya.

Kondisi Tindakan
Kolom dienkripsi di DACPAC dan tidak dienkripsi dalam database. Data dalam kolom akan dienkripsi.
Kolom tidak dienkripsi di DACPAC dan dienkripsi dalam database. Data dalam kolom akan didekripsi (enkripsi akan dihapus untuk kolom).
Kolom dienkripsi baik di DACPAC maupun database, tetapi kolom di DACPAC menggunakan jenis enkripsi atau/dan kunci enkripsi kolom yang berbeda dari kolom yang sesuai dalam database. Data dalam kolom akan didekripsi dan kemudian dienkripsi ulang agar sesuai dengan konfigurasi enkripsi di DACPAC.

Menyebarkan paket DAC juga dapat mengakibatkan pembuatan atau penghapusan objek metadata untuk kunci master kolom atau kunci enkripsi kolom untuk Always Encrypted.

Pertimbangan performa

Untuk melakukan operasi kriptografi, alat yang Anda gunakan untuk menyebarkan DACPAC perlu memindahkan data keluar dari database. Alat ini membuat tabel baru (atau tabel) dengan konfigurasi enkripsi yang diinginkan dalam database, memuat semua data dari tabel asli, melakukan operasi kriptografi yang diminta, mengunggah data ke tabel baru, lalu menukar tabel asli dengan tabel baru. Menjalankan operasi kriptografi dapat memakan waktu lama. Selama waktu itu, database Anda tidak tersedia untuk menulis transaksi.

Catatan

Jika Anda menggunakan SQL Server 2019 (15.x) dan instans SQL Server Anda dikonfigurasi dengan enklave aman, Anda dapat menjalankan operasi kriptografi di tempat, tanpa memindahkan data dari database. Lihat Mengonfigurasi enkripsi kolom di tempat menggunakan Always Encrypted dengan enklave aman. Perhatikan bahwa enkripsi di tempat tidak tersedia untuk penyebaran DACPAC.

Izin untuk menerbitkan paket DAC jika Always Encrypted disiapkan

Untuk menerbitkan paket DAC jika Always Encrypted disiapkan di DACPAC atau/dan dalam database target, Anda mungkin memerlukan beberapa atau semua izin di bawah ini, tergantung pada perbedaan antara skema di DACPAC dan skema database target.

UBAH KUNCI MASTER KOLOM APA PUN, UBAH KUNCI ENKRIPSI KOLOM APA PUN, LIHAT DEFINISI KUNCI MASTER KOLOM APA PUN, LIHAT DEFINISI KUNCI ENKRIPSI KOLOM APA PUN

Jika operasi peningkatan memicu operasi enkripsi data, Anda juga memerlukan izin penyimpanan kunci untuk mengakses dan menggunakan kunci master kolom Anda. Untuk informasi terperinci tentang izin penyimpanan kunci, buka Membuat dan menyimpan kunci master kolom untuk Always Encrypted dan temukan bagian yang relevan untuk penyimpanan kunci Anda.

Langkah berikutnya

Lihat Juga