Aracılığıyla paylaş


Sunucu yapılandırması: clr katı güvenlik

Şunlar için geçerlidir: SQL Server

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 securitySAFE 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ı gerekir

  • Aş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 olarak ONayarlanmıştır ve veritabanı, sunucuda izni olan bir oturum açma bilgilerine UNSAFE 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