clr tümleştirme güvenlik bağlantıları

Nasıl kullanıcı kod parçalarını birbirine çağırabilir Bu bölümde açıklanmaktadır SQL Server, ya da Transact-SQL veya birinde yönetilen diller.Bu nesneler arasındaki ilişkiler, bağlantılar olarak adlandırılır.

Çağırma bağlantılar

Çağırma bağlantılar bir kodu çağırma, ya da bir kullanıcının nesneye çağrılıyor karşılık gelir (gibi bir Transact-SQL toplu iş iş bir saklı yordam çağırma), veya ortak dil çalışma zamanı (clr) saklı yordam veya işlev.Çağırma nedeni bağlayan bir EXECUTE Aranan denetlenecek izni.

Tablo erişim bağlantıları

Tablo erişim bağlantıları almak veya bir tablo, görünüm veya tablo değerli işlev değerlerini değiştirme karşılık gelir.select, INSERT, update ve delete izinleri açısından bir uygulamada erişim denetimi dışında çağırma bağlantılar benzer.

Gated bağlantılar

Gated bağlantılar kurulmuş olan bir kez yürütme sırasında izinleri nesne ilişkisi kontrol edilmediğini anlamına gelir.İki nesne arasında geçitli bağlantı olduğunda (örneğin, nesne x ve nesne y), nesne üzerindeki izinleri y ve diğer nesneleri erişilen nesneden y oluşturulması sırasında yalnızca işaretli saat nesnesinin x.Nesne oluşturma saat x, REFERENCE izni denetlenir y sahibine karşı x.Yürütme sırasında saat, (örneğin, birisi çağırdığında nesne x), karşı kullanıma izin yok yok y veya diğer nesnelere başvuran statik olarak.Yürütme sırasında saat, uygun bir izin nesne karşı denetlenir x kendisi.

Gated bağlantılar her zaman iki nesne arasında bir meta veriler bağımlılığı ile birlikte kullanılır.Bu meta veriler bağımlılık içinde kurulmuş bir ilişkidir SQL Server katalogları sürece başka bir nesneye bağlıdır it. üzerinde bırakılan nesneden engeller

Gated bağlantılar yönetilebilir çok bağımlı nesnelerin izin vermek veya uygun olmadığında yararlıdır.Gated bağlantılar kullanılır SQL Server 2000 için hesaplanan sütunlar ve tam metin dizin sütunları.İle başlayan SQL Server 2005, gated bağlantılar tanımlamak, nesneler arasındaki tanıtılır Transact-SQL clr birleştirmeleri (örneğin, clr yordamlar, tetikleyiciler, İşlevler, türleri ve toplamları) ve kendisinden bunlar tanımlanır derlemeler içine giriş noktaları.Bu nesneler karşı Gated güvenlik harekete geçirmek için anlaşılacağı bir Transact-SQL tanımlı bir clr içinde giriş noktası derleme, arayanın yalnızca, uygun bir izni gerekiyor Transact-SQL giriş noktası.Arayan o derleme veya statik olarak başvuran diğer derlemeler izinlerine sahip olmanız gereklidir.Derleme izinlerini oluşturulması sırasında denetlenir saat , Transact-SQL giriş noktası.

sql Server yetkilendirme tabanlı güvenlik

Arkasındaki temel kuralları şunlardır 'ınSQL Server arasında clr tabanlı veritabanı nesnelerini; çağırmaları için güvenlik denetimlerini izinleri denetlenir ilk üç kural tanımlamak ve karşı hangi nesne; Dördüncü kural izni karşılaştırılarak hangi yürütme içeriği tanımlar.

  1. Tüm çağırmaları gerektiren EXECUTE izin sürece aynı nesnenin içinde; çağırmaları ortaya içinde aynı çağıran anlamına gelir derleme herhangi bir izin denetimleri gerektirmez.İzni yürütme sırasında denetlenir saat.

  2. Gated bağlantılar gerektiren REFERENCE çağıran nesne oluşturulduğunda, Aranan karşı izni.Nesne oluşturulduğunda, izni çağıran nesne sahibi için denetlenir.

  3. Tablo erişim bağlantıları gerektiren ilgili SELECT, INSERT, UPDATE, veya DELETE izni tablo ya da Görünüm erişilen karşı.

  4. İznin geçerli yürütme içeriği karşı denetlenir.Yordamları ve işlevleri çağıranınkinden farklı bir yürütme içeriği ile oluşturulabilir.Derlemeler, yordam, işlev veya karşı tanımlandığı tetikleyici yürütme içeriği ile her zaman oluşturulur.

Ayrıca bkz.

Kavramlar