.
Конечно, безопасность является достаточно обширной темой, охватывающей не только администраторов ферм SharePoint, но и администраторов серверов, сети и баз данных. А через делегирование функций управления администраторам семейств узлов и владельцам узлов в бизнес-подразделениях безопасность затрагивает и конечных пользователей.
Для эффективного применения ориентированных на бизнес политик управления информацией необходимо также тесное сотрудничество с бизнесом. Для удовлетворения запросов большого числа заинтересованных сторон SharePoint 2010 предлагает гибкую модель безопасности, поддерживающую несколько типов проверки подлинности и уровней авторизации разрешений.
Однако эта гибкость имеет и обратную сторону: без ясной опубликованной стратегии управления разрешениями в вашей организации хаос в вопросах безопасности может сделать повседневную работу весьма затруднительной. Неудивительно, что с таким количеством неизвестных уравнение безопасности может оказаться очень сложным. Однако не сомневайтесь, что, вооружившись четким пониманием требований безопасности, набором технических руководств и здравым смыслом, вы вполне сможете построить модель безопасности, которая будет и эффективной, и устойчивой.
Логическая иерархия SharePoint
Перед тем как приступить к настройке разрешений, предлагаю обсудить базовую терминологию среды SharePoint. Понятие фермы SharePoint включает в себя все серверы (серверы веб-интерфейса, серверы приложений и серверы баз данных), которые совместно предоставляют пользователям доступ к службам SharePoint. Внутри фермы содержимое организовано в виде структурированной иерархии, как показано на рисунке 1. Назначением этой иерархии является организация и защита большого объема информации, хранящейся в SharePoint.
Рисунок 1. Логическая иерархия SharePoint |
Защита фермы
Несмотря на всю важность данной задачи, защита фермы представляет собой достаточно простой процесс. Система разрешений устроена очень просто: вы либо администратор фермы, либо нет. Администратор фермы имеет полный контроль над всей фермой, включая управление веб-приложениями, запуск и остановку служб, резервное копирование и восстановление фермы, то есть доступ ко всем задачам, находящимся в Центре администрирования, административном веб-интерфейсе SharePoint. Администратор фермы может предоставлять кому угодно доступ к части или ко всему содержимому в SharePoint. Роль администратора фермы имеет очень широкие полномочия, и надо соблюдать особую осторожность, предоставляя кому-либо такой уровень доступа.
Доступ администратора фермы предоставляется путем добавления в Центре администрирования пользователей или групп Active Directory (AD) в группу администраторов фермы.
- В Центре администрирования перейдите по ссылке Security и выберите Manage The Farm Administrators Group.
- Добавьте или удалите пользователей или группы AD.
Замечание. Для выполнения определенных задач, таких как создание веб-приложения, вам также необходимо быть локальным администратором системы Windows на сервере (или серверах), на котором работает веб-приложение Центра администрирования.
Предоставление доступа к среде PowerShell
Хотя для многих повседневных операций обычно используется Центр администрирования, среда Windows PowerShell является мощным инструментом для администрирования и автоматизации функций SharePoint с помощью интерфейса командной строки. Более подробно использование PowerShell с SharePoint описано в статьях «Using Windows PowerShell to Manage SharePoint 2010» (http://sharepointpromag.com/article/sharepoint/using-windows-powershell-to-manage-sharepoint-2010) и « PowerShell для администраторов SharePoint», опубликованной в Windows IT Pro/RE № 12 за 2011 год.
Для предоставления кому-либо доступа к выполнению команд PowerShell следует использовать команду Add-SPShellAdmin. Эта команда предоставляет необходимые разрешения доступа к серверам SharePoint, базе данных настроек и базе данных содержимого SharePoint. Если вы запускаете эту команду без указания базы данных, пользователю предоставляется доступ только к ферме, но не к базам данных контента. Для предоставления разрешения выполнять все команды для работы с базой данных содержимого (например, использовать Get-SPWeb для получения доступа к узлу), надо выполнить данную команду с параметром -database.
Чтобы выполнить команду Add-SPShellAdmin для предоставления доступа к PowerShell, вы должны быть администратором фермы, локальным администратором на сервере, на котором выполняется эта команда, и администратором безопасности на сервере (или серверах) баз данных, разрешения на доступ к которым вы предоставляете.
Защита веб-приложения
Веб-приложение — это точка входа пользователя в SharePoint. Веб-приложение состоит из одного или нескольких веб-сайтов службы Microsoft Internet Information Server (IIS), которые управляют тем, как осуществляется проверка подлинности пользователя (или не осуществляется, если разрешен анонимный доступ). В организациях обычно используются несколько веб-приложений для изоляции определенных типов содержимого или наборов пользователей, таких как Record Center или внешняя сеть. При предоставлении разрешений к веб-приложению единственной целью является контроль доступа к содержимому семейства узлов, связанных с данным веб-приложением. Другими словами, невозможно кому-либо предоставить разрешения для администрирования отдельного веб-приложения, администрировать веб-приложения могут только администраторы фермы, они имеют административный контроль над всеми веб-приложениями.
Для настройки разрешений на доступ к контенту в веб-приложении необходимо внести изменения в политикe пользователей для данного веб-приложения. Это можно сделать в Центре администрирования.
- Откройте ссылку Application Management.
- Выберите Manage Web Applications.
- Отметьте нужное веб-приложение и нажмите на ленте кнопку User Policy.
- Установите соответствующие разрешения.
Поскольку разрешения могут быть также назначены для отдельных семейств узлов (которые мы рассмотрим в следующем разделе), этим способом они обычно и не назначаются. Данный метод является очень мощным и используется в особых случаях. Например, вы можете задействовать его для предоставления доступа «только чтение» для аудиторов, чтобы обеспечить им доступ ко всем семействам узлов веб-приложения. Более того, политика веб-приложения является единственным способом запретить доступ к SharePoint. Запрет доступа имеет приоритет перед всеми другими предоставленными разрешениями. Вдобавок ни одно из разрешений, предоставленных на уровне веб-приложения, не является видимым на более низком уровне. Например, администратор семейства узлов не может видеть, кому предоставлены разрешения через политику веб-приложения. И еще раз, данный метод настройки разрешений является эффективным, но потенциально сбивающим с толку, поэтому используйте его с большой осторожностью!
Включение анонимного доступа
Анонимный доступ позволяет гостевым пользователям, не прошедшим проверку подлинности, получить доступ к веб-приложению SharePoint. Анонимный доступ обычно используется для сайтов, доступных из Интернета, но может применяться и во внутренних сетях компании. Анонимный доступ может быть разрешен и при проверке подлинности, основанной на утверждениях, и при классической проверке подлинности. Включить анонимный доступ можно следующим образом:
- В Центре администрирования откройте ссылку Application Management.
- Выберите Manage Web Applications.
- Отметьте нужное веб-приложение и нажмите на ленте кнопку Authentication Providers.
- Выберите зону (она позволяет открывать веб-приложение с уникальным для зоны URL; вы можете иметь до пяти зон для каждого веб-приложения; все зоны имеют доступ к базам данных содержимого и семействам узлов, связанным с веб-приложением).
- Поставьте галочку Enable Anonymous Access и нажмите кнопку Save для сохранения изменений.
По умолчанию анонимные пользователи не имеют доступа к семействам узлов до тех пор, пока им не будут предоставлены разрешения. Следовательно, после включения анонимного доступа вам необходимо назначить разрешения, которые будут иметь анонимные пользователи (я расскажу об этом в разделе «Предоставление анонимного доступа»).
Защита семейства узлов
Несмотря на то, что с помощью политики веб-приложения можно предоставить разрешение на доступ к нескольким семействам узлов, оставьте этот метод для особых случаев. Пользователи проходят проверку подлинности на уровне веб-приложения, а авторизация доступа обычно производится на уровне семейства узлов. Другими словами, в повседневном управлении разрешениями вам необходимо назначать разрешения именно для семейств узлов.
По умолчанию разрешения наследуются сверху вниз на все веб-сайты, списки, библиотеки, папки и элементы в иерархии семейства узлов. Таким образом, разрешения, назначенные для сайта верхнего уровня, применяются вплоть до документов, размещенных в глубине семейства узлов. Как будет показано ниже, это наследование можно отключить.
Самым высоким уровнем доступа в семействе узлов обладает администратор семейства. Данный пользователь имеет неявный доступ ко всему контенту SharePoint (сайты, списки, библиотеки, элементы) в данном семействе узлов, даже при отсутствии явно назначенных разрешений. В Центре администрирования администратор фермы может указать до двух администраторов для каждого семейства узлов. При этом внутри семейства узлов его администратор при необходимости может добавить дополнительных администраторов.
Простым пользователям, не администраторам, доступ предоставляется через семейство узлов. В действительности каждое семейство узлов управляется отдельно, что делает семейства узлов гибкими административными единицами с делегируемым администрированием. Поскольку администрирование осуществляется внутри семейства узлов, а не в Центре администрирования, задачи администрирования часто назначаются обученным бизнес-пользователям, выполняющим функции поддержки. Разумеется, в зависимости от архитектуры вашего семейства узлов, определение административных границ может оказаться нелегкой задачей. Например, для предоставления доступа к нескольким семействам узлов вам придется для каждого из этих семейств по отдельности предоставлять доступ соответствующему пользователю или группе пользователей.
Если пользователь пытается получить доступ к сайту, не имея разрешений, возникает ошибка отказа в доступе. Однако вы можете получить запрос пользователя на доступ и с этой страницы с ошибкой. Более подробная информация об этом приводится в статье «How to Manage SharePoint Site Access Requests» (http://www.brainlitter.com/2011/04/23/how-to-manage-sharepoint-site-access-requests/).
Группы SharePoint
Как и во многих других системах, для упрощения назначения разрешений большому количеству пользователей в SharePoint применяются группы. Заметим, что группы SharePoint создаются отдельно для каждого семейства узлов. Таким образом, вы не сможете использовать одну группу SharePoint для предоставления доступа к нескольким семействам узлов. Это может быть и удобно, если вам необходимо раздельное администрирование, и не очень (в противоположном случае). Кроме того, группы SharePoint не могут быть вложенными, то есть вы не сможете поместить одну группу SharePoint в другую. Однако некоторые из этих ограничений не относятся к группам безопасности AD. Например, вы можете назначить одной группе AD разрешения для нескольких семейств узлов. Для более четкого понимания приведу полный список разных способов назначения разрешений для семейства узлов:
- включите одного или нескольких пользователей в группу SharePoint и предоставьте этой группе разрешения;
- включите одного или нескольких пользователей в группу безопасности AD и предоставьте этой группе разрешения;
- включите одного или нескольких пользователей в группу безопасности AD, включите данную группу AD в группу SharePoint (такой вид вложения разрешается) и группе SharePoint предоставьте разрешения;
- предоставьте разрешения одному или нескольким пользователям напрямую, без использования групп.
Разрешения пользователям или группам назначаются путем предоставления уровней разрешений. Каждое семейство узлов имеет собственный встроенный набор уровней разрешений; вы наверняка знакомы с некоторыми из них (например, Full Control, Design, Contribute, Read). Вы также можете создавать свои уровни разрешений для более гибкого управления доступом. Перечислим шаги, необходимые для предоставления разрешений в семействе узлов.
- В семействе узлов откройте меню Site Actions и выберите пункт Site Permissions.
- На ленте нажмите кнопку Grant Permissions.
- В диалоговом окне выберите нужных пользователей, группы SharePoint или группы безопасности AD.
- Укажите, хотите ли вы включить этих пользователей в группу SharePoint или предоставить им разрешения напрямую (если вы в пункте 3 выбрали одну или несколько групп SharePoint, то разрешения теперь можете назначать только напрямую).
- Дополнительно можете отправить данным пользователям уведомления по электронной почте.
При создании новой группы SharePoint также можно назначить разрешения этой группе. Это облегчает процесс назначения разрешений, так как вам нужно будет только добавить пользователей в эту группу. Новые группы SharePoint можно создавать на той же странице Site Permissions, на которой вы предоставляете разрешения.
При создании нового семейства узлов автоматически создаются три группы SharePoint по умолчанию: Owners (владельцы, имеющие доступ Full Control), Members (члены, имеющие уровень доступа Contribute) и Visitors (посетители, с уровнем доступа Read-Only).
Наследование разрешений
По умолчанию разрешения, назначенные для узла верхнего уровня семейства узлов, применяются ко всему контенту в иерархии семейства узлов (как показано на рисунке 1). Такой подход называется «наследованием разрешений», и он очень упрощает управление разрешениями.
Однако вы наверняка думаете о случаях, когда нужно устанавливать особые разрешения для какого-либо уровня в иерархии. Например, вам может потребоваться для какого-то узла из семейства узлов предоставить разрешение только для менеджеров. В SharePoint можно заблокировать наследование разрешений для четырех различных объектов в семействе узлов: узлы, списки/библиотеки, папки и элементы. Блокируя наследование разрешений, вы для данного объекта можете задать особый список управления доступом (ACL), который затем каскадом распространяется на более низкие уровни. Это позволяет создавать шаблоны особых наборов разрешений для вашего контента. Однако будьте осторожны: чем чаще вы отменяете наследование, тем более сложным со временем становится управление разрешениями. Другим побочным эффектом блокировки наследования часто становится значительное снижение производительности SharePoint. Как правило, блокировка наследования должна применяться только в виде исключения, и вам для этого потребуется соответственно строить структуру узлов, библиотек и папок. На рисунке 2 показан пример наследования разрешений.
Рисунок 2. Действие наследования разрешений |
Основные шаги при блокировке наследования и назначении разрешений для разных типов объектов одни и те же. Для сайта используйте ссылку Site Permissions в меню Site Actions. Для списка или библиотеки используйте страницу настроек этого списка или библиотеки. Для папки или элемента откройте контекстное меню объекта, иногда называемое блоком управления редактированием. Если у объекта заблокировано наследование разрешений, то наследование можно вернуть, но при этом все настроенные особые разрешения будут утеряны.
Однако несмотря на все ваши усилия управление разрешениями все же может выйти из-под контроля. Хорошим способом предупредить возникновение этой проблемы является наличие хорошего плана, содержащего для пользователей с административными полномочиями ясные указания, как применять группы и в каких случаях нужна блокировка наследования. Еще один способ — использование сторонних программных продуктов, таких как DocAve Administrator компании AvePoint, способных оказать помощь в управлении разрешениями по всей ферме с помощью одной операции. Подобные инструменты также помогают соблюдать политики безопасности, изложенные в руководствах.
Предоставление анонимного доступа
Если для веб-приложения включен анонимный доступ, вы можете определить, какие именно разрешения получает анонимный пользователь.
- Откройте страницу разрешений объекта, как описано в предыдущем разделе.
- Если необходимо, для блокировки наследования нажмите на ленте кнопку Stop Inheriting Permissions (нельзя настроить анонимный доступ для объекта, который наследует разрешения от своего родительского объекта).
- Нажмите на ленте кнопку Anonymous Access.
- Выберите разрешения, предоставляемые анонимным пользователям. Доступный набор разрешений будет различным для объектов разных типов.
- Нажмите кнопку «OK» для сохранения изменений.
Надеюсь, что данный обзор способов обеспечения безопасности будет полезен тем, кто уже имеет базовые знания о SharePoint. Теперь вы должны хорошо понимать возможности авторизации SharePoint и некоторые их ограничения. Вы научились назначать администраторов фермы и оболочки PowerShell, настраивать политику пользователей веб-приложения и задавать разрешения для всех четырех типов объектов в семействе узлов, для которых это можно делать (узел, список/библиотека, папка и элемент). Не забывайте также о действиях по включению анонимного доступа и настройке анонимных разрешений.