Explorando o SharePointDescentralizando a administração de sites

Pav Cherny

Faça o download do código deste artigo:: SharePoint2008_06.exe (1160KB)

O Microsoft Windows SharePoint Services (WSS) 3.0 e o Microsoft Office SharePoint Server (MOSS) 2007 oferecem suporte a uma administração e a um modelo de segurança flexíveis que permitem às organizações de TI centralizar o controle com os componentes de infra-estrutura, como servidores Web e servidores de banco de dados, e descentralizar o controle com

conjuntos de sites e sites hospedados. A centralização da infra-estrutura do SharePoint® ajuda a reduzir a sobrecarga de manutenção, consolidar a lógica de negócios, fornecer um único ponto de acesso aos recursos do SharePoint e evitar investimentos desnecessários em tecnologia.

Ao mesmo tempo, a descentralização da administração do site permite garantir que departamentos individuais tenham controle autônomo sobre os conjuntos de sites departamentais do SharePoint, sites, bibliotecas de documentos, listas, soluções de fluxo de trabalho e outros recursos do SharePoint. Entretanto, um efeito indesejado de delegar a administração de site a departamentos individuais é o aumento da complexidade de manutenção para o departamento de TI. Por exemplo, como controlar o uso de recursos, sites do SharePoint vencidos e conteúdo ultrapassado em uma infra-estrutura centralizada se você não tem acesso aos conjuntos de sites e aos sites dentro do seu ambiente?

Neste artigo, falo sobre o modelo de segurança do WSS 3.0, incluindo as vantagens e as implicações de delegar controle administrativo em sites do SharePoint a departamentos individuais e, ao mesmo tempo, manter o controle administrativo centralizado na infra-estrutura do SharePoint. Mostro como a administração de sites delegados funciona, como as permissões de acesso e o corte de segurança no nível de site, lista e item ajudam a manter um ambiente seguro e amigável e como os administradores de Web farm podem obter acesso às estatísticas de site necessárias sem permissões elevadas do SharePoint.

Se quiser conhecer minhas explicações em um laboratório de teste, baixe o material que acompanha esta coluna em technetmagazine.com. O material inclui instruções detalhadas de implantação para uma Web farm baseada no Windows Server® 2008 que reflete, razoavelmente bem, um ambiente de produção para uma empresa com vários departamentos.

Infra-estrutura do SharePoint e administração de conjuntos de sites

Você pode criar uma infra-estrutura do SharePoint baseada em uma implantação em um único servidor ou em uma Web farm. Na verdade, em geral, as empresas usam as duas. A implantação de um único servidor é adequada para departamentos individuais que precisam de uma solução de colaboração rápida e direta. Os requisitos de desempenho e de confiabilidade são mínimos. Os usuários tendem a ser compreensivos quando um servidor departamental do SharePoint, com freqüência implantado em hardware de estação de trabalho, não está disponível, porque a manutenção do sistema é responsabilidade do próprio departamento e os usuários do departamento, afinal, não são administradores de TI.

A situação muda de figura completamente para recursos de servidor mantidos pelo departamento de TI. Desempenho e confiabilidade se tornam fatores críticos, muitas vezes exigindo a implantação de soluções de alta disponibilidade para garantir a conformidade com o SLA (Contrato de Nível de Serviço). Implantações de Web farm de carga balanceada, clusters de failover do SQL Server® e bancos de dados armazenados em SANs (Rede de Área de Armazenamento) podem ajudar a atender às necessidades de desempenho e alta disponibilidade da sua empresa. Consulte a Figura 1 para obter uma ilustração dessa arquitetura.

Figura 1 Uma infra-estrutura do SharePoint com cluster de failover do SQL Server e SAN

Figura 1** Uma infra-estrutura do SharePoint com cluster de failover do SQL Server e SAN **(Clique na imagem para uma visão ampliada)

Como você pode ver na Figura 1, vários tipos de administradores devem trabalhar juntos para manter os recursos em uma infra-estrutura do SharePoint centralizada, embora cada um deles encare o ambiente de uma perspectiva diferente. Por exemplo, os servidores na infra-estrutura são transparentes para os administradores de conjuntos de sites. Os administradores de conjuntos de sites trabalham com a interface do usuário padrão do SharePoint. Essa interface não é alterada, não importa se você hospeda os sites em um computador de estação de trabalho executando o WSS 3.0 no seu escritório ou em uma Web farm em um data center.

A infra-estrutura do SharePoint também é transparente para os administradores de bancos de dados e engenheiros de armazenamento SAN. Para esses administradores, os bancos de dados do SharePoint não são diferentes de outros bancos de dados SQL, e os LUNs (números de unidade lógica) para o cluster de failover do SQL Server não são diferentes dos outros LUNs. A pessoa mais diretamente envolvida com a infra-estrutura do SharePoint é o administrador de Web farm, no entanto, ele não tem nenhum controle sobre os conjuntos de sites, bancos de dados ou LUNs.

Sabe-se que os administradores de conjuntos de sites departamentais em geral não conhecem os detalhes da infra-estrutura. Afinal, não é preciso conhecer esses detalhes para fornecer sites e delegar permissões de acesso a equipes e grupos dentro de um departamento. É fácil criar um novo site e começar a colaborar, e questões como os altos custos de armazenamento associados à tecnologia SAN, raramente são consideradas.

Em cada projeto e iniciativa, surgem novos sites de equipe, sites vencidos permanecem, conteúdo ultrapassado não é excluído e o ambiente do SharePoint cresce em um ritmo impressionante até alcançar uma escala que os administradores de sistema não podem mais ignorar. Por exemplo, o ambiente interno do SharePoint na Microsoft uma vez chegou a incluir mais de 180 mil sites até que a equipe de TI da Microsoft começou uma iniciativa de simplificação em 2006.

Instruir os administradores de conjuntos de sites pode ajudar a manter os problemas sob controle em uma infra-estrutura do SharePoint centralizada. Aplicar cotas e bloqueios de conjuntos de sites também é útil, no entanto, esses métodos não são muito eficientes ao lidar com sites ultrapassados de equipes e conteúdo que desperdiça preciosos recursos de armazenamento e backup.

O conteúdo ultrapassado não faz necessariamente um conjunto de sites exceder sua cota. Obviamente, você pode configurar o SharePoint para enviar notificações por email a proprietários de conjuntos de sites e excluir automaticamente conjuntos de sites não-utilizados depois de um período especificado, usando o recurso Confirmação e Exclusão de Uso do Site no site Administração Central do SharePoint 3.0, mas esse recurso não funciona no nível do site individual. Um conjunto de sites pode conter sites atuais e obsoletos, mas o recurso Confirmação e Exclusão de Uso do Site não funciona nesse nível de granularidade.

Posteriormente, mostrarei como identificar sites não-usados e conteúdo ultrapassado, verificando a data da última modificação de documentos e itens de lista, mesmo sem permissões de acesso ao conjunto de sites. Esse recurso de relatório não está disponível prontamente, mas felizmente não é difícil de implementar.

Administração descentralizada de sites do SharePoint

A tarefa de delegar privilégios de administração de sites do SharePoint é muito simples. Usando o site Administração Central do SharePoint 3.0, a ferramenta de linha de comando Stsadm.exe ou uma ferramenta de provisionamento, é possível criar aplicativos Web, caminhos gerenciados e conjuntos de sites na infra-estrutura. Como um administrador de Web farm, você pode especificar administradores de conjuntos de sites primários e secundários ao criar um conjunto de sites. Esses administradores de conjuntos de sites podem ser usuários de domínio comuns. Eles não necessitam de permissões administrativas nos servidores de Web farm ou em outros servidores de infra-estrutura. Eles usam um navegador da Web para executar as tarefas de administração de sites diretamente na interface do usuário do SharePoint.

A Figura 2 ilustra a administração de sites delegada de acordo com as instruções passo a passo que você encontrará nas planilhas do material complementar. Neste exemplo, o administrador de Web farm provisionou conjuntos de sites separados para os departamentos de RH (https://sharepoint/hr) e de TI (https://sharepoint/it).

Figura 2 Administração delegada de sites do SharePoint

Figura 2** Administração delegada de sites do SharePoint **(Clique na imagem para uma visão ampliada)

Os administradores de RH e de TI podem usar o recurso Sites e Espaços de Trabalho disponível no menu Ações do Site da interface do usuário do SharePoint para criar sites de nível inferior e poder aplicar permissões a partir do site pai ou definir novas permissões de usuário e administrativas para sites de nível inferior. Observe que, a menos que seja configurado explicitamente, o administrador de Web farm não poderá acessar sites de nível superior ou inferior, o administrador de RH não poderá acessar sites de TI e o administrador de TI não poderá acessar sites de RH, embora todos os sites sejam hospedados no mesmo ambiente do SharePoint.

O design dos conjuntos e das hierarquias de sites depende dos requisitos organizacionais. No exemplo da Figura 2, não criei um site mestre acima de https://sharepoint/hr e https://sharepoint/it. Em outras palavras, não existe um conjunto de sites no caminho https://sharepoint. Mas você pode facilmente criar um conjunto de sites nesse caminho ou usar outros caminhos gerenciados, como https://sharepoint/sites/hr e https://sharepoint/sites/it.

Você também pode criar aplicativos Web separados para RH e TI a fim de estabelecer URLs base mais intuitivas, como http://hr e http://it, provisionar sites gerais de portal para os departamentos e usar Web Parts de rollup para listar informações de sites de nível inferior nesses sites mestres. Os conjuntos de sites separados facilitam a administração autônoma, ajudam a limitar o acesso às informações departamentais, fornecem recursos de personalização individual para Páginas Mestras, layouts de página, modelos, Web Parts e controles de navegação e podem ser usados para colocar dados confidenciais em bancos de dados de conteúdo dedicado, independentemente de outros conjuntos de sites ou bancos de dados de conteúdo.

Funções, permissões de site e remoção de segurança

Depois de criar os conjuntos de sites e delegar as permissões administrativas, um administrador de conjunto de sites pode abrir um site de nível superior e usar o recurso Configurações do Site disponível no menu Ações do Site para gerenciar o conjunto de sites. Isso inclui adicionar (ou remover) outros administradores de conjuntos de sites com permissões totais a todos os sites do conjunto de sites, criar grupos, associar esses grupos a funções e adicionar usuários a esses grupos para conceder permissões de leitura e de colaborador. Isso também inclui o provisionamento de sites de grupo de nível inferior e sites de equipe.

Embora você possa conceder permissões do SharePoint aos usuários individualmente, é melhor criar grupos do SharePoint de acordo com funções específicas. Por exemplo, o SharePoint inclui três grupos padrão para as funções Visitantes, Colaboradores e Proprietários. Os Visitantes têm acesso somente leitura, os Colaboradores podem adicionar itens a listas e bibliotecas de documentos e personalizar páginas da Web e os Proprietários têm controle total.

Um recurso digno de nota é que o SharePoint executa a remoção de segurança com base na função de usuário, o que significa que os usuários só vêem os links e itens na interface do usuário aos quais possuem permissões de acesso. Se você desabilitar um acesso de usuário a um recurso, como uma lista (configurando permissões explícitas em Configurações da Lista) ou um item de lista selecionado (usando o comando Gerenciar Permissões no menu de contexto do item), a lista ou o item desaparecerão para esse usuário. Se o usuário especificar a URL do item diretamente no navegador, ele obterá a página Erro: acesso negado.

A Figura 3 mostra a remoção de segurança em ação. O administrador de RH possui permissões totais e pode acessar o menu Ações do Site para executar tarefas administrativas. O Visitante de RH, por sua vez, possui apenas permissões somente leitura ao conjunto de sites e não vê esse menu.

Figura 3 Remoção de segurança com base nas funções de usuário da interface do SharePoint

Figura 3** Remoção de segurança com base nas funções de usuário da interface do SharePoint **(Clique na imagem para uma visão ampliada)

A remoção de segurança é útil pois oculta recursos, links e itens inacessíveis, mas isso também significa que os administradores de Web farm não poderão usar a interface do SharePoint para listar sites e recursos de sites sem ter permissões de acesso. Você não poderá ver esses recursos em páginas da Web ou Web Parts. Além disso, os recursos inacessíveis não aparecem em resultados de pesquisa porque o SharePoint Enterprise Search executa a remoção de segurança em tempo de consulta com base na identidade do usuário que envia a consulta.

E quanto à linha de comando?

Se a interface gráfica do usuário não fornecer um caminho até as informações desejadas sem permissões elevadas no nível do conjunto de sites, talvez a ferramenta de linha de comando Stsadm.exe forneça a solução. Por exemplo, você pode pensar em usar o comando

Stsadm -o enumsites -url https://sharepoint

para listar todos os conjuntos e proprietários de sites no aplicativo Web de https://sharepoint. Depois, você pode listar todos os sites de nível inferior usando este comando:

Stsadm -o enumsubwebs -url <conjunto de sites>

No entanto, em um ambiente de Web farm, em geral, o Stsadm.exe recebe isso como uma mensagem de erro indicando que as permissões de acesso ao banco de dados estão faltando. O Stsadm.exe não pode enumerar os conjuntos de sites, muito embora você seja um administrador de Web farm e possa gerenciar conjuntos de sites na Administração Central do SharePoint 3.0. A seguir, veja a mensagem de erro que você receberá se usar Stsadm.exe em uma Web farm sem as permissões de acesso do SQL Server:

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

<Sites Count="2">

<Site Error="Não é possível abrir o banco de dados &quot;WSS_Content&quot; solicitado pelo logon. Falha de logon.&#xD;&#xA;Falha de logon do usuário 'CONTOSO\SPAdmin'.">

<Site Error="Não é possível abrir o banco de dados &quot;WSS_Content&quot; solicitado pelo logon. Falha de logon.&#xD;&#xA;Falha de logon do usuário 'CONTOSO\SPAdmin'." />

O administrador de Web farm recebe essa mensagem de erro porque o Stsadm.exe é executado no contexto do usuário conectado, como CONTOSO\SPAdmin, enquanto que o site do SharePoint 3.0 acessa os bancos de dados do SharePoint no contexto da conta do sistema associada ao pool de aplicativos Administração Central v3, como CONTOSO\WssConfigAdmin. Embora a concessão de permissões db_owner à sua conta para o banco de dados de conteúdo no SQL Server permita executar o comando Stsadm -o enumsites -url https://sharepoint, ainda assim não será possível enumerar os sites de nível inferior dentro dos conjuntos de sites. O comando Stsadm -o enumsubwebs -url <conjunto de sites> retorna Acesso negado. (Exceção de HRESULT: 0x80070005 (E_ACCESSDENIED)) e você volta à estaca zero. Entretanto, existe um jeito melhor e mais preciso que não requer permissões elevadas do SQL Server.

Informações sobre o site em bancos de dados

Se você não puder obter as informações necessárias por meio das interfaces e ferramentas padrão do SharePoint, deve ir diretamente aos seus bancos de dados de conteúdo. Mas, antes, uma advertência: esta é sua última chance! Os bancos de dados de conteúdo contam com esquemas e estruturas de bancos de dados proprietários que a Microsoft documentou apenas parcialmente no SDK do WSS 3.0, em uma tentativa de desencorajar os clientes a trabalhar com os bancos de dados diretamente. Sempre que possível, use a interface do usuário do SharePoint, ferramentas de linha de comando, modelo de objeto ou serviços Web para acessar as informações desejadas.

Se não houver outra alternativa e tiver de ir diretamente aos bancos de dados, você deve pelo menos restringir a solução ao acesso somente leitura. Não há suporte à modificação do esquema e das estruturas do banco de dados, o que pode causar sérios problemas que exigirão que você restaure os conjuntos de sites a partir de backup ou reinstale a Web farm do SharePoint.

Uma alternativa possível à implementação de uma solução de relatório que acessa diretamente os bancos de dados de conteúdo é especificar a conta de administrador de Web farm como um proprietário secundário na configuração do conjunto de sites. Os administradores de Web farm podem executar essa etapa no site Administração Central do SharePoint 3.0. Você pode encontrar o link Administradores de conjunto de sites correspondente em Gerenciamento de Sites do SharePoint, na página Gerenciamento de Aplicativos.

Com um administrador secundário de conjunto de sites, você pode abrir o conjunto de sites no navegador da Web, exibir as Configurações do Site e clicar no link Relatório de Uso do Site em Administração do Site, desde que tenha habilitado Processamento da Análise de Uso na Administração Central do SharePoint 3.0. Veja se, em Log e Relatório na página Operações, deseja controlar os dados de uso em arquivos de log nos servidores do SharePoint. O recurso Relatório de Uso do Site é desabilitado por padrão.

Entretanto, criar manualmente relatórios de uso de site para conjuntos individuais de sites não é prático em ambientes com um grande número de conjuntos de sites ou com requisitos rígidos que proíbem a concessão das permissões necessárias a administradores de Web farm. Uma abordagem mais prática é implementar um aplicativo de relatório do ASP.NET simples que lista todos os conjuntos de sites do banco de dados de conteúdo com estatísticas importantes, como o número de itens, o tamanho total combinado de todos os itens e a data da última modificação dos itens, como ilustrado na Figura 4.

Figura 4 Obtendo estatísticas de sites diretamente de um banco de dados de conteúdo

Figura 4** Obtendo estatísticas de sites diretamente de um banco de dados de conteúdo **(Clique na imagem para uma visão ampliada)

Se você executar esse aplicativo sob a identidade do pool de aplicativos Administração Central do SharePoint v3, poderá ter acesso aos bancos de dados de conteúdo sem a necessidade de permissões elevadas do SQL Server. Como mencionado anteriormente, a conta Administração Central já possui as permissões necessárias do SQL Server.

O material complementar inclui uma solução de relatórios simples que usa consultas SELECT para o banco de dados de conteúdo no servidor SQL e instruções passo a passo para implantar essa solução em um servidor Web. É importante notar que não implementei nenhuma verificação de segurança. A solução é executada com autenticação anônima.

Não é necessário autenticar o usuário porque a conta Administração Central fornece o contexto de segurança necessário para acessar os bancos de dados de conteúdo. Usei uma porta personalizada para o site da Web da solução, bloqueado por meio do Firewall do Windows® no Windows Server 2008, portanto, somente um usuário local pode abrir o aplicativo Web. Com isso, os requisitos de segurança no meu ambiente de teste foram atendidos, mas, em um ambiente de produção, você deve aumentar mais a segurança, por exemplo, habilitando a autenticação do Windows e configurando permissões de acesso restritivas ao diretório virtual do aplicativo ASP.NET.

Conclusão

O SharePoint fornece recursos de administração e conjunto de sites flexíveis que permitem centralizar a infra-estrutura do SharePoint e, ao mesmo tempo, descentralizar a administração de sites de acordo com as necessidades específicas da sua empresa. Uma infra-estrutura centralizada pode ser benéfica a empresas de qualquer porte porque um ambiente consolidado ajuda a reduzir custos, facilita o compartilhamento de informações dentro dos departamentos e entre eles, fornece a base para aplicar conhecimento especializado de forma direcionada para manter o ambiente com alta segurança, confiabilidade e escalabilidade e fornece aos usuários um único ponto de acesso a sites e recursos do SharePoint na rede da empresa.

Ao mesmo tempo, departamentos e unidades de negócios individuais podem manter o controle de seus recursos do SharePoint. Os administradores de Web farm podem designar administradores de conjuntos de sites que executem tarefas de administração de sites em suas áreas de responsabilidade sem qualquer envolvimento do departamento de TI.

Entretanto, com a mudança de controle para os departamentos, os administradores de Web farm também perdem a capacidade de monitorar a utilização de recursos na infra-estrutura usando os recursos e ferramentas padrão do SharePoint. Aplicar cotas a bancos de dados de conteúdo, enviar lembretes de email a administradores de conjuntos de sites e controlar dados de uso para fins de relatório são tarefas que podem ajudar a diminuir o problema, mas para gerenciar a infra-estrutura do SharePoint com eficiência, os administradores de Web farm precisam de outras ferramentas que extraiam os metadados do site necessários diretamente dos bancos de dados de conteúdo em um formato somente leitura.

As opções disponíveis incluem o uso do SQL Server 2005 Reporting Services ou de uma solução de relatório de nível empresarial semelhante. Como o exemplo no material complementar mostra, você também pode usar as consultas SELECT do SQL Server para obter as informações necessárias.

Pav Cherny é especialista em TI e autor especializado em tecnologias Microsoft para colaboração e comunicação unificada. Entre suas publicações estão white papers, manuais de produto e livros com foco nas operações de TI e na administração do sistema. Pav é presidente da Biblioso Corporation, empresa especializada em serviços de documentação gerenciada e de localização.

© 2008 Microsoft Corporation e CMP Media, LLC. Todos os direitos reservados; é proibida a reprodução parcial ou completa sem autorização..