Keamanan ketat CLR
Berlaku untuk:SQL Server
Mengontrol interpretasi SAFE
izin , EXTERNAL ACCESS
, UNSAFE
di SQL Server.
Nilai | Deskripsi |
---|---|
0 | Dinonaktifkan - Disediakan untuk kompatibilitas mundur. Disabled nilai tidak disarankan. |
1 | Diaktifkan - Menyebabkan Mesin Database mengabaikan PERMISSION_SET informasi pada rakitan, dan selalu menafsirkannya sebagai UNSAFE . Enabled adalah nilai default, dimulai dengan SQL Server 2017 (14.x). |
Peringatan
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. Dimulai dengan SQL Server 2017 (14.x), opsi yang sp_configure
disebut clr strict security
diperkenalkan untuk meningkatkan keamanan rakitan CLR. clr strict security
diaktifkan secara default, dan memperlakukan SAFE
dan EXTERNAL_ACCESS
rakitan seolah-olah ditandai UNSAFE
. Opsi clr strict security
ini dapat dinonaktifkan untuk kompatibilitas mundur, tetapi ini tidak disarankan. Microsoft merekomendasikan agar semua rakitan ditandatangani oleh sertifikat atau kunci asimetris dengan login terkait yang telah diberikan UNSAFE ASSEMBLY
izin dalam database master. SQL Server administrator 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, meminimalkan melanggar pernyataan kode yang ada.
CLR strict security
advanced option
adalah .
Penting
Setelah mengaktifkan keamanan ketat, setiap rakitan yang tidak ditandatangani akan 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
Untuk mengubah opsi ini
CONTROL SERVER
Memerlukan izin, atau keanggotaan dalam sysadmin
peran server tetap.
Untuk membuat rakitan CLR
Izin berikut diperlukan untuk membuat rakitan CLR saat CLR strict security
diaktifkan:
- Pengguna harus memiliki
CREATE ASSEMBLY
izin - Dan salah satu kondisi berikut juga harus benar:
- Rakitan ditandatangani dengan sertifikat atau kunci asimetris yang memiliki login yang sesuai dengan
UNSAFE ASSEMBLY
izin di server. Menandatangani assembly disarankan. - Database memiliki properti yang
TRUSTWORTHY
diatur keON
, dan database dimiliki oleh login yang memilikiUNSAFE ASSEMBLY
izin di server. Opsi ini tidak disarankan.
- Rakitan ditandatangani dengan sertifikat atau kunci asimetris yang memiliki login yang sesuai dengan
Lihat juga
Opsi Konfigurasi Server (SQL Server)
sp_configure (Transact-SQL)
Opsi Konfigurasi Server yang diaktifkan clr
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk