Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
SQL Server'da SAFE
, EXTERNAL_ACCESS
veya UNSAFE
izninin yorumlanmasını kontrol eder. Bu izinler hakkında daha fazla bilgi için bkz. Derlemeleri tasarlama.
Değer | Açıklama |
---|---|
0 |
Sakat. Geriye dönük uyumluluk için sağlanır. Bu değerin olarak 0 ayarlanması önerilmez. |
1 |
Etkin. Veritabanı Motorunun derlemeler PERMISSION_SET üzerindeki bilgileri yoksayıp, bunları her zaman UNSAFE 'yi olarak yorumlamasına neden olur. SQL Server 2017 (14.x) ve sonraki sürümlerinde varsayılan 1 değerdir. |
Kod erişim güvenliği artık desteklenmiyor
CLR, artık güvenlik sınırı olarak desteklenmeyen .NET Framework'te Kod Erişim Güvenliği'ni (CAS) kullanır.
PERMISSION_SET = SAFE
ile oluşturulan bir CLR derlemesi dış sistem kaynaklarına erişebilir, yönetilmeyen kodu çağırabilir ve sysadmin ayrıcalıkları alabilir. SQL Server 2017 (14.x) ve sonraki sürümlerinde, clr strict security
SAFE
ve EXTERNAL_ACCESS
derlemelerini UNSAFE
olarak işaretlenmiş gibi kabul eder.
Tüm derlemeleri, UNSAFE ASSEMBLY
veritabanında master
izni verilmiş ilgili oturum ile bir sertifika veya asimetrik anahtarla imzalamanızı öneririz. SQL Server yöneticileri, Veritabanı Motoru'nun güvenmesi gereken bir derleme listesine de derleme ekleyebilir. Daha fazla bilgi için bkz. sys.sp_add_trusted_assembly.
Açıklamalar
Etkinleştirildiğinde, PERMISSION_SET
ve CREATE ASSEMBLY
deyimlerindeki seçenekler çalışma zamanında yoksayılır, ancak ALTER ASSEMBLY
seçenekleri PERMISSION_SET
metaverilerde korunur. Bu seçeneğin yoksayılması, mevcut kod deyimlerinin bozulmasını en aza indirir.
CLR strict security
bir advanced option
.
Katı güvenlik önlemlerini etkinleştirdikten sonra, imzalanmamış herhangi bir derleme yüklenemez. Her bir derlemeyi ya değiştirmeli ya da bırakıp yeniden oluşturmalısınız, böylece sunucuda UNSAFE ASSEMBLY
iznine sahip olan bir oturum açma bilgisi ile ilişkili bir sertifika veya asimetrik anahtarla imzalanmış olur.
İzinler
Bu seçeneği değiştir
CONTROL SERVER
sysadmin sabit sunucu rolünde izin veya üyelik gerektirir.
CLR derlemesi oluşturma
Etkinleştirildiğinde CLR strict security
bir CLR derlemesi oluşturmak için aşağıdaki izinler gereklidir:
Kullanıcının
CREATE ASSEMBLY
iznine sahip olması gerekirAşağıdaki koşullardan biri de doğru olmalıdır:
Derleme, sunucuda
UNSAFE ASSEMBLY
iznine sahip olan ilgili bir oturum açma bilgileriyle ilişkili sertifika veya asimetrik anahtarla imzalanır. Derlemeyi imzalamanız önerilir.Veritabanında
TRUSTWORTHY
özelliği olarakON
ayarlanmıştır ve veritabanı, sunucuda izni olan bir oturum açma bilgilerineUNSAFE ASSEMBLY
aittir. Bu seçenek önerilmez.
Örnekler
Aşağıdaki örnek önce seçeneğin geçerli ayarını clr strict security
görüntüler ve ardından seçenek değerini 1
(etkin) olarak ayarlar.
EXEC sp_configure 'clr strict security';
GO
EXEC sp_configure 'clr strict security' , '1';
RECONFIGURE;
GO