Aracılığıyla paylaş


clr tümleştirme programlama modeli kısıtlamaları

Yönetilen saklı yordam ya da diğer yönetilen veritabanı nesnesi oluştururken, orada kod denetimleri tarafından gerçekleştirilen bazı SQL Serverdikkate alınması gerekir. SQL ServerVeritabanı, ilk kaydedildiğinde yönetilen kod derleme denetler kullanarak CREATE ASSEMBLYdeyimi ve de zamanında. Yönetilen kod derleme içinde olabilir çünkü aslında çalışma zamanında ulaşmış kod yolları, çalışma zamanında da kontrol edilir. Bu esneklik sağlar, bu derleme olmaz ki üçüncü derlemeler, özellikle kayıt yeri engellenen orada 'güvensiz' kod istemci ortamında çalışacak biçimde tasarlanmış ama asla barındırılan clr içinde yürütülecek. Yönetilen kod yerine getirmesi gereken gereksinimleri olup derleme olarak kayıtlı üzerinde bağlıdır SAFE, EXTERNAL_ACCESS, ya UNSAFE, SAFE sıkı olmak ve aşağıda listelenmiştir.

Yönetilen kod birleştirmeleri konuyor kısıtlamaları yanı sıra, ayrıca verilen kod güvenlik izinleri vardır. Ortak dil çalışma zamanı (clr), yönetilen kod için kod erişim güvenliği (cas) adı verilen bir güvenlik modelini destekler. Bu modelde, kod kimliğini alarak birleştirmeler izinler verilir. SAFE, EXTERNAL_ACCESS, ve UNSAFEderlemeler farklı CA'lar izniniz. Daha fazla bilgi için, bkz. clr tümleştirme kod erişimi güvenliği.

DERLEMESİ çekleri oluşturmak

Ne zaman CREATE ASSEMBLYdeyimi çalıştırmak, her bir güvenlik düzeyi için aşağıdaki denetimleri gerçekleştirilir. Eğer birisi başarısız olursa, kontrol CREATE ASSEMBLYbir hata iletisiyle başarısız olur.

Global (herhangi bir güvenlik düzeyi)

Tüm başvurulan derlemeler, bir veya daha aşağıdaki ölçütleri karşılamalıdır:

  • Derleme zaten veritabanında kayıtlı.

  • Derleme desteklenen derlemeler biridir. Daha fazla bilgi için, bkz. Desteklenen.net Framework kitaplıkları.

  • Kullandığınız CREATE ASSEMBLY FROM <location>,ve başvurulan derlemeler ve bağımlılıklarını kullanılabilir <location>.

  • Kullandığınız CREATE ASSEMBLY FROM <bytes …>,ve tüm başvurular belirtilen boşluk ile ayrılmış bayt.

EXTERNAL_ACCESS

Tüm EXTERNAL_ACCESSderlemeler şu ölçütleri karşılaması gerekir:

  • Statik alanlar bilgileri depolamak için kullanılır. Salt statik alanlar izin verilir.

  • PEVerify testi geçer. MSIL kodu ve ilişkili metadata uyan hangi kontrol tipi emniyet gereklerini, PEVerify aracı (peverify.exe) ile sağlanır.net Framework sdk.

  • Eşitleme, örneğin ile SynchronizationAttributesınıf, kullanılmaz.

  • Finalizer yöntemleri kullanılır.

Aşağıdaki özel öznitelikler içinde verilmeyen EXTERNAL_ACCESSderlemeler:

  • System.ContextStaticAttribute

  • System.STAThreadAttribute

  • System.Runtime.CompilerServices.MethodImplAttribute

  • System.Runtime.CompilerServices.CompilationRelaxationsAttribute

  • System.Runtime.Remoting.Contexts.ContextAttribute

  • System.Runtime.Remoting.Contexts.SynchronizationAttribute

  • System.Runtime.InteropServices.DllImportAttribute

  • System.Security.Permissions.CodeAccessSecurityAttribute

  • System.Security.SuppressUnmanagedCodeSecurityAttribute

  • System.Security.UnverifiableCodeAttribute

  • System.MTAThreadAttribute

  • System.ThreadStaticAttribute

KASA

  • Tüm EXTERNAL_ACCESSderleme koşullar denetlenir.

Çalışma Zamanı denetimleri

Çalışma zamanında kod derleme için aşağıdaki koşullar denetlenir. Bu koşullardan herhangi biri bulunursa, yönetilen kod çalıştırmasına izin verilmez ve bir özel durum.

GÜVENSİZ

Derleme yükleme — açıkça arayarak ya da System.Reflection.Assembly.Load()yöntemi bir bayt dizisi veya örtülü, Reflection.Emitad — verilmez.

EXTERNAL_ACCESS

Tüm UNSAFEkoşullar denetlenir.

Tüm türleri ve desteklenen derlemeler listesinde aşağıdaki ana bilgisayar koruma özniteliği (hpa) değerleri ile açıklamalı yöntemleri izin verilmez.

  • SelfAffectingProcessMgmt

  • SelfAffectingThreading

  • Eşitleme

  • SharedState

  • ExternalProcessMgmt

  • ExternalThreading

  • SecurityInfrastructure

  • MayLeakOnAbort

  • UI

HPAs ve izin verilmeyen türleri ve Üyeler'de desteklenen derlemeler listesi hakkında daha fazla bilgi için bkz: Ana bilgisayar koruması öznitelikleri ve clr tümleştirme programlama.

KASA

Tüm EXTERNAL_ACCESSkoşullar denetlenir.

Ayrıca bkz.

Kavramlar

Desteklenen.net Framework kitaplıkları

clr tümleştirme kod erişimi güvenliği

Ana bilgisayar koruması öznitelikleri ve clr tümleştirme programlama

Derleme oluşturma