Protegendo Web Parts nos serviços SharePoint Windows
Web Parts em Windows SharePoint Services fornecem um avançado maneira para que os usuários para interagir com outros sistemas. Windows SharePoint Services tem interno as configurações de segurança para restringir a acessar que tem um Web Part subjacente sistemas. Um desenvolvedor pode criar personalizado arquivos política de segurança para dar um acessar maior Web Part para a subjacente sistema. Este tópico apresenta o interno configurações, um visão geral de uma diretiva Code Access Security (CAS) e como incluir um personalizado diretiva Code Access Security em uma solução Windows SharePoint Services wssnoversshort.
Segurança de Acesso ao Código
Segurança de acesso ao código é um modelo Resource-Constraints que limita a acessar que tem um assembly a recursos protegidos do sistema e de operações. Windows SharePoint Services tem interno diretivas de segurança compilado no parte superior do interno diretivas de segurança de ASP.NET. Por padrão, Windows SharePoint Services usa um conjunto mínimo de permissões em ordem para proteger o servidor e subjacente infra-estrutura de mal-intencionado codificar.
Se sua Parte da Web precisa acessar maior do que o que é fornecido nas configurações mínimas, há um número maneiras para aumentar as permissões do seu Web Part, mas somente uma é recomendada. A prática recomendada é criar um diretiva Code Access Security personalizado para a Web Part. O segundo método é aumentar a nível de confiabilidade geral do farm de servidor no arquivo web.config
web.config. Este é um risco de segurança e não é recomendada. Para obter mais informações sobre implantação, consulte Implantando Web Parts nos serviços SharePoint Windows.
As configurações de segurança interna
Windows SharePoint Services é um aplicativo confiança Parcial Por padrão. Windows SharePoint Services pode usar o interno ASP.NET confiança níveis mas define dois níveis confiança de seu próprio:
WSS_Minimal
WSS_Medium
A confiança níveis estender o Minimal e Medium confiança níveis de ASP.NET para uso com . Confiança níveis são definidos na diretiva arquivos encontrados na sistema de arquivos de cada servidor W3 (World Wide Web).
Importante Por padrão, o interno arquivos de diretiva Windows SharePoint Services wssnoversshort, nomeado wss_minimaltrust.config
e wss_mediumtrust.config
, são encontrados em Arquivos de programas\Arquivos comuns\Microsoft Shared\web servidor extensions\12\config %SYSTEMDRIVE%\Program Files\Common Files\Microsoft Shared\web server extensions\12\config
%SYSTEMDRIVE%\Program.
Por padrão, Windows SharePoint Services se aplica a nível de confiabilidade WSS_Minimal WSS_Minimal para o servidor virtual. Esta nível de confiabilidade concede todas as permissões na confiança mínima Minimal ASP.NET, bem como as conexões entre Web Parts. O WSS_Minimal WSS_Minimal diretiva restringe a Web Part acessem vários recursos para avançado operações, inclusive as operações de modelo e arquivo objeto.
O nível de confiabilidade WSS_Medium WSS_Medium concede acessar maior para o ambiente. Além disso, WSS_Medium permite acessar às Windows SharePoint Services objeto modelo e arquivo operações inclusive descoberta ler, Gravação, anexar e caminho. Esta nível de confiabilidade também permite acessar as variáveis ambiente.
A seguinte tabela descreve as permissões específicas concedidas com o WSS_Minimal e arquivos de diretiva WSS_Medium WSS_Medium no ambiente de ASP.NET 2.0.
Permissão | WSS_Medium Nível de confiança | WSS_Minimal Nível de confiança |
---|---|---|
Médio |
Mínimo de |
|
Nenhum |
Nenhum |
|
Irrestrito |
Nenhum |
|
Ler: Temp, TMP, OS, nome de usuário, nome_do_computador |
Nenhum |
|
Nenhum |
Nenhum |
|
Ler, Gravar, acréscimo, Diretório PathDiscovery:Application |
Nenhum |
|
AssemblyIsolationByUser, UserQuota irrestrito |
Nenhum |
|
Nenhum |
Nenhum |
|
Nenhum |
Nenhum |
|
Nenhum |
Nenhum |
|
Impressão padrão |
Nenhum |
|
Nenhum |
Nenhum |
|
Nenhum |
Nenhum |
|
Execução, Asserção, ControlPrincipal, ControlThread, RemotingConfiguration |
A execução |
|
Nenhum |
Nenhum |
|
(Microsoft.SharePoint.Security) |
ObjectModel = True |
Nenhum |
Nenhum |
Nenhum |
|
AllowBlankPassword = False |
Nenhum |
|
Se Conectar para hospedar origem (se configurado) |
Nenhum |
Observação
Para obter mais informações sobre Code Access Security, consulte Usar Segurança de Acesso ao Código com ASP.NET e também Diretrizes de Segurança para .NET Framework 2.0.
Criar uma política de segurança de acesso de código
Windows SharePoint Services 3.0 adicionado a capacidade arquivo de política implantar uma CAs com uma solução. Esse recurso torna mais fácil para que você crie personalizado permissões para o Web Parts e permite Windows SharePoint Services ao identificador de implantação.
O seguinte exemplo de código mostra a estrutura básica de uma arquivo de política CAS em um pacote solução Windows SharePoint Services wssnoversshort.
<CodeAccessSecurity>
<PolicyItem>
<PermissionSet class="NamedPermissionSet" version="1"
Description="Permission set for custom test WebParts">
<IPermission class="AspNetHostingPermission" version="1"
Level="Minimal" />
<IPermission class="SecurityPermission" version="1"
Flags="Execution" />
<IPermission
class="Microsoft.SharePoint.Security.SharePointPermission,
Microsoft.SharePoint.Security, version=11.0.0.0,
Culture=neutral, PublicKeyToken=71e9bce111e9429c" version="1"
ObjectModel="True" />
<IPermission class="System.Net.WebPermission, System,
version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" version="1">
<ConnectAccess>
<URI uri="https?://.*" />
</ConnectAccess>
</IPermission>
<IPermission
class="System.Security.Permissions.SecurityPermission,
mscorlib, version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" version="1"
Flags="ControlThread, UnmanagedCode" />
<IPermission
class="System.Security.Permissions.EnvironmentPermission,
mscorlib, version=1.0.5000.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089" version="1" Read="UserName" />
</PermissionSet>
<Assemblies>
<Assembly PublicKeyBlob=PublicKeyBlob />
</Assemblies>
</PolicyItem>
</CodeAccessSecurity>
The list below includes some general guidelines that apply when you use a <CodeAccessSecurity> section in your solution manifest.
There can only be one <CodeAccessSecurity> per solution manifest.
There can be multiple <PolicyItem> nodes.
Every <PolicyItem> node can only contain one <PermissionSet> node.
Every <PolicyItem> node can only contain one <Assemblies> node.
Each <PermissionSet> node can contain multiple <IPermission> nodes.
There can be multiple <Assembly> nodes under the <Assemblies> node.
For more information about the schema of the <CodeAccessSecurity> area, see Elemento CodeAccessSecurity .
Quando você implantar o assembly usando um diretiva de CAS personalizado, você deve usar o - allowCasPolicies com o utilitário stsadm.exe. O comando é da seguinte maneira:
stsadm -o deploySolution -name <insert name> -allowCasPolicies
Para obter mais informações sobre como usar stsadm para implantar uma solução, consulte Stsadm de operações .