Share via


Reporting Services içinde kod erişimi güvenliği

Bu temel kavramlar geçici erişim güvenlik merkezi kodu: kanıt Kod grubu ve adlandırılmış izin kümeleri. Içinde Reporting Services, Rapor Yöneticisi ve Rapor Tasarımcısı rapor sunucusu bileşenleri her veri teslimi, oluşturma ve Güvenlik Uzantıları yanı sıra, özel derlemeler için kod erişimi güvenliği yapılandıran bir ilke dosyası vardır. Aşağıdaki bölümlerde, kod erişimi güvenliği'ne genel bakış sağlar.For more detailed information about the topics covered in this section, see "Security Policy Model" in the Microsoft .NET Framework SDK documentation.

Reporting Services kod erişimi güvenliği kullanır, çünkü, raporu sunucuda oluşturulmuş olsa da ASP.NET teknoloji, tipik bir arasında önemli bir fark yoktur. ASP.NET Uygulama ve rapor sunucusu. Tipik bir ASP.NET uygulama kullanıcı kodu yürütülür. Buna ek olarak, Reporting Services Kullanıcıların kullanarak rapor tanım dosyalarını karşı program olanak veren bir açık ve genişletilebilir mimari kullanan Kod öğesi Rapor Tanımlama Dili ve raporlarda kullanmak için özel bir derleme özelleştirilmiş işlevselliği geliştirmek için.Ayrıca, geliştiricilerin tasarlayabilir ve rapor sunucusu yeteneklerini geliştiren güçlü Uzantıları'nı dağıtmak.Bu güç ve esneklik gelir kadar koruma ve güvenlik olabildiğince sağlamak için gerekli.

Reporting Services Geliştiriciler kullanabilirsiniz .NET Framework derleme, raporlar ve yerel olarak bağlı tüm birleştirmeleri genel derleme önbelleği dağıtmış işlevselliğini arayın. Rapor sunucusu denetleyen tek şey rapor ifadeler için hangi izinlerin verilen, özel derlemeler yükledi.Içinde Reporting Services, özel derlemeler alırsınız. yürütmek-yalnızca varsayılan izinler.

Kanıt

Kanıt ortak dil çalışma zamanı (CLR) kodu derlemeler için bir güvenlik ilkesi'ni belirlemek için kullandığı bilgidir.Kanıt, çalýþma zamaný için kodu, belirli bir özelliğin sahip olduğunu gösterir.Kanıt, sık kullanılan formlar, dijital imzalar ve derleme konumunu içerir.Kanıt da uygulama için anlamlı olan diğer bilgileri göstermek için tasarlanmış özel olabilir.

Birleştirmeler hem de uygulama etki alanları üzerinde Kanıt tabanlı izinleri alır.Örneğin, bir derleme konumunu, Reporting Services deniyor erişim bir ortak için zayıf adlı derleme bulgu biçimidir. Bu URL kanıt bilinir.URL kanıt için dağıtılan özel veri işleme uzantısı için bir rapor sunucusu "C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.FsiDataExtension.dll" olabilir.Kesin ad veya derleme dijital imzayı başka bir ortak kanıt biçimidir.Bu durumda, kanıt ortak anahtar derleme bilgilerdir.

Kod grupları

Kod grubu üyelik için belirtilen bir koşul içeriyor kod mantıksal bir gruplandırmasıdır.Üyelik koşulu karşılayan herhangi bir kod grubu bulunur.Kod grubu ve bunların ilişkili izin kümeleri yöneterek, yöneticiler güvenlik ilkesi yapılandırın.

Kod grubu, BIR üyelik koşulu kanıt üzerinde temel alır.Örneğin, bir URL bir kod grubu üyeliklerini URL kanıt üzerinde temel alır.Ortak dil çalışma zamanı (CLR) gibi URL kanıt tanıtıcı özellikleri kodunu tanımlamak için bir Grup Üyelik koşulu karşılandığından olup olmadığını belirlemek için kullanır.Örneğin, bir kod grubu üyelik koşulu "C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.FsiDataExtension.dll derlemesinde kod" ise, çalýþma zamaný kanıt, kodu bu konumdan kaynağı olup olmadığını belirlemek için inceler.Kod grubu bu tür bir yapılandırma girişi örneği aşağıdakine benzeyebilir:

<CodeGroup class="UnionCodeGroup"
   version="1"
   PermissionSetName="FullTrust"
   Name="MyCodeGroup"
   Description="Code group for my data processing extension">
      <IMembershipCondition class="UrlMembershipCondition"
         version="1"
         Url="C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.FsiDataExtension.dll"
       />
</CodeGroup>

Kendi özel derlemeler sistem yöneticisi veya uygulama dağıtımınızı kod erişimi güvenliği ve kod türü, gruplandırılan belirlemek için Uzman çalışmalıdır veya Reporting Services uzantılarını isteyebilir.

Adlandırılmış izin kümeleri

Adlandırılmış izin küme olan bir küme izinlerin yöneticiler bir kod grubu ile ilişkilendirebilirsiniz.En adlandırılmış izin küme s oluşan en az bir izin, adı ve açıklama izni küme.Yöneticiler, adlandırılmış izin kümeleri oluşturmak veya Kod grubu güvenlik ilkesini değiştirmek için kullanabilirsiniz.Birden fazla kod grubu, aynı adlı izniyle ilişkilendirilebilecek küme.CLR yerleşik adlandırılmış izin kümeleri sağlar; bunlar arasında Hiçbir şey, Yürütme, Internet, LocalIntranet, Her şeyi, and FullTrust.

Not

Özel veri teslimi, oluşturma ve Güvenlik Uzantıları Reporting Services altında çalışmalıdır FullTrust izni küme.Sistem yöneticiniz, uygun kod grubu ve üyeliğini koşullarını eklemek için çalışma, Reporting Services uzantıları.

Kendi özel raporlarıyla kullanan özel derlemeler için izin düzeylerini ilişkilendirebilirsiniz.Örneğin, derleme belirli bir dosyaya erişmeye izin vermek istiyorsanız, yeni bir adlandırılmış izin kümesini belirli dosya g/Ç erişim oluşturabilir ve sonra kodu grubunuzun küme izni atayın.Aşağıdaki izin küme MyFile.xml dosyası salt okunur erişim verir:

<PermissionSet class="NamedPermissionSet"
   version="1"
   Name="MyNewFilePermissionSet"
   Description="A special permission set that grants read access to my file.">
    <IPermission class="FileIOPermission"
       version="1"
       Read="C:\MyFile.xml"/>
    <IPermission class="SecurityPermission"
       version="1"
       Flags="Assertion, Execution"/>
</PermissionSet>

Bu izin kümesi izni olan BIR kod grubu, aşağıdaki gibi görünebilir:

<CodeGroup class="UnionCodeGroup"
   version="1"
   PermissionSetName="MyNewFilePermissionSet"
   Name="MyNewCodeGroup"
   Description="A special code group for my custom assembly.">
   <IMembershipCondition class="UrlMembershipCondition"
      version="1"
      Url="C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin\MyCustomAssembly.dll"/>
</CodeGroup>