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
Mengontrol interpretasi izin SAFE, EXTERNAL_ACCESS, atau UNSAFE di SQL Server. Untuk informasi selengkapnya tentang izin ini, lihat Mendesain rakitan.
| Nilai | Deskripsi |
|---|---|
0 |
Dinonaktifkan. Disediakan untuk kompatibilitas ke belakang. Mengatur nilai ini ke 0 tidak disarankan, karena dapat membuat kerentanan keamanan. |
1 |
Diaktifkan. Menyebabkan Mesin Basis Data mengabaikan informasi PERMISSION_SET pada assembly, dan selalu menginterpretasikannya sebagai UNSAFE. Di SQL Server 2017 (14.x) dan versi yang lebih baru, 1 adalah nilai default. |
Keamanan akses kode tidak lagi didukung
CLR menggunakan Keamanan Akses Kode (CAS) pada .NET Framework, yang tidak lagi didukung sebagai batasan keamanan. Rakitan CLR yang dibuat dengan PERMISSION_SET = SAFE mungkin dapat mengakses sumber daya sistem eksternal, memanggil kode yang tidak dikelola, dan memperoleh hak istimewa sysadmin. Di SQL Server 2017 (14.x) dan versi yang lebih baru, clr strict security memperlakukan rakitan SAFE dan EXTERNAL_ACCESS seolah-olah ditandai UNSAFE.
Kami menyarankan agar Anda menandatangani semua assembly dengan sertifikat atau kunci asimetris, dengan login terkait yang telah diberi izin UNSAFE ASSEMBLY pada database master. Administrator SQL Server juga dapat menambahkan rakitan ke daftar rakitan, yang harus dipercaya oleh Mesin Database. Untuk informasi selengkapnya, lihat sys.sp_add_trusted_assembly.
Keterangan
Saat diaktifkan, opsi PERMISSION_SET dalam pernyataan CREATE ASSEMBLY dan ALTER ASSEMBLY diabaikan saat runtime, tetapi opsi PERMISSION_SET tetap dipertahankan dalam metadata. Mengabaikan opsi ini meminimalkan risiko merusak pernyataan kode yang ada.
CLR strict security adalah advanced option.
Setelah Anda mengaktifkan keamanan ketat, rakitan apa pun yang tidak ditandatangani gagal dimuat. Anda harus mengubah atau menghapus lalu membuat ulang setiap assembly agar ditandatangani dengan sertifikat atau kunci asimetris yang memiliki login terkait dengan izin UNSAFE ASSEMBLY pada server.
Izin
Ubah opsi ini
Memerlukan izin CONTROL SERVER, atau keanggotaan dalam peran server tetap sysadmin.
Membuat rakitan CLR
Izin berikut diperlukan untuk membuat rakitan CLR saat CLR strict security diaktifkan:
Pengguna harus memiliki
CREATE ASSEMBLYizinSalah satu kondisi berikut juga harus benar:
Assembly ditandatangani dengan sertifikat atau kunci asimetris yang memiliki login terkait dengan izin
UNSAFE ASSEMBLYpada server. Disarankan untuk menandatangani assembly.Basis data memiliki properti
TRUSTWORTHYyang diatur keON, dan basis data dimiliki oleh login yang memiliki izinUNSAFE ASSEMBLYpada server. Opsi ini tidak disarankan.
Contoh
Contoh berikut pertama-tama menampilkan pengaturan clr strict security opsi saat ini, lalu mengatur nilai opsi ke 1 (diaktifkan).
EXECUTE sp_configure 'clr strict security';
GO
EXECUTE sp_configure 'clr strict security', '1';
RECONFIGURE;
GO