Использование файлов политики безопасности служб Reporting Services

Службы Службы Reporting Services хранят сведения о политике безопасности компонентов в реестре и файлах конфигурации, которые копируются в файловую систему при установке. В этих файлах конфигурации хранится сочетание внутренней и пользовательской политики безопасности для сборок программного кода в службах Службы Reporting Services. Три файла конфигурации соответствуют трем защищаемым компонентам служб Службы Reporting Services: сервер отчетов и служба Windows, веб-приложение диспетчер отчетов и окно предварительного просмотра конструктора отчетов.

ПримечаниеПримечание

Для конструктора отчетов предусмотрено два режима предварительного просмотра: вкладка предварительного просмотра и всплывающее окно предварительного просмотра, которое вызывается при запуске проекта отчета в режиме DebugLocal. Вкладка Просмотр не является защищаемым компонентом, к ней не применяются параметры политики безопасности. Окно предварительного просмотра предназначено для имитации функциональной возможности сервера отчетов и поэтому имеет файл конфигурации политики безопасности, который необходимо изменить, если используются пользовательские сборки или пользовательские модули в конструкторе отчетов.

Файлы конфигурации политики безопасности содержат сведения класса безопасности, некоторые именованные наборы разрешений по умолчанию и группы программного кода для сборки в службах Службы Reporting Services. Файлы конфигурации политики безопасности служб Службы Reporting Services напоминают файл Security.config, который определяет иерархию группы кода и наборы разрешений, связанные с политиками на уровне компьютера и предприятия в .NET Framework. Этот файл находится в C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\security.config.

Файлы политик в службах Reporting Services

В следующей таблице приводится список файлов конфигурации в службах Службы Reporting Services, их расположение (предполагается установка по умолчанию) и соответствующие функции.

Имя файла.

Расположение (установка по умолчанию)

Описание

rssrvpolicy.config

C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer

Файл конфигурации политики безопасности сервера отчетов. Эти политики безопасности в первую очередь касаются выражений отчетов и пользовательских сборок после развертывания отчета на сервере отчетов. Этот файл также влияет на пользовательские данные, доставку, модули подготовки отчета и безопасности, развернутые на сервере отчетов.

rsmgrpolicy.config

C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager

Файл конфигурации политики диспетчера отчетов. Эти политики безопасности касаются всех сборок, расширяющих функции диспетчера отчетов, например расширения подписки для пользовательских модулей доставки.

rspreviewpolicy.config

C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies

Файл конфигурации политики изолированного предварительного просмотра для конструктора отчетов. Эти политики безопасности касаются пользовательских сборок и выражений отчета, которые используются в отчете во время предварительного просмотра и разработки. Они влияют также на пользовательские модули, например модули обработки данных, развернутые в конструкторе отчетов.

Изменение файлов конфигурации

Параметры конфигурации задаются либо как элементы XML, либо как атрибуты. Если вы знакомы с XML и файлами конфигурации, то можете использовать редактор текста или кода для настройки пользовательских параметров. Файлы конфигурации политики безопасности содержат сведения о иерархии группы программных кодов и набора разрешений, связанных с уровнем политики в службах Службы Reporting Services. Для изменения политики безопасности в файле Security.config рекомендуется использовать вначале программу настройки .NET Framework (Mscorcfg.msc) или программу политики управления доступом для кода (Caspol.exe), чтобы изменения политики соответствовали допустимым XML-элементам конфигурации для файлов политик. Сразу после этого можно вырезать и вставлять в файл политики новые группы кодов и наборы разрешений из файла Security.config для компонентов, к которым добавляются разрешения на программный код.

Важное примечаниеВажно!

До внесения изменений необходимо создать резервные копии файлов конфигурации политик.

При таком подходе достигается следующее. Во-первых, это дает возможность использовать визуальные средства при создании групп кодов и наборов разрешений для служб Службы Reporting Services. Это гораздо легче, чем писать XML-элементы конфигурации с самого начала. Во-вторых, обеспечивает сохранность файлов конфигурации политики безопасности при неправильных XML-элементах и атрибутах. Дополнительные сведения о программе политики управления доступом для кода см. в MSDN, раздел «Использование файлов политики безопасности служб Reporting Services».

Перед изменением файлов конфигурации политик следует прочитать все сведения, изложенные в этом разделе, а также относящиеся к нему темы. Изменение конфигураций политик служб Службы Reporting Services может в значительной степени повлиять на безопасность выполнения компонентами служб Службы Reporting Services внешних программных модулей.

Размещение элементов CodeGroup для модулей

Размещение элементов CodeGroup в файле политики безопасности имеет большое значение. Для модулей и разработанных пользовательских сборок рекомендуется размещать группы программного кода непосредственно под элементом URL-членства «$CodeGen$/*», как показано ниже:

<CodeGroup
    class="UnionCodeGroup"
    version="1"
    PermissionSetName="FullTrust">
    <IMembershipCondition 
        class="UrlMembershipCondition"
        version="1"
        Url="$CodeGen$/*"
    />
</CodeGroup>
<CodeGroup 
    class="UnionCodeGroup"
    version="1"
    PermissionSetName="FullTrust"
    Name="MyCustomCodeGroup"
    Description="Code group for my custom extension">
        <IMembershipCondition class="UrlMembershipCondition"
        version="1"
        Url="C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin\MyAssembly.dll"
        />
</CodeGroup>

Дополнительные группы программных кодов можно размещать одну за другой.