Aracılığıyla paylaş


Kimliğe bürünme ve clr tümleştirme güvenlik

Yönetilen kod dış kaynaklara eriştiğinde, SQL Server otomatik olarak yordamı yürütme hangi koşullarda geçerli yürütme içeriği taklit değil.Kod içinde EXTERNAL_ACCESS ve UNSAFE derlemeler açıkça taklit geçerli yürütme içerik.

Not

Kimliğe bürünme davranış değişiklikleri hakkında daha fazla bilgi için bkz: En son sql Server veritabanı altyapısı özellikleri 2008 R2 değiştirir..

İşlem içindeki veri erişim sağlayıcı bir uygulama programı arabirim sağlar SqlContext.WindowsIdentity, ilişkili belirteci almak için kullanılabilirgeçerli güvenlik bağlamı. Yönetilen kodda EXTERNAL_ACCESS ve UNSAFE derlemeler içerik almak ve kullanmak için bu yöntem kullanabilirsiniz.net Framework WindowsIdentity.Impersonate yöntemine taklit o içerik.Kullanıcı kodu açıkça taklit ettiğinde, aşağıdaki kısıtlamalar geçerlidir:

  • Yönetilen kod kimliğine bürünülen durumunda, işlem içindeki veri erişim izin verilmez.Kod kimliğe bürünme geri alma almak ve sonra işlem çağrısı veri erişimi.Not Bu dönüş değeri saklanması gerekir (bir WindowsImpersonationContext nesnesi) özgün Impersonate yöntem ve arama Undo Bu yöntem WindowsImpersonationContext.

    Bu kısıtlama işlem içindeki veri erişim gerçekleştiğinde, her zaman geçerli güvenlik içeriği bağlamında etkin oturum için açık olduğunu gösterir.Yönetilen kod içinde açık kimliğe bürünme tarafından değiştirilemez.

  • İçin yönetilen kod yürütme zaman uyumsuz olarak (örneğin, üzerinden UNSAFE derlemeler iş parçacığı oluşturma ve çalıştırma kodu zaman uyumsuz olarak), işlem içi veri erişimine izin asla.Kimliğe bürünme orada olsun olmasın, bu doğrudur.

Kod çalışırken farklı bir kimliğine bürünülen bağlamında SQL Server, işlem içindeki veri erişim çağrıları; gerçekleştiremiyor kimliğe bürünme içerik işlem içindeki veri erişim çağrıları yapmadan önce geri alma almak.Yönetilen kod, özgün yürütme bağlamında ne zaman işlem içindeki veri erişim yapılan Transact-SQL yönetilen koda giriş noktası her zaman için kullanılan yetkilendirme.

Her ikisi de EXTERNAL_ACCESS derlemeler ve UNSAFE derlemeler erişim işletim sistemi kaynakları ile SQL Server hizmet hesabı, daha önce açıklandığı gibi geçerli güvenlik içeriği bunlar yazılıp IETF'ye taklit sürece.Bundan dolayı yazarlar, EXTERNAL_ACCESS derlemeler gerektiren daha yüksek düzeyde bir güven, dan SAFE tarafından belirtilen derleme, EXTERNAL ACCESS oturum açma düzey izni.Kod altında çalıştırmak için güvenilir olan tek oturum açma SQL Server hizmet hesabı verilen EXTERNAL ACCESS izni.