Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
SQL Server menyediakan kemampuan enkripsi data bersama dengan Extensible Key Management (EKM), menggunakan penyedia Microsoft Cryptographic API (MSCAPI) untuk enkripsi dan pembuatan kunci. Kunci enkripsi untuk data dan enkripsi kunci dibuat dalam kontainer kunci sementara, dan harus diekspor dari penyedia sebelum disimpan dalam database. Pendekatan ini memungkinkan manajemen kunci yang mencakup hierarki kunci enkripsi dan cadangan kunci, untuk ditangani oleh SQL Server.
Dengan meningkatnya permintaan untuk kepatuhan peraturan dan kekhawatiran terhadap privasi data, organisasi memanfaatkan enkripsi sebagai cara untuk memberikan solusi "pertahanan mendalam". Pendekatan ini sering kali tidak praktis hanya menggunakan alat manajemen enkripsi database. Vendor perangkat keras menyediakan produk yang menangani manajemen kunci perusahaan dengan menggunakan Modul Keamanan Perangkat Keras (HSM). Perangkat HSM menyimpan kunci enkripsi pada modul perangkat keras atau perangkat lunak. Ini adalah solusi yang lebih aman karena kunci enkripsi tidak berada dengan data enkripsi.
Sejumlah vendor menawarkan HSM untuk manajemen kunci dan akselerasi enkripsi. Perangkat HSM menggunakan antarmuka perangkat keras dengan proses server sebagai perantara antara aplikasi dan HSM. Vendor juga menerapkan penyedia MSCAPI melalui modul mereka, yang mungkin berupa perangkat keras atau perangkat lunak. MSCAPI sering hanya menawarkan subset fungsionalitas yang ditawarkan oleh HSM. Vendor juga dapat menyediakan perangkat lunak manajemen untuk HSM, konfigurasi kunci, dan akses kunci.
Implementasi HSM bervariasi dari vendor ke vendor, dan untuk menggunakannya dengan SQL Server memerlukan antarmuka umum. Meskipun MSCAPI menyediakan antarmuka ini, MSCAPI hanya mendukung subset fitur HSM. Hal ini juga memiliki keterbatasan lain, seperti ketidakmampuan untuk menyimpan kunci simetris secara native, serta kurangnya dukungan yang berorientasi pada sesi.
Manajemen Kunci yang Dapat Diperluas SQL Server memungkinkan vendor EKM/HSM pihak ketiga untuk mendaftarkan modul mereka di SQL Server. Ketika terdaftar, pengguna SQL Server dapat menggunakan kunci enkripsi yang disimpan pada modul EKM. Ini memungkinkan SQL Server untuk mengakses fitur enkripsi lanjutan yang didukung modul ini seperti enkripsi dan dekripsi massal, dan fungsi manajemen kunci seperti penuaan kunci dan rotasi kunci.
Saat menjalankan SQL Server di Komputer Virtual Azure, SQL Server dapat menggunakan kunci yang disimpan di Azure Key Vault. Untuk informasi selengkapnya, lihat Extensible Key Management Menggunakan Azure Key Vault (SQL Server).
Konfigurasi EKM
Extensible Key Management tidak tersedia di setiap edisi SQL Server. Untuk daftar fitur yang didukung oleh edisi di SQL Server, lihat Edisi dan fitur yang didukung dari SQL Server 2025.
Secara default, Extensible Key Management nonaktif. Untuk mengaktifkan fitur ini, gunakan perintah sp_configure yang memiliki opsi dan nilai berikut, seperti dalam contoh berikut:
sp_configure 'show advanced', 1
GO
RECONFIGURE
GO
sp_configure 'EKM provider enabled', 1
GO
RECONFIGURE
GO
Catatan
Jika Anda menggunakan perintah sp_configure untuk opsi ini pada edisi SQL Server yang tidak mendukung EKM, Anda akan menerima kesalahan.
Untuk menonaktifkan fitur, atur nilai ke 0. Untuk informasi selengkapnya tentang cara mengatur opsi server, lihat sp_configure (Transact-SQL).
Cara Menggunakan EKM
SQL Server Extensible Key Management mengaktifkan kunci enkripsi yang melindungi file database untuk disimpan dalam perangkat off-box seperti modul smartcard, USB device, atau EKM/HSM. Ini juga mengaktifkan perlindungan data dari administrator database (kecuali anggota grup sysadmin). Data dapat dienkripsi dengan menggunakan kunci enkripsi yang hanya dapat diakses oleh pengguna database pada modul EKM/HSM eksternal.
Extensible Key Management juga memberikan manfaat berikut:
Pemeriksaan otorisasi tambahan (untuk mendukung pemisahan tugas).
Performa yang lebih tinggi untuk enkripsi/dekripsi berbasis perangkat keras.
Pembuatan kunci enkripsi eksternal.
Penyimpanan kunci enkripsi eksternal (pemisahan fisik data dan kunci).
Pengambilan kunci enkripsi.
Retensi kunci enkripsi eksternal (memungkinkan rotasi kunci enkripsi).
Pemulihan kunci enkripsi yang lebih mudah.
Distribusi kunci enkripsi yang dapat dikelola.
Pembuangan kunci enkripsi aman.
Anda dapat menggunakan Extensible Key Management untuk kombinasi nama pengguna dan kata sandi atau metode lain yang ditentukan oleh driver EKM.
Perhatian
Untuk pemecahan masalah, dukungan teknis Microsoft mungkin memerlukan kunci enkripsi dari penyedia EKM. Anda mungkin juga perlu mengakses alat atau proses vendor untuk membantu menyelesaikan masalah.
Autentikasi dengan Perangkat EKM
Modul EKM dapat mendukung lebih dari satu jenis autentikasi. Setiap penyedia hanya mengekspos satu jenis autentikasi ke SQL Server, yaitu jika modul mendukung jenis autentikasi Dasar atau Lainnya, modul tersebut mengekspos satu atau yang lain, tetapi tidak keduanya.
Autentikasi Dasar Khusus Perangkat EKM Menggunakan nama pengguna/kata sandi
Untuk modul EKM yang mendukung Autentikasi dasar menggunakan pasangan nama pengguna/kata sandi , SQL Server menyediakan autentikasi transparan menggunakan kredensial. Untuk informasi selengkapnya tentang kredensial, lihat Kredensial (Mesin Database).
Kredensial dapat dibuat untuk penyedia EKM dan dikaitkan dengan login (baik akun Windows maupun SQL Server) untuk mengakses modul EKM untuk setiap login. Bidang identitas kredensial berisi nama pengguna; bidang rahasia berisi kata sandi untuk menyambungkan ke modul EKM.
Jika tidak ada kredensial login yang dipetakan untuk penyedia EKM, kredensial yang dipetakan ke akun layanan SQL Server akan digunakan.
Satu login dapat memiliki beberapa kredensial yang dikaitkan dengannya, asalkan masing-masing digunakan untuk penyedia EKM yang berbeda. Hanya boleh ada satu kredensial yang dipetakan per penyedia EKM per login. Kredensial yang sama dapat dipetakan ke login lain.
Jenis Autentikasi Khusus Perangkat EKM Lainnya
Untuk modul EKM yang memiliki autentikasi selain kombinasi Windows atau pengguna/kata sandi , autentikasi harus dilakukan secara independen dari SQL Server.
Enkripsi dan Dekripsi oleh Perangkat EKM
Anda dapat menggunakan fungsi dan fitur berikut untuk mengenkripsi dan mendekripsi data dengan menggunakan kunci simetris dan asimetris:
| Fungsi atau fitur | Referensi |
|---|---|
| Enkripsi kunci simetris | CREATE SYMMETRIC KEY (Transact-SQL) |
| Enkripsi Kunci Asimetris | CREATE ASYMMETRIC KEY (Transact-SQL) |
| EncryptByKey(key_guid, 'teks jelas', ...) | ENCRYPTBYKEY (Transact-SQL) |
| DecryptByKey(ciphertext, ...) | DECRYPTBYKEY (Transact-SQL) |
| EncryptByAsmKey(key_guid, 'cleartext') | ENCRYPTBYASYMKEY (Transact-SQL) |
| DecryptByAsmKey(ciphertext) | DECRYPTBYASYMKEY (Transact-SQL) |
Enkripsi Kunci Database oleh Kunci EKM
SQL Server dapat menggunakan kunci EKM untuk mengenkripsi kunci lain dalam database. Anda dapat membuat dan menggunakan kunci simetris dan asimetris pada perangkat EKM. Anda dapat mengenkripsi kunci simetris native (non-EKM) dengan kunci asimetris EKM.
Contoh berikut membuat kunci simetris database dan mengenkripsi kunci tersebut menggunakan kunci pada modul EKM.
CREATE SYMMETRIC KEY Key1
WITH ALGORITHM = AES_256
ENCRYPTION BY EKM_AKey1;
GO
--Open database key
OPEN SYMMETRIC KEY Key1
DECRYPTION BY EKM_AKey1
Untuk informasi selengkapnya tentang Database dan Kunci Server di SQL Server, lihat SQL Server dan Kunci Enkripsi Database (Mesin Database).
Catatan
Anda tidak dapat mengenkripsi satu kunci EKM dengan kunci EKM lain.
SQL Server tidak mendukung modul penandatanganan dengan kunci asimetris yang dihasilkan dari penyedia EKM.
Tugas Terkait
Opsi Konfigurasi Server yang Diaktifkan oleh Penyedia EKM
Mengaktifkan TDE di SQL Server Menggunakan EKM
Manajemen Kunci yang Dapat Diperluas Menggunakan Azure Key Vault (SQL Server)
Konten terkait
- CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)
- DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
- ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)
- sys.cryptographic_providers (T-SQL)
- sys.dm_cryptographic_provider_sessions (T-SQL)
- sys.dm_cryptographic_provider_properties (T-SQL)
- sys.dm_cryptographic_provider_algorithms (T-SQL)
- sys.dm_cryptographic_provider_keys (T-SQL)
- sys.credentials (Transact-SQL)
- CREATE CREDENTIAL (Transact-SQL)
- ALTER LOGIN (Transact-SQL)
- CREATE ASYMMETRIC KEY (Transact-SQL)
- ALTER ASYMMETRIC KEY (Transact-SQL)
- DROP ASYMMETRIC KEY (Transact-SQL)
- CREATE SYMMETRIC KEY (Transact-SQL)
- ALTER SYMMETRIC KEY (Transact-SQL)
- DROP SYMMETRIC KEY (Transact-SQL)
- OPEN SYMMETRIC KEY (Transact-SQL)
- Mencadangkan dan memulihkan kunci enkripsi SQL Server Reporting Services (SSRS)
- Hapus dan Buat Ulang Kunci Enkripsi (Report Server Configuration Manager)
- Tambah dan hapus kunci enkripsi untuk penyebaran berskala
- Cadangkan kunci master layanan
- Pulihkan kunci master layanan
- Membuat kunci master database
- Membuat cadangan kunci master database
- Memulihkan kunci master database
- Buat kunci simetris identik pada dua server