Поделиться через


Использование файлов политики безопасности служб 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>  

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

См. также:

Основные сведения о политиках безопасности