Zabezpieczenia dostępu do kodu w Reporting Services

Kod dostępu zabezpieczeń centrów na te pojęcia podstawowe: dowody, kod grupy i zestawy nazwane uprawnień.W Reporting Services, Menedżer raportów, Projektant raportów i Report Server składniki każdego mieć plik zasad, który konfiguruje zabezpieczenia dostępu kodu dla niestandardowych zestawów także rozszerzenia danych dostawy renderowania i zabezpieczeń.W poniższych sekcjach przedstawiono przegląd zabezpieczenia dostępu kodu.For more detailed information about the topics covered in this section, see "Security Policy Model" in the Microsoft .NET Framework SDK documentation.

Reporting Servicesużywa zabezpieczenia dostępu kodu, ponieważ, chociaż serwer raport jest oparty na ASP.NET technologii, istnieje znaczna różnica pomiędzy typową ASP.NET aplikacji i serwer raportów.Typowe ASP.NET aplikacji nie wykonać kod użytkownika.Natomiast Reporting Services używa otwartej i extensible architekturę, która umożliwia użytkownikom programu względem plików definicja raportu za pomocą kodu element Report Definition Language oraz rozwijać funkcje specjalne do niestandardowego wirtualny plik dziennika do użycia w raportach.Ponadto deweloperzy mogą zaprojektowanie wdrożyć zaawansowanych rozszerzeń, które rozszerzają możliwości serwer raportów.Z tym zasilania i elastyczność pochodzi potrzebę zapewnienia tyle ochrony i zabezpieczenia, jak to możliwe.

Reporting ServicesDeweloperzy mogą używać dowolnej .NET Framework wirtualny plik dziennika w swoich raportach i macierzyście wezwać wszystkich funkcji zestawów wdrożony Global Assembly Cache.Tylko pierwsze serwer raportów można kontrolować to, jakie uprawnienia są podane dla wyrażeń raportu i niestandardowe zestawy ładowane.W Reporting Services, otrzymywać niestandardowe zestawy Wykonywanie— tylko uprawnienia domyślne.

Dowody

Dowód jest common language runtime (CLR) używa do określenia zasad zabezpieczeń dla zestawów zawierających kod informacji.Do środowiska wykonawczego dowody wskazują, że kod ma szczególne cechy.Wspólne formularze dowodów zawierają podpisy cyfrowe i lokalizacji wirtualny plik dziennika.Dowody można także niestandardowe reprezentować inne informacje, które jest przydatny do aplikacji.

Zespoły i domen aplikacji otrzymywać uprawnienia na podstawie dowodów.Na przykład lokalizację wirtualny plik dziennika, Reporting Services próbuje dostęp jest jeden wspólny formularz dowody dla zespołów o nazwie słabe.Jest to określane jako dowody adresu URL.Adres URL dowody niestandardowych rozszerzenie przetwarzania danych wdrożony serwer raportów może być "C:\Program files\microsoft sql Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.FsiDataExtension.dll".Silnej nazwy lub podpis cyfrowy wirtualny plik dziennika jest wspólny formularz innego dowodu.W takim przypadek dowody są publicznie klucz informacji dla wirtualny plik dziennika.

Kod grupy

Kod grupowanie jest logicznym grupowaniem kodu, który został określony warunek członkostwa.Każdy kod, który spełnia warunek członkostwa znajduje się w grupie.Administratorom konfigurowanie zasad zabezpieczeń przez Zarządzanie grupami kodu i ich zestawów uprawnień skojarzonych.

Warunek członkostwa grupy kodu jest oparte na dowodach.Na przykład członkostwo adres URL, kod grupy jest oparte na dowodach adresu URL.Common language runtime (CLR) używa identyfikujące cechy, takie jak adres URL dowody opis kodu i określenia, czy został spełniony warunek członkostwa grupy.Na przykład, jeśli warunek członkostwa grupy kodu jest "kod wirtualny plik dziennika C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.FsiDataExtension.dll", runtime analizuje dowody, aby ustalić, czy kod pochodzący z tej lokalizacji.Przykładem pozycji konfiguracja dla tego typu kodu grupy może wyglądać następująco:

<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\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.FsiDataExtension.dll"
       />
</CodeGroup>

Z administrator systemu lub aplikacji wdrożeniem do określenia typu zabezpieczenia dostępu kodu oraz kodu grupy ekspertów powinny działać z niestandardowych zestawów lub Reporting Services wymaga rozszerzenia.

Nazwane zestawy uprawnień

Nazwany zestaw uprawnień jest zestaw uprawnień administratorów można skojarzyć z grupy kodów.Najbardziej nazwane zestawy uprawnień składa się przynajmniej jedno uprawnienie, nazwa i opis zestaw uprawnień.Administratorzy mogą używać uprawnień nazwane zestawy do ustanowienia lub zmodyfikować zasady zabezpieczeń dla grup kodów.Więcej niż jednej grupy kodu można skojarzyć z tym samym nazwany zestaw uprawnień.Środowisko CLR zawiera zestawy uprawnień nazwanych wbudowane; należą do nich nic nie, wykonanie, Internet, LocalIntranet, wszystko, i FullTrust.

Ostrzeżenie

Rozszerzenia niestandardowe dane, dostawy, renderowania i zabezpieczeń w Reporting Services musi być uruchamiana FullTrust zestaw uprawnień.Pracować z administrator systemu dodać odpowiedni kod grupy i członkostwo warunki programu Reporting Services rozszerzenia.

Można skojarzyć własne niestandardowe poziomy uprawnień dla zestawów niestandardowych, korzystających z raportami.Na przykład, jeśli chcesz zezwolić na dostęp do określonego pliku wirtualny plik dziennikau można utworzyć nowy nazwane uprawnienia wirtualny plik dziennika z określonego pliku we/wy dostępu, a następnie przypisz uprawnienia wirtualny plik dziennika do kodu grupy.Następujący zestaw uprawnień udziela dostępu tylko do odczytu do pliku MyFile.xml:

<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>

Udziel to zestaw uprawnień grupy kodów może wyglądać następująco:

<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\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin\MyCustomAssembly.dll"/>
</CodeGroup>