Sharepoint изнутри: Децентрализованное администрирование узла

OSzone.net » Microsoft » Sharepoint » Sharepoint изнутри: Децентрализованное администрирование узла
Автор: Пав Черны
Иcточник: TechNet Magazine
Опубликована: 27.06.2008

Службы Microsoft Windows SharePoint Services (WSS) 3.0 и Microsoft Office SharePoint Server (MOSS) 2007 поддерживают гибкое администрирование и модель безопасности, которая позволяет организациям информационных технологий централизовать контроль над компонентами инфраструктуры, такими как веб-серверы и серверы баз данных, а также децентрализовать контроль над семействами веб-узлов и узлами. Централизация инфраструктуры SharePoint® позволяет сократить издержки по поддержанию, консолидировать бизнес-логику, предоставить единую точку доступа к ресурсам SharePoint и избежать лишних затрат на развитие технологии.

В то же время децентрализованное администрирование узла позволяет гарантировать, что отдельные подразделения сохраняют автономный контроль над своими наборами веб-узлов SharePoint, узлами, библиотеками документов, списками, решениями по управлению и прочими ресурсами SharePoint. Однако побочным эффектом делегирования администрирования узлов отделам будет усложнение задач обслуживания для отдела информационных технологий. Например, как вы собираетесь отслеживать использование ресурсов, утратившие срок действия узлы SharePoint и устаревшие данные в централизованной инфраструктуре, если у вас нет доступа к семействам веб-узлов и узлам через вашу среду?

В этой статье я расскажу о модели безопасности WSS 3.0, включая ее преимущества и недостатки вследствие делегирования административного управления отдельными подразделениями через узлы SharePoint, при поддержании централизованного административного контроля над инфраструктурой SharePoint. Я покажу, как работает делегированное администрирование узла, как полномочия на доступ и ограничение безопасности на уровне узла, списка и элемента позволяют организовать безопасную и удобную для пользователя рабочую среду, и то, как веб-администраторы ферм могут получить доступ к необходимым статистическим данным узла, не нарушая ограничений SharePoint по уровню доступа.

Если вы хотите проследить мои объяснения на практических примерах, загрузите сопроводительный материал к этой статье, расположенный по адресу technetmagazine.com. В состав этого материала входят подробные инструкции по развертыванию веб-фермы на базе Windows Server® 2008, которая представляет собой наглядный пример производственной среды компании, имеющей множество подразделений.


Инфраструктура SharePoint и администрирование семейства узлов

Можно построить инфраструктуру SharePoint, основанную на развертывании одиночного сервера либо фермы веб-узлов. На деле компании используют обе структуры. Развертывание на одиночном сервере удобно для отдельных подразделений, которым необходимо быстрое и простое решение для совместной работы. Требования к производительности и надежности минимальны. Обычно пользователи должны понимать, что если сервер SharePoint их подразделения, зачастую развертываемый на оборудовании рабочей станции, оказывается недоступным вследствие проведения работ по обслуживанию, то это является заботой самого подразделения, и что пользователи, работающие в этом подразделении, не являются администраторами отдела ИТ.

Картина меняется полностью, если серверные ресурсы обслуживаются отделом ИТ. Производительность и надежность становятся важнейшими факторами, зачастую требующими развертывания сверхнадежных решений, которые гарантируют соответствие соглашению об уровне обслуживания (SLA). Сбалансированные по загрузке веб-фермы, кластеры SQL Server®, переключаемые при сбое, и базы данных, хранящиеся в сетях областей хранения (SAN), могут помочь обеспечить соответствие требованиям вашей компании по производительности и надежности. См. рис. 1, на котором показана такая архитектура.

Рис. 1 Инфраструктура SharePoint с переключаемым при сбое кластером SQL Server и SAN 

Как видно на рис. 1, для обслуживания ресурсов в централизованной инфраструктуре SharePoint должны работать несколько администраторов, при этом каждый из них видит рабочую среду под своим углом зрения. Например, серверы в инфраструктуре прозрачны для администраторов семейств узлов. Администраторы семейств узлов работают со стандартным пользовательским интерфейсом SharePoint. Этот интерфейс не меняется в зависимости от того, расположены ли ваши узлы на компьютере, работающем под WSS 3.0 в вашем офисе, или на веб-ферме в центре данных.

Инфраструктура SharePoint также прозрачна для администраторов баз данных и инженеров хранения данных в SAN. Для этих администраторов базы данных SharePoint не отличаются от других бах данных SQL Server, а логические номера устройств (LUN) для кластера SQL Server, переключаемого при сбое, не отличаются от любых других номеров LUN. Администратор, который наиболее тесно работает с инфраструктурой SharePoint, – это администратор веб-фермы, при этом он не может управлять ни семействами веб-узлов, ни базами данных, ни номерами LUN.

Удивительно, но администраторы семейств веб-узлов отделов совершенно несведущи в деталях инфраструктуры. В конце концов, чтобы проводить обеспечение узлов и делегировать полномочия на доступ командам и группам внутри подразделения, нет никакой необходимости знать эти детали. Достаточно создать новый узел и начать работу, и такие проблемы, как высокая стоимость хранения информации, связанные с технологией SAN, вряд ли придут на ум.

С каждым проектом и работой появляются новые узлы групп, утратившие срок действия веб-узлы отмирают, просроченное содержимое не удаляется, и среда SharePoint стремительно разрастается, подобно грибам, пока не достигнет пределов, которые системный администратор не в силах терпеть. Например, внутренняя среда SharePoint в корпорации Майкрософт однажды состояла более чем из 180 000 веб-узлов, пока специалисты по ИТ компании не начали в 2006 году процедуру упрощения.

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

Просроченное содержимое не обязательно станет причиной превышения семейством веб-узлов установленной квоты. Конечно, вы можете настроить SharePoint таким образом, чтобы он отправлял уведомления по электронной почте владельцам семейств веб-узлов и автоматически удалял неиспользуемые семейства веб-узлов по истечении установленного периода с помощью функции подтверждения использования и удаления узла с административного узла SharePoint 3.0 Central Administration, но эти функции неработоспособны на уровне отдельного узла. Семейство веб-узлов может содержать как рабочие, так и вышедшие из употребления узлы, но функции подтверждения использования и удаления узла не будут работать при таком уровне детализации.

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


Децентрализованное администрирование веб-узла SharePoint

Делегирование привилегий администратора веб-узла SharePoint очень эффективно. Используя веб-узел SharePoint 3.0 Central Administration, средство командной строки Stsadm.exe или специально написанную программу, можно создавать внутри инфраструктуры веб-приложения, управляемые пути и семейства веб-узлов. В качестве администратора веб-фермы при создании семейства веб-узлов вы можете назначать основного и вспомогательного администраторов. Эти администраторы могут быть простыми пользователями домена. Предоставлять им полномочия администратора для веб-фермы или других серверов инфраструктуры не требуется. Для выполнения задач администрирования веб-узлов они пользуются своим веб-обозревателем непосредственно в интерфейсе пользователя SharePoint.

На рис. 2 показано администрирование делегированного веб-узла в соответствии с поэтапными указаниями, которые вы получаете в сопровождающих справочных материалах. В данном примере администратор веб-фермы обеспечивал отдельные семейства веб-узлов отдела кадров (http://sharepoint/hr) и отдела ИТ (http://sharepoint/it).

Рис. 2 Администрирование делегированного веб-узла SharePoint

Администраторы отдела кадров (HR) и ИТ (IT) могли использовать функции Sites и Workspaces, доступные через меню Site Actions в пользовательском интерфейсе SharePoint, и создавать с их помощью веб-узлы подчиненного уровня, а также предоставлять полномочия на доступ из родительского узла или определять новые полномочия администратора и пользователя для узлов подуровней. Обратите внимание, что если это не настроено явно, то у администратора веб-фермы не будет доступа к веб-узлам верхнего и нижнего уровней; администратор отдела кадров не будет иметь доступа к веб-узлам отдела ИТ, а администратор ИТ не будет иметь доступа к веб-узлам отдела кадров, несмотря на то, что они находятся в одной среде SharePoint.

Устройство семейств веб-узлов и иерархии веб-узлов зависит от организационных требований. В примере, показанном на рис. 2, я не смог создать основной узел над http://sharepoint/hr и http://sharepoint/it. Другими словами, по пути http://sharepoint нет семейства веб-узлов. Но вы сможете просто создать семейство веб-узлов по этому пути или использовать другие управляемые пути, например http://sharepoint/sites/hr и http://sharepoint/sites/it.

Вы также можете создать отдельные веб-приложения для отдела кадров и отдела ИТ, чтобы установить более интуитивно понятные базовые адреса URL, такие как http://hr и http://it, представляющие собой веб-порталы общего назначения указанных отделов, а затем использовать веб-компоненты типа списков для отображения на этих главных узлах информации о веб-узлах нижних подуровней. Отдельные семейства веб-узлов облегчают задачу автономного администрирования; помогают ограничить доступ к информации отдела; предоставляют возможность выполнять настройку Главных страниц, разметки страниц, шаблонов, веб-компонентов и органов управления; а также могут быть использованы для размещения конфиденциальных данных в выделенных базах данных содержимого, отдельно от других семейств веб-узлов и баз данных содержимого.


Роли, полномочия для веб-узлов и ограничение безопасности

После того как семейство веб-узлов создано и назначены полномочия администраторов, администратор семейства веб-узлов может открыть узел верхнего уровня и использовать для управления семейством веб-узлов функцию Site Settings, которая находится в меню Site Actions. Сюда входят добавление (или удаление) других администраторов семейства веб-узлов с полными полномочиями для всех узлов в семействе, создание групп, назначение этим группам ролей, а также добавление в группы пользователей с делегированием им прав чтения или участника групп. В перечень задач входит также создание групповых узлов нижних подуровней и узлов групп.

Хотя вы можете назначать полномочия SharePoint каждому пользователю индивидуально, лучшим решением будет создание групп SharePoint с определенными ролями. Например, SharePoint имеет три группы с ролями по умолчанию Visitors (посетители), Contributors (участники) и Owners (владельцы). Посетители имеют доступ только для чтения; участники могут добавлять элементы в списки и лаборатории документов, а также персонализировать веб-страницы; владельцам предоставляется полное управление.

Одна замечательная особенность состоит в том, что SharePoint производит ограничение безопасности, основываясь на роли пользователя: это означает, что пользователи видят в пользовательском интерфейсе только те связи и элементы, на доступ к которым у них фактически имеются полномочия. Если вы запретите пользователю доступ к ресурсу, такому как список (путем настройки явных полномочий на доступ с помощью параметров List Settings) или отдельный элемент списка (с помощью команды Manage Permissions в контекстном меню элемента), этот список или элемент списка исчезнет у этого пользователя. Если пользователь укажет в обозревателе непосредственно URL-адрес этого элемента, то он получит сообщение об ошибке: Отказ в доступе.

На рис. 3 показана работа фильтра безопасности. Администратор узла отдела кадров (HR) имеет полный доступ и может использовать меню Site Actions для выполнения административных задач. Посетитель узла HR, с другой стороны, имеет полномочия только на чтение семейства улов и не может видеть это меню.

Рис. 3 Ограничения безопасности, основанные на ролях пользователей, в интерфейсе SharePoint

Ограничение безопасности используется для сокрытия недоступных функций, ссылок и элементов, но оно также подразумевает, что администраторы ферм веб-узлов не смогут просматривать веб-узлы и ресурсы узлов с помощью пользовательского интерфейса SharePoint, не имея доступа к ним. Вы не сможете просматривать эти ресурсы в веб-страницах или веб-компонентах. Более того, недоступные ресурсы не будут отображаться в результатах поиска, поскольку SharePoint Enterprise Search осуществляет фильтрацию ограничения безопасности во время обработки запроса, основываясь на сведениях о правах пользователя, делающего это запрос.


А что там с командной строкой?

Если графический интерфейс пользователя не обеспечивает доступа к требуемой информации без повышения прав доступа к данному уровню семейства веб-узлов, возможно, вас сможет выручить средство командной строки Stsadm.exe. Например, вы полагаете, что можно использовать следующую команду

Stsadm -o enumsites -url http://sharepoint

, чтобы вывести список всех семейств веб-узлов и владельцев по адресу http://sharepoint Web app. Теперь вы должны вывести список все дочерних узлов с помощью команды:

Stsadm -o enumsubwebs -url <site collection>

Но в среде веб-фермы программа Stsadm.exe выдаст сообщение об ошибке, указав, что разрешение на доступ к базе данных отсутствует. Stsadm.exe не сможет вывести последовательно все семейства веб-узлов, даже если вы администратор фермы и можете управлять коллекциями веб-узлов в SharePoint 3.0 Central Administration. Если вы использовали программу Stsadm.exe на ферме веб-узлов, не имея полномочий на доступ к SQL Server, будет выведено следующее сообщение об ошибке:

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\BIN>stsadm -o enumsites -url http://sharepoint

<Sites Count="2">

<Site Error="Невозможно открыть базу данных &quot;WSS_Content&quot; запрошенную при загрузке в систему. Вход в систему отменен.&#xD;&#xA;Вход в систему пользователя 'CONTOSO\SPAdmin'.">

<Site Error="Невозможно открыть базу данных &quot;WSS_Content&quot; запрошенную при загрузке в систему. Вход в систему отменен.&#xD;&#xA;Вход в систему пользователя 'CONTOSO\SPAdmin'."> />

Администратор фермы веб-узлов получит это сообщение об ошибке, потому что программа Stsadm.exe работает с учетом того, что в системе зарегистрирован пользователь, например, CONTOSO\SPAdmin; в то время как узел SharePoint 3.0 Central Administration получает доступ к базам данных SharePoint в контексте того, что системная учетная запись связана с пулом приложений SharePoint Central Administration v3, то есть CONTOSO\WssConfigAdmin. Хотя предоставление вашей учетной записи полномочий db_owner для базы данных содержимого SQL Server позволяет вам использовать команду Stsadm -o enumsites -url http://sharepoint, вы по-прежнему не имеете возможности просматривать списки веб-узлов подуровней внутри семейств веб-узлов. Команда Stsadm -o enumsubwebs -url <site collection> выдаст сообщение «Отказано в доступе. (Исключение от HRESULT: 0x80070005 (E_ACCESSDENIED))», и вы возвращаетесь на начало. Однако есть лучший, более успешный путь, который не требует повышенного уровня полномочий для SQL Server.


Информация о веб-узлах в базах данных содержимого

Если вы не можете получить требуемую информацию с помощью стандартных интерфейсов и средств SharePoint, вам необходимо обратиться напрямую к базам данных содержимого SharePoint. Но вначале предупреждение: это должна быть крайняя мера! Базы данных основаны на собственных схемах и структурах баз данных, которые документированы компанией Майкрософт в WSS 3.0 SDK лишь частично, что сделано с целью убедить пользователей отказаться от работы с базами данных напрямую. Там, где это возможно, следует использовать для доступа к требуемой информации интерфейс пользователя SharePoint, средства командной строки, объектные модели или веб-службы.

Если все средства исчерпаны, и необходимо прямое обращение к базе данных, следует хотя бы ограничить свое вмешательство режимом «только чтение». Изменение схемы базы данных или структуры базы данных не поддерживается и может вызвать серьезные неполадки, которые потребуют восстановления семейств веб-узлов из резервных копий или переустановки веб-фермы SharePoint.

Возможной альтернативой решения рассматриваемой проблемы прямого доступа к базам данных содержимого является создание учетной записи администратора фермы веб-узлов с указанием его в настройке семейства веб-узлов в качестве второго владельца. Администраторы фермы веб-узлов могут выполнять это действие на узле SharePoint 3.0 Central Administration. Вы можете найти соответствующую ссылку на Site Collection Administrators в разделе SharePoint Site Management на странице Application Management.

В качестве второго администратора семейства узлов вы можете открыть семейство веб-узлов в веб-обозревателе, отобразить параметры узла Site Settings, а затем щелкнуть ссылку Site Usage Report в разделе Site Administration, если вы включили действия Usage Analysis Processing в разделе SharePoint 3.0 Central Administration. Если нужно проследить использование данных по файлам журналов на серверах SharePoint, загляните в раздел Logging and Reporting на странице Operations. По умолчанию функция Site Usage Report отключена.

Однако создание вручную отчетов об использовании веб-узлов для отдельного семейства веб-узлов не практикуется в системах с большим количеством семейств узлов или в случае строгих требований, которые препятствуют предоставлению администраторам ферм веб-узлов необходимых прав доступа. Более практичным решением является использование приложения составления отчетов ASP.NET, которое составляет списки всех семейств и веб-узлов из базы данных содержимого, выводя их вместе с основными статистическими данными, такими как количество элементов, суммарный размер всех элементов, а также дата последнего изменения элемента, как это показано на рис. 4.

рис. 4 Получение статистических данных непосредственно из базы данных содержимого

Если вы запустите это приложение под учетной записью пула приложений SharePoint Central Administration версии 3, вы получите доступ к базе данных содержимого без необходимости получения расширенных прав доступа к SQL Server. Как говорилось ранее, учетная запись Central Administration имеет необходимые права доступа к SQL Server.

В сопроводительных материалах содержится простой пример отчета, который использует запросы SELECT к базе данных содержимого на сервере SQL, а также поэтапные указания по выполнению на веб-сервере. Необходимо заметить, что я не выполнял проверок безопасности. Это решение работает с анонимной проверкой подлинности.

Нет необходимости проверять подлинность пользователя, поскольку учетная запись Central Administration обеспечивает необходимый уровень безопасности при доступе к базам данных содержимого. Я использовал порт веб-узла, блокируемый с помощью брандмауэра Windows® на сервере Windows Server 2008, так что только локальный пользователь мог открыть это веб-приложение. Это гарантировало выполнение требований безопасности в моем примере, но в реальном производстве следует еще более ужесточить требования безопасности, например, включив проверку подлинности Windows и настроив жесткие ограничения доступа к виртуальной папке, содержащей приложение ASP.NET.

Заключение

SharePoint предоставляет гибкие возможности администрирования семейств веб-узлов и самих веб-узлов, которые позволяют централизовать инфраструктуру SharePoint при децентрализованном администрировании узлов в соответствии с определенными требованиями вашей компании. Централизованная инфраструктура может оказаться выгодна компаниям любого размера, поскольку консолидированная среда позволяет снизить затраты; облегчает совместный доступ к информации как внутри, так и между подразделениями; предоставляет основу для применения экспертных знаний в заданном направлении с целью эксплуатации системы в условиях высокой безопасности, надежности и масштабируемости; предоставляет пользователям единственную точку доступа к веб-узлам и ресурсам SharePoint в сети компании.

В то же время отдельные подразделения и бизнес-единицы могут самостоятельно управлять своими ресурсами SharePoint. Администраторы ферм веб-узлов могут назначать администраторов семейств веб-узлов, которые затем будут выполнять задачи администрирования в своих зонах ответственности без увеличения численности работников отдела ИТ.

Однако с передачей управления в подразделения администраторы ферм веб-узлов утрачивают возможность контролировать использование ресурсов в инфраструктуре, используя стандартные функции и инструменты SharePoint. Применение квотирования к базам данных содержимого, отправка уведомлений по электронной почте администраторам семейств веб-узлов, а также отслеживание использования данных с целью составления отчетов может помочь выявить проблемы, но с целью более эффективного управления инфраструктурой SharePoint администратор ферм веб-узлов должен иметь средства, которые позволяют извлекать требуемые метаданные о веб-узлах непосредственно из баз данных содержимого в режиме «только для чтения».

В число возможных вариантов решения входят использование служб отчетов SQL Server 2005 или аналогичных решений для создания отчетов уровня предприятия. Как показано в примере, содержащемся в прилагаемых материалах, для получения требуемой информации можно также использовать запросы SELECT программы SQL Server.


Ссылка: http://www.oszone.net/7116/Sharepoint