trust Element (ASP.NET Settings Schema)

Configura o nível de segurança de acesso de código (CAS) que é aplicado a um aplicativo. Use esse elemento, se você quiser executar um aplicativo da Web que tenha menos de Full de confiança.

<trust 
   hostSecurityPolicyResolverType ="security policy resolution type"
   legacyCasModel = "[True|False]"
   level="[Full|High|Medium|Low|Minimal]" 
   originUrl="URL"
   permissionSetName = "name of the permission set"
   processRequestInApplicationTrust = "[True|False]" 
/>

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho, e elementos pai.

Atributos

Atributo

Descrição

hostSecurityPolicyResolverType

Atributo de seqüência opcional.

Especifica um tipo de resolução de diretiva de segurança personalizado. Quando esse atributo é definido como uma seqüência vazia, o ASP.NET usa a diretiva padrão para determinar as permissões do assembly. A diretiva padrão para avaliar as permissões concede confiança total confiança parcial para outros conjuntos de módulos e assemblies do Cache de Assembly Global (GAC).

Este atributo não pode ser definido como um null valor.

O valor padrão é um vazio string.

legacyCasModel

Atributo booleano opcional.

Especifica se a segurança de acesso (CAS) do código herdado é ativada.

Quando a segurança de acesso do código herdado é ativada, as regras de segurança a seguir se aplicam:

  • Diretiva de CAS (segurança) de acesso do código é estabelecida a partir da combinação de diretiva de máquina e o aplicativo ASP.Arquivo de diretiva de confiança parcial NET.

  • Domínios de aplicativo parcialmente confiável reverter serem de confiança total no nível do domínio de aplicativo.

  • Arquivos de confiança parcial legacy no diretório CONFIG da .NET Framework diretório de instalação são usados em vez dos novos arquivos de configuração de confiança parcial, localizados no mesmo diretório. Os arquivos de legado incluem as condições de participação que eram encontradas na .NET Framework versão 1.1 ou .NET Framework 2.0 SP1.

  • Condições de participação de adicionais para avaliar as permissões são aplicadas. Essas condições são definidas no ASP.NET files de confiança parcial. O diretório de configuração que acompanha o .NET Framework 4 versão contém arquivos de diretiva de confiança parcial de legado. Esses arquivos têm herdados em seu nome e conter o .NET Framework 2.0 SP1 seções. Essas seções contêm as condições de participação de vazio que são necessários para avaliar a diretiva CAS contra assemblies.

  • Se o ASP.NET aplicativo está sendo executado em confiança parcial e o arquivo de diretiva de segurança para o nível de confiança é mapeado para um dos arquivos de configuração de confiança padrão ASP.NET escolhe automaticamente o arquivo de configuração herdado correspondente. Por exemplo, se a diretiva de segurança seria normalmente carregada a partir do Web_mediumtrust. config, no modo herdado ASP.Em vez disso, o NET carrega a diretiva de segurança do Legacy.web_mediumtrust.config.

O valor padrão é false.

level

Obrigatório String atributo.

Especifica o nível de confiança na qual o aplicativo será executado. Cada nível de confiança é mapeado para um arquivo de diretiva XML individual que usa um trustLevel o elemento no arquivo de configuração. O arquivo de diretiva lista o conjunto de permissões concedidas por cada nível de confiança. Para obter informações sobre o ASP.NET e a diretiva de arquivos, consulte Níveis de confiança ASP.NET e arquivos de diretiva.

Esse atributo pode ser um valor definido pelo usuário, se houver uma correspondência de mapeamento de diretiva de segurança é definido em um trustLevel elemento o securityPolicy Element (ASP.NET Settings Schema) elemento ou um dos seguintes valores possíveis, em ordem crescente de restrictiveness.

ValorDescrição
Full Especifica permissões irrestritas.Concede o ASP.Permissões de aplicativo de rede para acessar qualquer recurso que esteja sujeito à segurança do sistema operacional.Todas as operações privilegiadas são suportadas.Essa configuração é denominada Unrestricted na AspNetHostingPermissionLevel enumeração.
High Especifica um alto nível de segurança de acesso do código, o que significa que o aplicativo não pode fazer qualquer uma das seguintes coisas por padrão:
  • Chame código não gerenciado.

  • Chame componentes atendidos.

  • Grave no log de eventos.

  • Filas do enfileiramento de mensagens da Microsoft Access.

  • Acessar fontes de dados Oracle, OleDb ou ODBC.

Medium Especifica um nível médio de segurança de acesso do código, o que significa que, além de para as restrições de High, o ASP.NET não faça qualquer uma das seguintes ações por padrão:
  • Acessar arquivos fora do diretório de aplicativo.

  • Acesse o registro.

  • Fazer chamadas de serviço da Web ou de rede (usando o System.Net.HttpWebRequest de classe, por exemplo).

Low Especifica um nível baixo de segurança de acesso do código, o que significa que, além de para as restrições de Medium, o aplicativo não é possível fazer as seguintes ações por padrão:
  • Grave no sistema de arquivo.

  • Chame o método Assert.

Minimal Especifica um nível mínimo de segurança de acesso do código, o que significa que o aplicativo tem permissões de execução somente.

O padrão é Full (sem restrições).

originUrl

Opcional String atributo.

Especifica uma URL para uso com a permissão de WebPermission restrita está configurada em confiança média. Se estiver presente, isso pode ser usado para algumas classes, como HttpWebRequest, que permitem conectividade com somente URLs específicas que são especificadas pelo WebPermission. Isso permite que as permissões que dependem da noção de um host funcionem corretamente.

permissionSetName

Atributo de seqüência opcional.

Especifica o nome do conjunto de permissões.

O valor padrão é "ASP.NET".

processRequestInApplicationTrust

Opcional Boolean atributo.

Especifica se as solicitações de página são automaticamente restritas para as permissões que são configuradas no arquivo de diretiva de confiança é aplicado à página ASP.NET Visual Basic.

Arquivos de diretiva de confiança são especificados no trustLevel elementos de securityPolicy elemento. Uma diretiva de confiança único é aplicada a um aplicativo ASP.NET usando o level atributo o trust elemento.

Se definido como False, ASP.NET solicitações potencialmente podem ser executado em Full relação de confiança, mesmo se o level atributo especifica um nível de confiança diferente. A menos que haja motivos específicos para fazer isso, não Redefinir este atributo do padrão de true.

Esse atributo é novo na.NET Framework versão 2.0.

O padrão é True.

Elementos filho

Nenhum.

Elementos pai

Elemento

Descrição

configuration

Especifica o elemento raiz necessários em cada arquivo de configuração que é usado pelo common language runtime e a.Aplicativos do NET Framework.

system.web

Especifica o elemento raiz para o ASP.Definições de configuração de rede em uma configuração de arquivo e contém elementos de configuração para configurar aplicativos ASP.NET e controlar como os aplicativos se comportam.

Comentários

O trust elemento configura o nível de segurança de acesso de código (CAS) que é aplicado a um aplicativo. Arquivos de diretiva de segurança são mapeados para nomes de nível de confiança do securityPolicy elemento da coleção. O arquivo de diretiva lista o conjunto de permissões são concedidas por nível de confiança. O trust elemento especifica qual nível de confiança para aplicar a página ASP.NET application. Para obter informações sobre o ASP.NET e a diretiva de arquivos, consulte Níveis de confiança ASP.NET e arquivos de diretiva.

Por padrão, os aplicativos da Web executados com Full de confiança. Aplicativos de confiança total recebem permissões irrestritas de código de acesso pela diretiva de segurança de acesso do código. Essas permissões incluem o sistema interno e permissões personalizadas. Isso significa que code access security não impedirá que seu aplicativo acesse quaisquer recursos protegidos. O sucesso ou fracasso da tentativa de acesso a recursos é determinado puramente pela segurança em nível de sistema operacional. Se um aplicativo é configurado com um nível de confiança diferente de Full, ele é conhecido como um aplicativo de confiança parcial. Aplicativos parcialmente confiáveis têm permissões restritas, que limita o acesso a recursos protegidos para o aplicativo.

Para maior segurança em um ambiente hospedado, use o local o elemento no arquivo Web. config raiz para delimitar securityPolicy e trust elementos para aplicativos hospedados e o allowOverride="False" atributo para impedir que aplicativos substituam as configurações em um arquivo Web. config mais local. Opcionalmente, você pode tornar usar vários elementos de local, cada um com um atributo de caminho diferente, se você deseja configurar os níveis de confiança diferentes para diferentes aplicativos hospedados. Para obter um exemplo desse tipo de configuração, consulte "Exemplo", neste tópico.

Observação

Os aplicativos são criados em Web do.NET Framework versão 1.0 sempre funcionam com Full confiar, pois os tipos no System. Web exigem chamadores de confiança total.Quando você atualiza para uma versão mais recente do.NET Framework, não altere o nível de confiança sem teste os aplicativos existentes anteriormente.

Configuração padrão

O seguinte padrão trust elemento é configurado no arquivo Web. config raiz.

<location allowOverride="true">
<system.web>
   <securityPolicy>
      <trustLevel name="Full" policyFile="internal" />
      <trustLevel name="High" policyFile="web_hightrust.config" />
      <trustLevel name="Medium" policyFile="web_mediumtrust.config" />
      <trustLevel name="Low" policyFile="web_lowtrust.config" />
      <trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
   </securityPolicy>
   <trust 
      level="Full" 
      originUrl="" 
      processRequestInApplicationTrust="true" 
   />
</system.web>
</location>

Exemplo

O exemplo de código a seguir demonstra como usar um arquivo da Web. config raiz para especificar configurações de nível de confiança doMedium para todos os aplicativos ASP.NET no servidor e o location elemento para bloquear as configurações. Outro location elemento no mesmo arquivo de configuração é usado para permitir que o arquivo Web. config para o Default Web Site/Temp o aplicativo para substituir as configurações no arquivo Web. config raiz.

<location allowOverride="false">
  <system.web>
    <securityPolicy>
      <trustLevel name="Full" policyFile="internal" />
      <trustLevel name="High" policyFile="web_hightrust.config" />
      <trustLevel name="Medium" policyFile="web_mediumtrust.config" />
      <trustLevel name="Low"  policyFile="web_lowtrust.config" />
      <trustLevel name="Minimal" policyFile="web_minimaltrust.config"/>
    </securityPolicy>
  </system.web>
</location>

<location allowOverride="false">
  <system.web>
    <trust level="Medium" originUrl="" />
  </system.web>
</location>

<location allowOverride="true" path="Default Web Site/Temp">
  <system.web>
    <trust level="Medium" originUrl="" />
  </system.web>
</location>

Informações do elemento

Manipulador da seção de configuração

TrustSection

Membro de configuração

AspNetHostingPermission

Locais configuráveis

Machine.config

Web. config de nível de raiz

Web. config de nível de aplicativo

Requisitos

De da (IIS) versão 5.0, 5.1 ou 6.0

A.NET Framework versão 1.0, 1.1 ou 2.0

Microsoft Visual Studio 2003 ou 2005 de Visual Studio

Consulte também

Tarefas

Como: Configurar Diretórios Específicos Usando Configurações por Localização

Como: Bloquear definições de configuração ASP.NET

Referência

system.web Element (ASP.NET Settings Schema)

configuração Element (Geral Configurações Schema)

trustLevel elemento para securityPolicy (ASP.NET Configurações Schema)

securityPolicy Element (ASP.NET Settings Schema)

System.Configuration

System.Net.Configuration

TrustSection

AspNetHostingPermission

Conceitos

Níveis de confiança ASP.NET e arquivos de diretiva

Níveis de confiança ASP.NET e arquivos de diretiva

Administrar a diretiva de segurança

Protegendo a configuração do ASP.NET

Cenários de configuração ASP.NET

Outros recursos

Segurança de aplicativos da Web ASP.NET

General Configuration Settings (ASP.NET)

ASP.NET Configuration Settings

Administração de Sites do ASP.NET

Arquivos de configuração ASP.NET

API de Configuração do ASP.NET