Compartilhar via


Configurar e implantar Web Parts seguras no servidor (Office SharePoint Server)

Atualizado em: 2007-11-02

O Microsoft Office SharePoint Server 2007 vem com um conjunto de Web Parts que o administrador do site pode adicionar a páginas de Web Parts após instalar o produto. Entretanto, talvez sua organização precise personalizar Web Parts. Nesse caso, um desenvolvedor deverá escrever Web Parts do ASP.NET 2.0 personalizadas e solicitar que você as instale em uma implantação do Office SharePoint Server 2007.

O Office SharePoint Server usa algumas das definições de configuração fornecidas pelo Microsoft .NET Framework. Algumas delas são armazenadas em arquivos de configuração XML e fornecem uma ampla variedade de configurações que permitem que os administradores do servidor gerenciem o aplicativo Web e seu ambiente. Para obter mais informações sobre arquivos de configuração do ASP.NET 2.0, consulte a explicação de Machine.Config e Web.Config (em inglês) (https://go.microsoft.com/fwlink/?linkid=103450\&clcid=0x416) (em inglês) no artigo sobre "proteção do aplicativo ASP.NET e serviços Web" na Biblioteca Online do MSDN.

Opções de configuração

Os administradores do sistema podem usar Web Parts do ASP.NET 2.0 em uma implantação do Office SharePoint Server em um destes dois locais:

  • Diretório Bin   Armazenado no diretório raiz do seu aplicativo Web.

  • Cache de Assembly Global (GAC)   Todas as Web Parts padrão são automaticamente instaladas com o Common Language Runtime do .NET Framework. O armazenamento no GAC permite que você compartilhe Web Parts entre muitos aplicativos. Os componentes normalmente são armazenados em C:\WINNT\Assembly.

Cada local tem vantagens e desvantagens, como descrito pela tabela a seguir.

Local de implantação Vantagens Desvantagens

Diretório Bin

Um local parcialmente confiável. Por padrão, o código executado neste diretório tem baixo nível de permissões de segurança de acesso do código. O administrador deve especificar explicitamente permissões concedidas a uma Web Part para que funcione corretamente. Devido a esse nível de controle e às defesas aprofundadas, os administradores tendem a preferir que os assemblies sejam executados no diretório Bin, com um conjunto conhecido de permissões de segurança de acesso do código.

Um diretório Bin também é específico de um aplicativo Web. Isso possibilita isolar códigos para um aplicativo Web específico.

Para executar sua Web Part em qualquer local, você deve implantar seu diretório Bin.

GAC

Um local global onde você pode implantar assemblies assinados. Por padrão, os assemblies são executados com confiança total. São instalados globalmente e, portanto, funcionam em qualquer aplicativo Web.

Em geral, não há restrições de segurança de acesso do código em códigos instalados no GAC; sendo assim, você perde o benefício da segurança da defesa aprofundada.

Além disso, pode ser difícil implantar seus arquivos de banco de dados do programa (.pdb) em assemblies no GAC.

Configurando atributos de segurança especiais

As Web Parts do ASP.NET 2.0 que você armazena no diretório Bin têm restrições especiais de segurança. Você pode optar por definir atributos de segurança especiais para sua Web Part, dependendo de como planeje usá-la.

O diretório Bin é um local parcialmente confiável. Sendo assim, sua Web Part não concede automaticamente permissões do código de confiança total quando é executada. Como o código que direciona sua Web Part tem apenas permissões de confiança parcial, o desenvolvedor da Web Part deve definir o atributo AllowPartiallyTrustedCallers na sua Web Part do ASP.NET 2.0.

Dica

A marcação de um componente como "seguro" com o atributo AllowPartiallyTrustedCallers lança a responsabilidade da implementação segura sobre o desenvolvedor.

As permissões de segurança de acesso do código para o diretório Bin são muito baixas por padrão; somente a execução pura é permitida. Muito provavelmente, será preciso elevar as permissões para que seu assembly seja executado corretamente.

Você pode elevar permissões de dois modos:

  • (Recomendado) Crie um arquivo de diretiva de confiança e aponte seu arquivo Web.config para o novo arquivo. Essa opção é mais complexa, mas oferece permissões precisas para suas Web Parts. Para obter mais informações sobre arquivos de diretiva de confiança, consulte os serviços e segurança de acesso do código do Microsoft Windows SharePoint (https://go.microsoft.com/fwlink/?linkid=103436\&clcid=0x416) na Biblioteca Online do MSDN.

  • Eleve o nível geral de confiança do diretório Bin. No arquivo Web.config do diretório raiz do seu aplicativo, localize o elemento trust. O valor padrão para o atributo do elemento trust (level) é WSS_Minimal. Você pode alterar esse nível para WSS_Medium. Embora essa opção seja mais simples, concede novas permissões arbitrárias das quais talvez você não precise e é menos segura do que a criação de um arquivo de diretiva de confiança.

Lista Controles Seguros

Uma conjectura fundamental dos Produtos e Tecnologias do SharePoint é que "usuários não confiáveis" podem carregar e criar páginas .aspx no sistema no qual o Office SharePoint Server está sendo executado. Esses usuários devem ser impedidos de adicionar código do servidor em páginas .aspx, mas deve haver uma lista de controles aprovados que eles possam usar. No Office SharePoint Server, isso é oferecido pela lista Controles Seguros.

A lista Controles Seguros é uma lista de controles e Web Parts específicas do seu site do SharePoint que os administradores do site podem designar como seguros para invocação em qualquer página .aspx em um site. Você armazena essa lista no arquivo Web.config da raiz do seu aplicativo Web.

Requisitos da tarefa

Os itens a seguir são obrigatórios para a execução dos procedimentos desta tarefa.

  • Privilégios de administrador em um computador do servidor que tenha instalado um dos produtos do servidor da versão do Office 2007.

Para configurar e implantar Web Parts seguras no seu servidor, você pode executar os procedimentos a seguir.