Code Access Security in Reporting Services

zabezpieczenia dostępu kodu centra wokół te pojęcia podstawowe: dowód, grup kodów i zestawów uprawnień nazwane. W Reporting Services, Menedżer raportów, Projektant raportów i serwer raportów składniki każdy korzysta z pliku zasad, który konfiguruje zabezpieczenia dostępu kodu zestawów niestandardowych, jak i danych, dostawy, renderowania i zabezpieczeń rozszerzeń. Poniższe sekcje zawierają przegląd informacji o 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 Services używa zabezpieczenia dostępu kodu ponieważ, chociaż opartej serwer raportów ASP.NET Technologia, jest istotne różnice między typowe ASP.NET Aplikacja i serwer raportów. Typowe ASP.NET Aplikacja nie wykonuje kodu użytkownika. Z drugiej strony, Reporting Services używa otwarte i rozszerzalny architekturę, która umożliwia użytkownikom programu względem plików definicja raportu, używając Kod element definicja raportu Language i opracowanie wyspecjalizowane funkcje w niestandardowy 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.Dzięki temu tworzenie pochodzi potrzeba zapewnienia tyle ochrony i zabezpieczeń, jak to możliwe.

Reporting Services Deweloperzy mogą używać dowolnej .NET Framework wirtualny plik dziennika w ich raportów oraz oryginalnie zapraszać wszystkich funkcji w celu Global wirtualny plik dziennika Cache zestawów. Tylko pierwsze, serwer raportów może formant znajduje się jakie uprawnienia są podane dla raportu wyrażeń i załadować niestandardowych zestawów.W Reporting Services, odbieranie zestawów niestandardowych wykonać— tylko uprawnienia domyślne.

Dowód

Dowód są informacje, które używa plików wykonywalnych języka wspólnego (CLR), aby określić zasadę zabezpieczeń dla zestawów zawierających kod.Dowód wskazuje w czasie wykonywania, że kod ma cechy szczególne.Typowe formularze dowodów zawierają podpisy cyfrowe i lokalizację wirtualny plik dziennika.Dowód może być również niestandardowe w założeniu reprezentować inne informacje, które jest przydatny do aplikacji.

Zarówno zespołów, jak i domenach aplikacji otrzymywać uprawnienia na podstawie dowodów.Na przykład lokalizację wirtualny plik dziennika, Reporting Services Nastąpiła próba dostępu jest jednej wspólnej formy dowodów o nazwie słaby zestawów. Jest to określane jako dowód adresu URL.Dowód adres URL dla rozszerzenia niestandardowe przetwarzania danych, aby serwer raportów może być "C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.FsiDataExtension.dll".Silnej nazwy lub podpis cyfrowy wirtualny plik dziennika jest inny wspólnej formy dowodów.W takim przypadek dowody są publiczne najważniejsze informacje dla wirtualny plik dziennika.

Kod grupy

grupowanie kodów jest logiczną grupę kodu, który został określony warunek członkostwa.Wszelki kod, który spełnia warunek członkostwa znajduje się w grupie.Administratorzy skonfigurować zasad zabezpieczeń przez Zarządzanie grup kodów i ich zestawów skojarzone uprawnienia.

Warunek członkostwa grupy kodu jest oparty na dowodów.Na przykład członkostwo adres URL dla grupy kod opiera się na dowodów adresu URL.Aparat plików wykonywalnych języka wspólnego (CLR) używa identyfikujące cechy, takie jak adres URL dowodów umożliwia wprowadzenie opisu kodu i określenia, czy został spełniony warunek członkostwa grupy.Na przykład jeśli warunek członkostwa grupy kodu jest "kodu w zestawie C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.FsiDataExtension.dll", w czasie wykonywania sprawdza dowodów do ustalenia, czy kod pochodzący z tej lokalizacji.Przykładem pozycji konfiguracja dla kodu grupy tego typu 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\MSSQL\Reporting Services\ReportServer\bin\Microsoft.Samples.ReportingServices.FsiDataExtension.dll"
       />
</CodeGroup>

Powinien pracować administrator systemu lub ekspertów wdrażanie aplikacji, aby określić typ zabezpieczeń dostępu do kodu oraz kodu grupy, które z zestawów niestandardowych lub Reporting Services wymagają rozszerzenia.

Nazwane zestawy uprawnień

Zestaw o nazwie uprawnień to zestaw uprawnień, które Administratorzy można skojarzyć z grupą kodu.Najbardziej nazwane zestawy uprawnień składają się z co najmniej jedno uprawnienie, nazwę i opis zestaw uprawnień.Administratorzy mogą używać zestawy nazwane uprawnień do ustanawiania lub modyfikowania zasad zabezpieczeń dla grup kodów.Więcej niż jednej grupy kodu można skojarzyć z tego samego zestaw uprawnień o nazwie.Środowisko CLR można korzystać z wbudowanych uprawnienie nazwanych zestawów, wśród nich są Nic, Wykonanie, Internet, LocalIntranet, Wszystkie elementy, and FullTrust.

Uwaga

Niestandardowe dane, dostawy, renderowania i zabezpieczeń rozszerzeń Reporting Services musi być uruchomiona w kontekście FullTrust zestaw uprawnień.Praca z sieci administrator systemu, aby dodać odpowiedni kod warunków grupy i członkostwa dla użytkownika Reporting Services rozszerzenia.

Można skojarzyć własne niestandardowe poziomy uprawnień dla zestawów niestandardowych, korzystających z raportami.Na przykład zezwolić na dostęp do określonego pliku wirtualny plik dziennika, można utworzyć nowy wirtualny plik dziennika o nazwie uprawnienia z określonego pliku dostępu we/wy i następnie przypisać wirtualny plik dziennika do kodu grupy uprawnień.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>

Grupa kodów, że należy przyznać to zestaw uprawnień 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\MSSQL\Reporting Services\ReportServer\bin\MyCustomAssembly.dll"/>
</CodeGroup>