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 SAFEizin , , EXTERNAL_ACCESSatau UNSAFE di SQL Server. Untuk informasi selengkapnya tentang izin ini, lihat Mendesain rakitan.
| Nilai | Deskripsi |
|---|---|
0 |
Dinonaktifkan. Disediakan untuk kompatibilitas mundur. Mengatur nilai ini ke 0 tidak disarankan, karena dapat membuat kerentanan keamanan. |
1 |
Diaktifkan. Menyebabkan Mesin Database mengabaikan PERMISSION_SET informasi pada rakitan, dan selalu menafsirkannya sebagai UNSAFE. Di SQL Server 2017 (14.x) dan versi yang lebih baru, 1 adalah nilai default. |
Keamanan akses kode tidak lagi didukung
Runtime bahasa umum menggunakan Keamanan Akses Kode (CAS) dalam .NET Framework, yang tidak lagi didukung sebagai batas 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 perlakukan SAFE dan EXTERNAL_ACCESS rakitan seolah-olah ditandai UNSAFE.
Kami menyarankan agar Anda menandatangani semua rakitan dengan sertifikat atau kunci asimetris, dengan login terkait yang telah diberikan UNSAFE ASSEMBLY izin dalam master database. 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, PERMISSION_SET opsi dalam CREATE ASSEMBLY pernyataan dan ALTER ASSEMBLY diabaikan pada run-time, tetapi PERMISSION_SET opsi dipertahankan dalam metadata. Mengabaikan opsi ini meminimalkan melanggar pernyataan kode yang ada.
CLR strict security
advanced optionadalah .
Setelah Anda mengaktifkan keamanan ketat, rakitan apa pun yang tidak ditandatangani gagal dimuat. Anda harus mengubah atau menghilangkan dan membuat ulang setiap rakitan sehingga ditandatangani dengan sertifikat atau kunci asimetris yang memiliki login yang sesuai dengan UNSAFE ASSEMBLY izin di server.
Izin
Ubah opsi ini
CONTROL SERVER Memerlukan izin, 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:
Rakitan ditandatangani dengan sertifikat atau kunci asimetris yang memiliki login yang sesuai dengan
UNSAFE ASSEMBLYizin di server. Penandatanganan rakitan disarankan.Database memiliki properti yang
TRUSTWORTHYdiatur keON, dan database dimiliki oleh login yang memilikiUNSAFE ASSEMBLYizin di 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