Opis zasad zabezpieczeń

W przypadku programu SQL Server 2008 R2 nie ma zmian zawartości wymienionej w tym temacie.

Kod jest wykonywany przez serwer raportów musi być częścią zasady zabezpieczeń dostępu do określonego kodu.Te zasady zabezpieczeń składają się z grup kodów, które mapują dowody zestaw uprawnień nazwane zestawy.Kod grupy są często związane z nazwany zestaw uprawnień określający dopuszczalne uprawnienia dla kodu w tej grupie.The runtime uses evidence provided by a trusted host or by the loader to determine which code groups the code belongs to and, therefore, which permissions to grant the code.Reporting Services adheres to this security policy architecture as defined by the Microsoft .NET Framework common language runtime (CLR).W poniższych sekcjach opisano różne typy kodu w Reporting Services i związanych z nimi reguł zasad.

Raport zespołów serwera

Report server assemblies are those that contain code that is part of the Reporting Services product.Reporting Services is written using managed code assemblies; all of these assemblies are strong-named (that is, digitally signed).Grupy kodów dla tych zestawów są definiowane przy użyciu StrongNameMembershipCondition, który zawiera dowody oparte na publicznym klucz informacji o silnej nazwy wirtualny plik dziennika.Udzielone grupie kod FullTrust zestaw uprawnień.

Rozszerzenia serwera raportu (renderowania, dane, dostarczania i zabezpieczeń)

Rozszerzenia serwera raportu są dane, dostawy, renderowania i zabezpieczeń rozszerzeń niestandardowych lub w innych stron trzecich utworzyć, aby rozszerzyć funkcje Reporting Services.Należy przyznać FullTrust do tych rozszerzeń lub wirtualny plik dziennika kodu w plikach konfiguracja zasad związanych z Reporting Services składnika są rozszerzanie.Rozszerzenia dostarczane jako część Reporting Services są podpisane za pomocą klucz publicznego serwer raportów i otrzymywać FullTrust zestaw uprawnień.

Ważna informacjaWażne:

Należy zmodyfikować Reporting Services zasad konfiguracja plików, aby umożliwić FullTrust wszystkich rozszerzeń firm.Jeśli nie dodasz kod grupy z FullTrust dla użytkownika rozszerzeń niestandardowych nie mogą być używane przez serwer raportów.

Aby uzyskać więcej informacji o plikach konfiguracja zasad w Reporting Services, zobacz Korzystanie z plików zasad zabezpieczeń usług raportowania.

Wyrażenia używane w raportach

Raport wyrażenia są wbudowane kodu wyrażeń lub metody zdefiniowane przez użytkownika zawartych w kodu element pliku języka definicja raportu.Kod grupy, która jest już skonfigurowany w plikach zasad udziela tych wyrażeń jest wykonanie uprawnień zestaw domyślnie.Kod grupy wygląda następująco:

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

wykonać uprawnienie umożliwia uruchomienie kodu (wykonaj), ale nie do używania chronionych zasobów.Wszystkie wyrażenia znaleziony w raporcie są kompilowane do wirtualny plik dziennika (o nazwie "host wyrażenie" wirtualny plik dziennika) jest przechowywana jako część skompilowanym raportem.Podczas wykonywania raportu serwer raportów ładuje zestaw hosta wyrażeń wykonać wywołań do tego wirtualny plik dziennika do wykonywania wyrażenie.Wyrażenie zestawów hosta są podpisane za określony klucz, który jest używany do definiowania grupy kod dla wszystkich hostów wyrażenie.

Raport wyrażenia odwołania raportu kolekcji modelu obiektów (pól, parametrów itp.) i wykonywanie prostych zadań, takich jak operacje arytmetyczne i ciąg znaków.Kod wykonujący te proste operacje wymaga tylko wykonanie uprawnienia.Domyślnie, metody zdefiniowane przez użytkownika w kodu element i wszystkie niestandardowe zestawy są przyznawane wykonanie uprawnienia w Reporting Services.Dlatego większość wyrażeń bieżącej konfiguracja nie wymaga zmodyfikować pliki zasad zabezpieczeń.Aby udzielić uprawnień dodatkowych zestawów hosta wyrażenie, administrator musi zmodyfikować pliki konfiguracja zasad serwer raportów Projektant raportów i zmienić grupę kodu wyrażeń raportu.Ponieważ jest to ustawienie globalne, zmiana uprawnień domyślnych dla hostów wyrażenie ma wpływ na wszystkie raporty.Z tego powodu zdecydowanie zaleca się umieszczenie wszystkich kod, który wymaga dodatkowych zabezpieczeń do niestandardowego wirtualny plik dziennika.Tylko tego wirtualny plik dziennika zostaną przyznane uprawnienia potrzebne.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Kod, który wywołuje zestawów zewnętrznych lub zabezpieczone zasoby powinny zostać włączone do niestandardowego wirtualny plik dziennika do użycia w raportach.To zapewnia większą kontrolę nad uprawnienia wymagane i potwierdzony przez kod.Nie należy wprowadzać wywołania secure metod w kodu element.Wykonanie tej czynności wymaga udzielenia FullTrust do hosta wyrażenie raportów i dotacji cały kod niestandardowy pełny dostęp do środowiska CLR.

PrzestrogaPrzestroga

Nie należy udzielać FullTrust do grupy kodu dla hosta wyrażenie raportu.Jeśli jednak włączyć wszystkie wyrażenia raportu do wykonywania wywołań systemu chronionego.

Niestandardowe zestawy w raportach

Niektóre wyrażenia raportu można wywołać zestawów zawierających kod strony trzeciej, znanych także w Reporting Services jako niestandardowe zestawy.serwer raportów oczekuje zestawy co najmniej wykonanie uprawnienia w plikach konfiguracja zasad.Domyślnie pliki strategii statku z Reporting Services przyznać wykonanie uprawnienia do wszystkich zestawów, począwszy od "Mój komputer" strefa.Niestandardowe zestawy może przyznać dodatkowe uprawnienia, w razie potrzeby.

W niektórych przypadkach konieczne może być wykonanie operacji wymaga uprawnień określony kod w raporcie wyrażenie.Zazwyczaj oznacza to wyrażenie raportu trzeba zadzwonić do bezpiecznej metoda biblioteki CLR (na przykład taki, który uzyskuje dostęp do plików lub rejestrze systemu). .NET Framework Dokumentacji opisano kod uprawnienia, które są wymagane, aby zabezpieczyć to wywołanie; Aby wykonać wywołanie, kod wywołujący musi mieć uprawnienia te szczególne, bezpieczne.Jeśli wywołanie z wyrażenia raportu lub kodu element, zestaw hosta wyrażeń musi być przyznane odpowiednie uprawnienia.Jednak po hosta wyrażenie udzielić uprawnień, cały kod uruchomiony w dowolnym wyrażeniem w dowolnym raporcie jest teraz uprawnienie to szczególne.Jest dużo bezpieczniejszy wywołanie z niestandardowego wirtualny plik dziennika i udzielić niestandardowy wirtualny plik dziennika określonych uprawnień.