Microsoft telah meningkatkan fitur keamanan Selalu Terenkripsi dengan mengaktifkan kunci yang mengamankan data untuk disimpan di Azure Key Vault.
Driver SQL Server ODBC telah mendukung kolom Always Encrypted sejak Microsoft pertama kali memperkenalkan fitur di SQL Server 2016. Dimulai dengan build 1.10.4 driver, kami telah menambahkan pengaturan string koneksi yang diperlukan untuk mendukung skenario Always Encrypted data / Azure Key Vault .
Proses untuk bekerja dengan kolom Azure secure Always Encrypted dari Linux dan UNIX adalah:
- Buat Azure Key Vault di Windows Azure.
- Buat pendaftaran Aplikasi baru.
Selama proses ini, Anda akan membuat ID dan rahasia klien Aplikasi. Anda akan memerlukan nilai-nilai ini nanti dalam tutorial ini saat Anda mengonfigurasi sumber data driver SQL Server ODBC Anda.
- Di SQL Server Management Studio, buat tabel pengujian dalam contoh SQL Server 2016 (atau lebih baru):
CREATE TABLE dbo.EncryptedTable ( ID INT IDENTITY(1,1) PRIMARY KEY, LastName NVARCHAR(32), Salary INT NOT NULL );
- Klik kanan tabel. Dari menu pop-up, pilih Enkripsi Kolom .
Wizard Selalu Terenkripsi dimulai.
- Pada Pilihan Kolom halaman, perluas tabel, dan pilih kolom yang ingin Anda enkripsi.
- Pilih jenis enkripsi untuk setiap kolom.
Deterministik - selalu mengenkripsi ke teks sandi yang sama, memungkinkan pencarian kesetaraan, penggabungan, dan pengelompokan dengan dilakukan.
Diacak menghasilkan nilai teks sandi yang berbeda untuk teks biasa yang sama, yang lebih aman, tetapi tidak mendukung operasi apa pun.
- Pilih
CEK_Auto1 (New)
sebagai kunci enkripsi untuk setiap kolom, yang merupakan kunci baru yang dibuat secara otomatis. Pilih Berikutnya . - Pilih Azure Key Vault , lalu masuk ke akun Azure Anda saat diminta.
- Pilih Azure Key Vault Anda dari daftar. Pilih Berikutnya .
- Pilih Berikutnya .
- Pilih Selesai .
- Pilih Tutup .
- Di mesin Linux atau UNIX Anda, instal versi 1.10.4+ driver SQL Server ODBC.
- Konfigurasikan sumber data ODBC di
/etc/odbc.ini
yang terhubung ke instance SQL Server Anda:[SQLSERVER_2016] Driver=Easysoft ODBC-SQL Server SSL Server=machine\sqlserver_instance Database=database_with_always_encrypted_data User=user # This can be a Windows or SQL Server login. Password=password Trusted_Connection=Yes # Set this to No for a SQL Server login ColumnEncryption=Enabled KeyStoreAuthentication=KeyVaultClientSecret KeyStorePrincipalId=ac9e3f9b-ed5e-4f11-9746-f1d25cc5867c # Your application client ID KeyStoreSecret=wQOFhXY/1yIEUK75j8m/o4IUU7tf3AnVRc3ybO6b3VA # and application secret generated when registering # an App in your Azure portal.
- Uji apakah Anda dapat menampilkan data yang tidak terenkripsi:
/usr/local/easysoft/unixODBC/bin/isql.sh -v SQLSERVER_2016 SQL> select * from EncryptedTable
- Jika Anda ingin memasukkan data ke dalam kolom Selalu Terenkripsi, Anda perlu menggunakan INSERT berparameter, dan blog Selalu Terenkripsi kami yang lain menyediakan beberapa contoh yang menunjukkan cara melakukannya.