Kembangkan aplikasi menggunakan Always Encrypted dengan enklave yang aman
Berlaku untuk: SQL Server 2019 (15.x) dan yang lebih baru - Hanya Windows Azure SQL Database
Always Encrypted dengan enklave aman memperluas Always Encrypted untuk mengaktifkan fungsionalitas kueri aplikasi yang lebih kaya pada kolom database sensitif terenkripsi. Ini memanfaatkan teknologi enklave yang aman untuk memungkinkan pelaksana kueri di Mesin Database mendelegasikan komputasi pada kolom terenkripsi ke enklave aman di dalam proses Mesin Database.
Prasyarat
Lingkungan Anda perlu memenuhi persyaratan berikut untuk mendukung Always Encrypted dengan enklave aman.
- Instans SQL Server atau server database Anda di Azure SQL Database harus dikonfigurasi dengan benar untuk mendukung enklave dan pengesahan, jika berlaku/diperlukan. Untuk informasi selengkapnya, lihat Menyiapkan enklave dan pengesahan aman.
- Pastikan aplikasi Anda:
Menggunakan versi driver klien mendukung Always Encrypted dengan enklave aman.
Mengaktifkan Always Encrypted saat menyambungkan ke database Anda.
Mengatur protokol pengesahan, yang menentukan apakah driver klien harus membuktikan enklave sebelum mengirimkan kueri enklave, dan jika demikian, layanan pengesahan mana yang harus digunakannya. Versi driver terbaru mendukung protokol pengesahan berikut:
- Microsoft Azure Attestation - memberlakukan pengesahan menggunakan Microsoft Azure Attestation.
- Host Guardian Service - memberlakukan pengesahan menggunakan Host Guardian Service.
- Tidak ada - memungkinkan penggunaan enklave tanpa pengesahan.
Tabel di bawah ini menentukan protokol pengesahan yang valid untuk produk SQL dan teknologi enklave tertentu:
Produk Teknologi Enklave Protokol pengesahan yang didukung SQL Server 2019 (15.x) dan yang lebih baru Enklave VBS Layanan Wali Host, Tidak Ada Database Azure SQL Enklave SGX (dalam database seri DC) Microsoft Azure Attestation Database Azure SQL Enklave VBS Tidak Mengatur URL pengesahan yang valid untuk lingkungan Anda, jika Anda menggunakan pengesahan.
- Jika Anda menggunakan SQL Server dan Host Guardian Service (HGS), lihat Menentukan dan membagikan URL pengesahan HGS.
- Jika Anda menggunakan Azure SQL Database dengan enklave Intel SGX dan Microsoft Azure Attestation, lihat Menentukan URL pengesahan untuk kebijakan pengesahan Anda.
Driver klien untuk Always Encrypted dengan enklave aman
Untuk mengembangkan aplikasi menggunakan Always Encrypted dengan enklave aman, Anda memerlukan versi driver klien SQL yang mendukung enklave aman. Driver klien memainkan peran kunci berikut:
- Sebelum mengirimkan kueri yang menggunakan enklave aman ke SQL Server atau Azure SQL Database untuk eksekusi, driver memulai pengesahan enklave (jika dikonfigurasi) untuk memverifikasi enklave aman dapat dipercaya dan dapat digunakan dengan aman untuk memproses data sensitif. Untuk informasi selengkapnya tentang pengesahan, lihat Pengesahan Enklave Aman.
- Driver klien membuat sesi aman dengan enklave dengan menegosiasikan rahasia bersama.
- Driver menggunakan rahasia bersama untuk mengenkripsi kunci enkripsi kolom yang diperlukan enklave untuk memproses kueri, dan mengirim kunci ke SQL Server, yang meneruskannya ke enklave aman yang mendekripsi kunci.
- Terakhir, driver mengirimkan kueri untuk eksekusi, yang memicu komputasi di dalam enklave aman.
Driver klien berikut mendukung Always Encrypted dengan enklave aman:
Penyedia Data Microsoft .NET untuk SQL Server di .NET Framework 4.6 atau yang lebih tinggi dan .NET Core 2.1 atau yang lebih tinggi. Jika Anda ingin menggunakan enklave VBS tanpa pengesahan, diperlukan versi 4.1 atau yang lebih baru, yang kompatibel dengan .NET Framework 4.6.1 atau yang lebih tinggi dan .NET Core 3.1.
- Untuk informasi selengkapnya, lihat Menggunakan Always Encrypted dengan Penyedia Data Microsoft .NET untuk SQL Server.
- Untuk tutorial langkah demi langkah, lihat Tutorial: Mengembangkan aplikasi .NET menggunakan Always Encrypted dengan enklave aman.
- Selain itu, lihat Contoh yang menunjukkan penggunaan penyedia Azure Key Vault dan Always Encrypted dengan enklave aman.
Microsoft ODBC Driver untuk SQL Server, versi 17.4 atau yang lebih tinggi. Jika Anda ingin menggunakan enklave VBS tanpa pengesahan, diperlukan versi 18.1 atau yang lebih tinggi.
- Untuk informasi selengkapnya, lihat Menggunakan Always Encrypted dengan Driver ODBC.
- Untuk informasi tentang cara mengaktifkan komputasi enklave untuk koneksi database menggunakan ODBC, lihat bagian Mengaktifkan Always Encrypted dengan Enklave Aman.
Microsoft JDBC Driver untuk SQL Server, versi 8.2 atau yang lebih tinggi. Jika Anda ingin menggunakan enklave VBS tanpa pengesahan, diperlukan versi 12.2 atau yang lebih tinggi.
- Untuk informasi selengkapnya, lihat Menggunakan Always Encrypted dengan enklave aman dengan driver JDBC
Penyedia Data .NET Framework untuk SQL Server di .NET Framework 4.7.2 atau yang lebih tinggi.
- Untuk informasi selengkapnya, lihat Menggunakan Always Encrypted dengan Penyedia Data .NET Framework untuk SQL Server.
- Untuk tutorial langkah demi langkah, lihat Tutorial: Mengembangkan aplikasi .NET Framework menggunakan Always Encrypted dengan enklave aman
Catatan
Menggunakan Penyedia Data .NET Framework untuk SQL Server (System.Data.SqlClient) tidak disarankan untuk pengembangan baru. Untuk informasi selengkapnya, lihat System.Data.SqlClient.