Aracılığıyla paylaş


Konak koruma öznitelikleri ve CLR tümleştirme programlaması

Şunlar için geçerlidir: SQL Server

Ortak dil çalışma zamanı (CLR), .NET Framework'ün parçası olan yönetilen uygulama programlama arabirimlerine (API) açıklama eklemeye yönelik bir mekanizma sağlar. Bu öznitelikler SQL Server gibi bir CLR konağı için ilgi çekici olabilir. Bu tür konak koruma özniteliklerine (HPA) örnek olarak şunlar verilebilir:

  • SharedState, API'nin paylaşılan durum oluşturma veya yönetme özelliğini (örneğin, statik sınıf alanları) kullanıma sununup sunmadığını gösterir.

  • Synchronization, API'nin iş parçacıkları arasında eşitleme gerçekleştirme özelliğini kullanıma sununup göstermediğini gösterir.

  • ExternalProcessMgmt, API'nin konak işlemini denetlemenin bir yolunu kullanıma sununup sunmadığını gösterir.

Bu öznitelikler göz önünde bulundurulduğunda, SQL Server kod erişim güvenliği (CAS) aracılığıyla barındırılan ortamda izin verilmeyen HPA'ların listesini belirtir. CAS gereksinimleri üç SQL Server izin kümesinden biri tarafından belirtilir: SAFE, EXTERNAL_ACCESSveya UNSAFE. Derleme sunucuda kaydedildiğinde, CREATE ASSEMBLY deyimi kullanılarak bu üç güvenlik düzeyinden biri belirtilir. SAFE veya EXTERNAL_ACCESS izin kümeleri içinde yürütülen kod, System.Security.Permissions.HostProtectionAttribute özniteliği uygulanmış olan belirli türlerden veya üyelerden kaçınmalıdır. Daha fazla bilgi için bkz. Derleme oluşturma veCLR tümleştirme programlama modeli kısıtlamaları .

HostProtectionAttribute, konağın izin verebileceği tür veya yöntemler gibi belirli kod yapılarını tanımlaması nedeniyle güvenilirliği artırmanın bir yolu olduğu kadar bir güvenlik izni de değildir. HostProtectionAttribute kullanımı, konağın kararlılığını korumaya yardımcı olan bir programlama modeli uygular.

Konak koruma öznitelikleri

HPA'lar konak programlama modeline uymayan türleri veya üyeleri tanımlar ve aşağıdaki artan güvenilirlik tehdidi düzeylerini temsil eder:

  • Aksi takdirde zararsızdır.
  • Sunucu tarafından yönetilen kullanıcı kodunun istikrarının bozulmasına neden olabilir.
  • Sunucu işleminin kendisinde istikrarsızlığa yol açabilir.

SQL Server, HostProtectionAttribute, System.Security.Permissions.HostProtectionResource, ExternalProcessMgmt, ExternalThreading, MayLeakOnAbort, SecurityInfrastructure, SelfAffectingProcessMgmt, SelfAffectingThreadingveya SharedStatedeğerine sahip bir Synchronization numaralandırması belirten UI olan bir türün veya üyenin kullanılmasına izin vermemektedir. Bu, derlemelerin paylaşım durumunu etkinleştiren, eşitleme gerçekleştiren, sonlandırma sırasında kaynak sızıntısına neden olabilen veya SQL Server işleminin bütünlüğünü etkileyen üyeleri çağırmasını önler.

İzin verilmeyen türler ve üyeler

Aşağıdaki makaleler, HostProtectionResource değerleri SQL Server'ın izin vermediği türleri ve üyeleri tanımlar.

Bu makalelerdeki listeler desteklenen derlemelerden oluşturulmuştur. Daha fazla bilgi için bkz. Desteklenen .NET Framework kitaplıkları.

Bu bölümde

Makale Açıklama
Microsoft.VisualBasic.dll'da İzin Verilmeyen türleri ve üyeleri Microsoft.VisualBasic.dll hpa değerlerine izin verilmeyen türleri ve üyeleri listeler.
mscorlib.dll'da İzin Verilmeyen türleri ve üyeleri mscorlib.dll hpa değerlerine izin verilmeyen türleri ve üyeleri listeler.
System.dll'da İzin Verilmeyen türleri ve üyeleri System.dll hpa değerlerine izin verilmeyen türleri ve üyeleri listeler.
System.Data.dll'da İzin Verilmeyen türleri ve üyeleri System.Data.dll hpa değerlerine izin verilmeyen türleri ve üyeleri listeler.
System.Core.dll'da İzin Verilmeyen türleri ve üyeleri System.Core.dll hpa değerlerine izin verilmeyen türleri ve üyeleri listeler.
  • clr tümleştirme kod erişim güvenlik
  • clr tümleştirme programlama modeli kısıtlamaları
  • Derleme oluşturma