Aracılığıyla paylaş


Güvenlik ilkelerini anlama

Rapor sunucusu tarafından yürütülen herhangi bir kod belirli kod erişimi güvenlik ilkesi bir parçası olmalıdır. Adlandırılmış izin kümeleri kümesi için kanıt göster kod grupları bu güvenlik ilkelerini oluşur. Genellikle, kod grubu kodu için izin verilen izinler bu grupta belirten adlandırılmış izin kümesi ile ilişkilidir. Çalışma Zamanı kanıt bir güvenilen ana veya yükleyici tarafından sağlanan kodu ait hangi kod grupları ve dolayısıyla kod vermek için izinleri belirlemek için kullanır. Reporting ServicesBu güvenlik ilkesi mimarisi tarafından tanımlanan uymaktadır Microsoft  .NET Frameworkortak dil çalışma zamanı (clr). Çeşitli kod içinde aşağıdaki bölümlerde açıklanmıştır Reporting Servicesve bunlarla ilişkili ilke kuralları.

Rapor Server birleştirmeler

Rapor sunucu derlemeler vardır parçası kodunu içeren Reporting Servicesürün. Reporting Servicesyönetilen kod derlemeleri kullanılarak yazılır; tüm bu derlemeler güçlü (yani dijital olarak imzalanmış) adlı. Aşağıdaki derlemeler için kod grupları kullanılarak tanımlanır StrongNameMembershipCondition, olan ortak anahtar bilgi için derlemenin kesin ad temel kanıt sağlar. Kod grubu verilir FullTrustUNSAFE izin kümesi.

Rapor Server Extensions (oluşturma, veri, teslim ve güvenlik)

Rapor sunucu uzantıları olan işlevselliğini genişletmek için size veya diğer üçüncü taraflarca oluşturduğunuz özel veri, dağıtım, işleme ve güvenlik uzantıları Reporting Services. Vermeniz gerekir FullTrustUNSAFE için bu ilke yapılandırma dosyaları uzantılarına veya derleme kodu ilişkili Reporting Servicesbileşeni genişletme. Uzantıları bir parçası olarak sevk edilen Reporting Servicesrapor sunucunun ortak anahtarıyla imzalanır ve almak FullTrustUNSAFE izin kümesi.

Önemli notÖnemli

Değiştirmeniz gereken Reporting Servicesizin vermek için ilke yapılandırma dosyaları FullTrustUNSAFE için herhangi bir üçüncü taraf eklentileri. Bir kod grubu eklemezseniz FullTrustUNSAFE için senin özel uzantıları, rapor sunucusu tarafından kullanılamazlar.

İlke yapılandırma dosyaları hakkında daha fazla bilgi için Reporting Servicesbakın Raporlama Hizmetleri güvenlik ilkesi dosyalarını kullanma.

Raporlarda kullanılan ifadeler

Raporu ifadeleri olan satır kod ifadeler veya kullanıcı tanımlı yöntemleri içinde bulunan kod rapor tanımı dil dosyası öğesi. Bu ifadeler veren ilke dosyaları önceden yapılandırılmış bir kod grup yürütme izni varsayılan olarak ayarlayın. Kod grubu aşağıdaki gibi görünür:

<CodeGroup
   class="UnionCodeGroup"
   version="1"
   PermissionSetName="Execution"
   Name="Report_Expressions_Default_Permissions"
   Description="This code group grants default permissions for code in report expressions and Code element. ">
    <IMembershipCondition
       class="StrongNameMembershipCondition"
       version="1"
       PublicKeyBlob="002400..."
    />
</CodeGroup>

<CodeGroup
   class="UnionCodeGroup"
   version="1"
   PermissionSetName="Execution"
   Name="Report_Expressions_Default_Permissions"
   Description="This code group grants default permissions for code in report expressions and Code element. ">
    <IMembershipCondition
       class="StrongNameMembershipCondition"
       version="1"
       PublicKeyBlob="002400..."
    />
</CodeGroup>

Yürütme izin verir kod (yürütme, ama korunan kaynakları kullanmak değil). Bir rapor içinde bulunan tüm ifadeler (bir "ifadesi ana" adlı derleme derlenmiştir montaj) derlenmiş raporun bir parçası olarak depolanır. Rapor yürütüldüğünde, rapor sunucusu ifade ana bilgisayar derleme yükler ve deyimleri yürütmek için o derleme içine çağrılar. İfade ana birleştirmeler, tüm ifadenin ana için kod grubu tanımlamak için kullanılan belirli bir anahtar imzalanmıştır.

Raporu ifadeleri rapor nesne modeli koleksiyonları (alanlar, parametreler, vb) başvuru ve aritmetik ve dize işlemleri gibi basit görevleri gerçekleştirebilirsiniz. Sadece bu basit işlemler gerçekleştiren kod gerektirir yürütme izni. Varsayılan olarak, kullanıcı tanımlı yöntemleri kod eleman ve herhangi bir özel derlemeler verilir yürütme izin Reporting Services. Böylece, çoğu ifadeler için herhangi bir güvenlik ilkesi dosyalarını değiştirme geçerli yapılandırma gerektirmez. İfade ana birleştirmeler için ek izinler vermek için bir yönetici rapor sunucusu ve Rapor Tasarımcısı ilke yapılandırma dosyaları değiştirmek ve rapor ifadeleri kod grubu değiştirmek gerekiyor. Bu genel bir ayar olduğundan, ifade ana bilgisayarları için varsayılan izinleri değiştirme tüm raporları etkiler. Bu nedenle, özel bir derleme içine ek güvenlik gerektiren tüm kodunu yerleştirmeniz önerilir. Yalnızca bu derleme, gereken izinleri verilir.

Güvenlik notuGüvenlik Notu

Dış birleştirmeler aramaları veya korunan kaynak kod kullanım raporları için özel bir derleme içine dahil. Böylece, talep ve kodunuz tarafından garantilenen izinleri üzerinde daha fazla denetim sağlar. Yöntemleri içinde güvenli çağrıları yapmak gerekir kod öğesi. Böylece gerektirir vermek için FullTrustUNSAFE rapor ifade ana ve tüm özel kod tam erişim için clr verir.

Dikkat notuDikkat

Değil vermek FullTrustUNSAFE için bir rapor ifade ana kod grubuna. Bunu yaparsanız, korunan sistem çağrıları yapmak tüm rapor ifadeleri etkinleştirin.

Özel Assemblies raporlar başvurulan

Bazı rapor ifadeler olarak da bilinen üçüncü taraf kod derlemeleri arayabilirsiniz Reporting Servicesolarak özel derlemeler. Rapor sunucusu en az olması bu derlemeler beklediğini yürütme ilke yapılandırma dosyaları izni. Varsayılan olarak, ilke dosyaları o gemi ile Reporting ServicesVer yürütme 'benim bilgisayar' başlayarak tüm derlemelere izin bölge. Gerektiğinde özel derlemeler için ek izinler verebilirsiniz.

Bazı durumlarda, belirli kod izinleri rapor ifade gerektiren bir işlem gerçekleştirmeniz gerekebilir. Genellikle, bu rapor ifade aramak için güvenli clr kitaplığı gibi bir yöntem (bir dosya veya sistem kayıt kere görüntülendi) gerektiği anlamına gelir. .NET FrameworkBu güvenli hale getirmek için gerekli olan izinleri çağır; kodunu belgelerine tanımlar Çağrı yürütmeye çağıran kodun bu özel, güvenli izinleri verilmelidir. Rapor ifadesi arama yaparsanız veya kod öğesi, ifade ana bilgisayar derleme gerekir verilen uygun izinleri. Ancak, bir kez ifade ana izinleri, herhangi bir ifadede herhangi bir rapordaki tüm kodu Şimdi bu özel izin verilir. Özel bir derleme arama yapmak ve bu özel derleme belirli izinler çok daha güvenlidir.

Ayrıca bkz.

Kavramlar

Raporlama Servisleri içinde kod erişimi güvenliği

Güvenli (Raporlama Servisleri) geliştirme