Вопросы безопасности для модулей
Все приложения, предназначенные для работы в среде CLR, должны взаимодействовать с системой безопасности этой среды. Такое приложение после вызова на выполнение автоматически проверяется средой CLR и получает от CLR набор разрешений. В зависимости от полученных разрешений приложение либо продолжает свою работу, либо вырабатывает исключение безопасности. Разрешения для кода, получаемые сборкой, определяются локальными параметрами безопасности и политиками в файлах конфигурации политики безопасности для конкретного сервера отчетов.
Прежде чем запрашивать разрешения, необходимо определить, какие ресурсы и защищенные операции намечено использовать в коде модуля, а также знать о том, какие разрешения применяются для защиты этих ресурсов и операций. Кроме того, необходимо следить за всеми ресурсами, доступ к которым получают любые методы библиотеки классов, вызываемые компонентами модуля. Дополнительные сведения см. в разделе «Запрос на разрешения» документа «Руководство разработчика .NET Framework».
Модули, развернутые на сервере отчетов, должны эксплуатироваться как полностью доверенные, а это означает, что модуль должен входить в состав группы кода, которой предоставлен набор разрешений FullTrust. Это также означает, что модуль может иметь доступ к определенным ресурсам и операциям сервера, предоставляемым средой CLR, в зависимости от того, какой пользователь прошел проверку подлинности для работы с конкретным отчетом. Дополнительные сведения о группах и пользователях см. в разделе Управление доступом для кода в службах Reporting Services.
Примечание по безопасности |
---|
В службе Службы Reporting Services принудительно применяется режим безопасности .NET Framework для всех собственных модулей. |
При развертывании модулей обработки данных, доставки, подготовки к отображению и безопасности службы Службы Reporting Services должны соблюдаться следующие условия:
Разрешение на развертывание модуля имеет только местный администратор.
Файлы конфигурации для расширяемого компонента Службы Reporting Services могут изменять только пользователи с соответствующими разрешениями на чтение и запись.
Изменять файлы политики безопасности и включать управление доступом для модуля разрешается только привилегированным пользователям.
Дополнительные сведения об управлении доступом для кода в службах Службы Reporting Services см. в разделе Разработка безопасных приложений (службы Reporting Services).
Дополнительные сведения о средствах безопасности .NET Framework см. в разделе «Безопасность .NET Framework» документа «Руководство разработчика .NET Framework».
Инициализация сборок модуля
При первоначальной загрузке сервером отчетов модулей в память в них используются учетные данные этой службы, поскольку некоторым сборкам модулей требуются специальные разрешения для доступа к системным ресурсам, чтения файлов конфигурации и загрузки других, зависимых сборок. Но после загрузки и инициализации сборки все последующие вызовы сборок модуля осуществляются с использованием учетных данных пользователя, который в данный момент зарегистрирован в системе.
См. также
Справочник
Библиотека модулей служб Reporting Services