Настройка и развертывание безопасных веб-частей на сервере (Office SharePoint Server)
В комплект Microsoft Office SharePoint Server 2007 входит набор веб-частей, которые администраторы сайта могут добавлять на страницах веб-частей после установки продукта. Однако организации могут понадобиться настраиваемые веб-части. В этом случае разработчик создает в ASP.NET 2.0 веб-части в соответствии с требованиями заказчика и предлагает установить их в развертывании Office SharePoint Server 2007.
В Office SharePoint Server используются некоторые параметры управления конфигурацией Microsoft .NET Framework. Некоторые из них хранятся в файлах конфигурации XML и предоставляют широкий диапазон параметров, позволяющих администраторам серверов управлять веб-приложением и его средой. Дополнительные сведения о файлах конфигурации ASP.NET 2.0 см. в статье Сведения о файлах Machine.Config и Web.Config (https://go.microsoft.com/fwlink/?linkid=103450&clcid=0x419) в разделе "Обеспечение безопасности приложений и веб-служб ASP.NET", которая доступна в библиотеке MSDN в сети.
Параметры конфигурации
Системные администраторы могут развертывать веб-части ASP.NET 2.0 в развертывании Office SharePoint Server в одном из двух местоположений:
Каталог bin Хранится в корневом каталоге веб-приложения.
Глобальный кэш сборок Все стандартные веб-части автоматически устанавливаются с использованием среды CLR пакета .NET Framework. Сохранение в глобальном кэше сборок позволяет обеспечить нескольким приложениям общий доступ к веб-частям. Обычно компоненты хранятся в папке C:\WINNT\Assembly.
У каждого местоположения есть свои преимущества и недостатки, описанные в следующей таблице.
Место развертывания | Достоинства | Недостатки |
---|---|---|
Каталог bin |
Частично доверенное местоположение. По умолчанию код, запущенный из этой папки, имеет низкий уровень разрешений на доступ к коду. Администратор должен в явной форме повысить уровень разрешений веб-части для обеспечения ее нормальной работы. Из-за этого уровня контроля и глубокой защиты администраторы предпочитают запускать сборки в каталоге bin, с известным набором требуемых разрешений на доступ к коду. Кроме того, каталог bin относится к конкретному приложению. Это позволяет изолировать код для определенного веб-приложения. |
Чтобы запускать веб-часть в любом приложении, необходимо развернуть сборку корзины. |
Глобальный кэш сборок |
Глобальное местоположение, где можно развернуть подписанные сборки. По умолчанию сборки запускаются с полным доверием. Они устанавливаются глобально и работают в любом веб-приложении. |
Обычно для кода, установленного в глобальном кэше сборок, отсутствуют ограничения системы безопасности на доступ к коду; следовательно, теряется преимущество глубокой защиты. Кроме того, могут возникнуть проблемы с развертыванием файлов базы данных программы (.pdb) для сборок в глобальном кэше сборок. |
Настройка специальных атрибутов безопасности
На веб-части ASP.NET 2.0, хранящихся в каталоге bin, накладываются определенные ограничения по безопасности. Для веб-части можно при желании настроить специальные атрибуты безопасности, в зависимости от запланированного использования.
Каталог bin — это частично доверенное местоположение. Следовательно, при выполнении веб-части она не предоставляет коду разрешения "Полное доверие" автоматически. Поскольку код, обращающийся к веб-части, получает только разрешения "Частичное доверие", разработчик должен для веб-части ASP.NET 2.0 задать атрибут AllowPartiallyTrustedCallers.
Примечание
Если компонент с помощью атрибута AllowPartiallyTrustedCallers помечен как безопасный, ответственность за безопасность внедрения ложится на разработчика.
По умолчанию установлен очень низкий уровень разрешений системы безопасности на доступ к коду для каталога bin: разрешено только чистое выполнение. Для нормальной работы сборки практически наверняка придется повысить этот уровень.
Можно повысить уровень разрешений двумя способами:
Создайте файл политики доверия и укажите этот новый файл в файле Web.config. Этот вариант сложнее, но он позволяет более точно настроить разрешения для веб-частей. Подробнее о файлах политики доверия см. в статье Microsoft Windows SharePoint Services и обеспечение безопасности при доступе к коду (https://go.microsoft.com/fwlink/?linkid=103436&clcid=0x419) в библиотеке MSDN в сети (рекомендуемый способ).
Поднимите общий уровень доверия каталога bin. Найдите в файле Web.config, расположенном в корневом каталоге приложения, элемент
trust
. Значение атрибутаlevel
элементаtrust
по умолчанию: WSS_Minimal. Этот уровень можно заменить на WSS_Medium. Этот вариант проще, но он произвольно предоставляет новые разрешения, которые, возможно, не требуются, и к тому же не так безопасен, как создание файла политики безопасности.
Список безопасных элементов управления
Фундаментальная предпосылка продуктов и технологий SharePoint состоит в том, что пользователи, не являющиеся доверенными, могут загружать и создавать страницы ASPX в системе, где работает Office SharePoint Server. Этим пользователям необходимо запретить добавлять серверный код на страницы .aspx, но необходимо создать список утвержденных элементов управления, которые они могут использовать. В Office SharePoint Server они содержатся в списке безопасных элементов управления.
В этом списке перечислены элементы управления и веб-части, относящиеся к сайту SharePoint, которые администраторы сервера могут назвать безопасными для вызова на любых страницах ASPX в пределах сайта. Этот список хранится в файле Web.config корневого каталога веб-приложения.
Требования задачи
Для выполнения процедур этой задачи необходимо следующее.
- Права администратора на сервере, на котором установлен один из серверных продуктов из выпуска 2007 системы Microsoft Office
Для настройки и развертывания безопасных веб-частей на сервере можно выполнить процедуры в следующих разделах.