Udostępnij za pośrednictwem


Włączanie i wyłączanie RDL Sandboxing

Funkcja Sandboxing RDL (Report Definition Language) pozwala na wykrywać i ograniczyć obciążenie określone typy zasobów przez najemców indywidualnych w środowisku wielu najemców używających pojedynczej sieci web farmie serwerów raportu.Przykładem tego jest hostingu scenariusz usług, gdzie mogą utrzymywać pojedynczej sieci web farmie serwerów raportu, używane przez wiele najemców i prawdopodobnie różnych firm.Jako administrator serwera raportów, można włączyć tę funkcję ułatwić osiągnięcie następujących celów:

  • Ograniczenia wielkości zasób zewnętrznych.Zasoby zewnętrzne zawierają obrazy i pliki .xslt i mapowania danych.

  • Publikuj raport czas, ograniczyć typy i członków, które są używane w tekście wyrażenie.

  • W raporcie przetwarzania czas, ograniczyć długość tekstu i rozmiar zwracanej wartości wyrażeń.

Po włączeniu RDL Sandboxing są wyłączone następujące funkcje:

  • Niestandardowy kod w <Code> element z definicja raportu.

  • Tryb zgodności z poprzednimi wersjami RDL SQL Server 2005 Reporting Services elementów raportu niestandardowego.

  • Parametry nazwane w wyrażeniach.

W tym temacie opisano każdy element w <RDLSandboxing> elementu w pliku RSReportServer.Config.Aby uzyskać więcej informacji na temat sposobu modyfikacji tego pliku, zobacz Jak Zmodyfikuj plik konfiguracji usług raportowania.Serwera śledzenia dziennika rekordów działań związanych z funkcją RDL Sandboxing.Aby uzyskać więcej informacji na temat dzienniki śledzenia Zobacz Dziennik śledzenia usługi serwera raportów.

Przykładowa konfiguracja

W poniższym przykładzie przedstawiono ustawienia i wartości przykład <RDLSandboxing> elementu w pliku RSReportServer.Config.

  <RDLSandboxing>
     <MaxExpressionLength>5000</MaxExpressionLength>
     <MaxResourceSize>5000</MaxResourceSize>
     <MaxStringResultLength>3000</MaxStringResultLength>
     <MaxArrayResultLength>250</MaxArrayResultLength>
     <Types>
        <Allow Namespace=”System.Drawing” AllowNew=”True”>Bitmap</Allow>
        <Allow Namespace=”TypeConverters.Custom” AllowNew=”True”>*</Allow>
     </Types>
     <Members>
        <Deny>Format</Deny>
        <Deny>StrDup</Deny>
     </Members>
  </RDLSandboxing>

Ustawienia konfiguracji

Poniższa tabela zawiera informacje o ustawieniach konfiguracja.Ustawienia są prezentowane w kolejności, w jakiej pojawiają się w plik konfiguracji.

Ustawienie

Opis

MaxExpressionLength

Maksymalna dozwolona liczba znaków w wyrażeniach RDL.

Wartość domyślna: 1000

MaxResourceSize

Maksymalna liczba dozwolonych dla zasób zewnętrznego KB.

Wartość domyślna: 100

MaxStringResultLength

Maksymalna dozwolona liczba znaków w wartości zwracanej dla wyrażenie RDL.

Wartość domyślna: 1000

MaxArrayResultLength

Maksymalna liczba elementów w tablicy zwracanej wartości dozwolone dla wyrażenie RDL.

Wartość domyślna: 100

Typy

Lista członków, aby umożliwić w wyrażeniach RDL.

Zezwalaj

Typ lub zestaw typów w wyrażeniach RDL.

Przestrzeń nazw

Atrybut dla Zezwalaj na to jest obszar nazw zawierający jeden lub więcej typów, które dotyczą wartości.Ta właściwość jest przypadek-niewrażliwe.

Jeśli element AllowNew

Atrybut typu wartość logiczna Zezwalaj na steruje czy nowego wystąpienia typu mogą być tworzone w wyrażeniach RDL lub w RDL <Class> elementu.

UwagaUwaga:
Gdy RDLSandboxing jest włączone, nie można utworzyć nowe tablice w wyrażeniach RDL, niezależnie od ustawienia z AllowNew.

Wartość

Wartość dla Zezwalaj na jest nazwą typu w wyrażeniach RDL.Wartość * wskazuje, że dozwolone są wszystkie typy w obszarze nazw.Ta właściwość jest przypadek-niewrażliwe.

Członkowie

Lista typów, które są uwzględnione w <Types> element, na liście element członkowski nazwy, które nie są dozwolone w wyrażeniach RDL.

Odmawianie

Nazwa element członkowski, który jest niedozwolony w wyrażeniach RDL.Ta właściwość jest przypadek-niewrażliwe.

UwagaUwaga:
Gdy Odmów określony dla element członkowski wszystkich członków o tej nazwie, dla wszystkich typów nie są dozwolone.

Praca z wyrażeń po włączeniu RDL Sandboxing

Można zmodyfikować funkcja RDL Sandboxing, aby ułatwić zarządzanie zasobami, które są używane przez wyrażenie w następujący sposób:

  • Ograniczyć liczbę znaków, które są używane wyrażenie.

  • Ogranicz rozmiar wyników zwróconych przez wyrażenie.

  • Zezwolić określonej listy typów, które mogą być używane w wyrażenie.

  • Ogranicz listę członków przez nazwę listy dozwolonych typów, które mogą być używane w wyrażenie.

  • Funkcja RDL Sandboxing umożliwia utworzenie listy zatwierdzonych typów i listę członków odmowy.Wykaz zatwierdzonych typów nosi nazwę listy dozwolonych.Lista członków odmowa jest nazywany blok listy.

Ostrzeżenie

W definicja raportu komputera nie może znać typ każdego wystąpienia wyrażenie odwołania.Po dodaniu element członkowski do blok listy wszystkich członków tej nazwy są odmawianie przez wszystkich typów na liście dozwolonych.

Wyniki wyrażenie RDL są weryfikowane na uruchamianie czas.Podczas publikowania raportu, RDL wyrażeń są weryfikowane w definicja raportu.Monitorować dziennik śledzenia serwer raportów za naruszenia.Aby uzyskać więcej informacji, zobacz Dziennik śledzenia usługi serwera raportów.

Praca z typami

Po dodaniu typu do listy dozwolonych sterowanej następujące punkty wejścia do dostępu RDL wyrażeń:

  • Elementy statyczne typu.

  • The Visual Basic New method.

  • <Classes> Elementu w definicja raportu.

  • Elementy członkowskie, które zostały dodane do blok listy typu na liście dozwolonych.

Listy dozwolonych następujące punkty wejścia nie obejmuje kontroli:

  • Raport zestawów danych.Pola w zestawach danych raportu, które są zwracane przez kwerendy może zawierać dowolny prawidłowy typ RDL.

  • Parametry raportu.Wartości parametru dostarczone przez użytkownika może zawierać dowolny prawidłowy typ RDL.

  • Elementy włączone typu, które nie są w blok listy.Domyślnie włączone są wszystkie elementy wszystkich typów na liście dozwolonych.Podczas dodawania element członkowski nazwę do listy zablokowanych są wszystkie odmawianie element członkowskis o tej nazwie, dla wszystkich typów, które są na liście dozwolonych.

Włącz członkiem jednego typu, ale Odmów element członkowski o tej samej nazwie dla innego typu, wykonaj następujące czynności:

  • Dodaj <Deny> element członkowski nazwę.

  • Należy utworzyć element członkowski proxy pod inną nazwą klasy w niestandardowej wirtualny plik dziennika dla członka, który chcesz włączyć.

  • Dodać nowe klasy do listy dozwolonych.

To add Visual Basic .NET Framework funkcje do listy dozwolonych dodać odpowiednie typy z Microsoft.VisualBasic obszaru nazw do listy dozwolonych.

To add Visual Basic .NET Framework wpisz słowa kluczowe do listy dozwolonych dodać odpowiedni typ CLR do listy dozwolonych.Na przykład, aby użyć Visual Basic .Słowo kluczowe NET Framework Integer, dodać poniższy fragment XML do <RDLSandboxing> element:

<Allow Namespace="System">Int32</Allow>

Aby dodać rodzajowego lub Visual Basic .NET Framework typem niewymaganym do listy dozwolonych, należy wykonać następujące czynności:

  • Utworzyć typ serwera proxy dla rodzajową lub Visual Basic .NET Framework nullable typu.

  • Typ serwera proxy należy dodać do listy dozwolonych.

Dodawanie typu z niestandardowego wirtualny plik dziennika do listy dozwolonych niejawnie nieudzielanie wykonać uprawnień dla wirtualny plik dziennika.Specjalnie należy zmodyfikować plik zabezpieczenia dostępu kodu i dostarcza wykonać uprawnienia do swojego zestawu.Aby uzyskać więcej informacji, zobacz Zabezpieczenia dostępu do kodu w Reporting Services.

Utrzymywanie <odmowy> listę członków

Po dodaniu nowego typu do listy dozwolonych, skorzystaj z następującej listy do ustalenia, kiedy trzeba zaktualizować blok listę członków:

  • Podczas aktualizacji wirtualny plik dziennika niestandardowych wersja, w której wprowadzono nowe typy.

  • Podczas dodawania członków do typów na liście dozwolonych.

  • Podczas aktualizacji .NET Framework serwer raportów.

  • Po uaktualnieniu serwer raportów do nowszej wersja z Reporting Services.

  • Podczas aktualizacji serwer raportów do obsługi nowszych schematów RDL, ponieważ nowych członków mogły zostać dodane do typów RDL.

Praca z operatorami i nowy

Domyślnie Visual Basic .NET Framework operatory języka, z wyjątkiem New, są zawsze dozwolone.New Operator jest kontrolowana przez AllowNew atrybut na <Allow> elementu.Innych operatorów języka, takich jak operator domyślny metoda dostępu kolekcja ! i Visual Basic .NET Framework oddanych makra, takie jak CInt, są zawsze dozwolone.

Dodawanie operatorów do blok listy niestandardowe operatorów nie jest obsługiwane.Aby wykluczyć operatorów typu, wykonaj następujące czynności:

  • Utwórz typ serwera proxy, który nie implementuje operatorów, które chcesz wykluczyć.

  • Typ serwera proxy należy dodać do listy dozwolonych.

Aby utworzyć nową macierz w wyrażeniu RDL, tworzenie tablicy w metoda w klasie zdefiniować i dodać do listy Zezwalaj tej klasy.

Aby utworzyć nową macierz w RDL wyrażenie, należy wykonać następujące czynności:

  • Zdefiniowanie nowej klasy i tworzenie tablicy w metoda w tej klasie.

  • Klasę można dodać do listy dozwolonych.