Share via


Gravação segura controles gerenciado

Controles gerenciado são assemblies referenciados de páginas da Web que são descarregadas para o computador do usuário e executadas em demanda.De uma perspectiva de segurança de acesso do código, há dois tipos de controles gerenciado: aqueles que são executados sob a diretiva de segurança padrão e aqueles que exigem maior confiança.

Para escrever controles gerenciado que pretendem executar sob a diretiva de segurança padrão, você só precisará saber as operações que são permitidas pela diretiva de segurança padrão para a intranet ou zonas da Internet.Enquanto um controle gerenciado não exige a permissão mais executar que recebe sistema autônomo resultado de sua zona de origem, ele será executado.(Tenha em mente que um administrador ou usuário pode optar por não conceder permissão de quanto a código das zonas Internet ou intranet). Para executar controles gerenciado que exija maior confiança, o administrador ou usuário necessário ajustar a diretiva de segurança de qualquer computador que executará o código.

Sempre que controles possíveis, gerenciado devem ser escritas para que eles não necessitam de permissões que não são concedidas ao código de Internet ou intranet, por padrão.Para a zona da Internet, isso significa que o código é restrito exibir SafeTopLevelWindows e SafeSubWindows (adornados pelo sistema de segurança para impedir que eles representando sistema autônomo caixas de diálogo do sistema), retorno comunicação apenas para seu site de origem e o uso limitado, o armazenamento isolado.

Código da intranet possui permissões um pouco maiores.Para obter detalhes completos, consulte Diretiva de segurança padrão.Se o seu controle precisar acessar arquivos, bancos de dados de usar, coletar informações sobre o computador cliente e assim por diante, ele precisa de algum grau mais alto de confiança.

Desenvolvimento

Controles de alta confiança destinam-se a executar sob uma política de segurança menos restritivas que normalmente seria garante sua origem (intranet ou na Internet).A maioria das demandas de permissão feita pelas bibliotecas de seguras, sistema autônomo ...NET estrutura do estrutura sistema autônomo.NET, realizar movimentações de pilha que verificam todos sistema autônomo chamadores para garantir que receberam a permissão usados desse sistema operacional e que páginas da Web, mas o código não gerenciado, é tratado sistema autônomo chamadores para fins de segurança.Movimentações de pilha são executadas para ajudar a impedir que o código menos confiável chamariz código altamente confiável para executar operações mal-intencionadas.

Como controles gerenciado hospedados em um navegador podem ser manipulados pelo script ativo em uma página da Web, essa página é considerada um chamador e verificada durante um exame da pilha de segurança para ajudar a impedir que os autores de páginas da Web mal-intencionado explorar código mais altamente confiável.A conseqüência de tratar de uma página da Web sistema autônomo um chamador é que um controle recebe um alto nível de confiança com base em seu nome forte ou certificado de publicador e executar uma página da Web será impedida de executar operações não normalmente permitidas código originados da zona da mesma que a página da Web propriamente dito (intranet ou Internet).Para obter mais informações sobre considerações de implantação, consulte a próxima seção.Na face do, isso parece fazer alta confiança controles impossíveis escrever, mas a segurança de acesso do código fornece para esse cenário, permitindo que substituir seletivamente a pilha de segurança orientam o comportamento.

Controles de alta confiança devem fazer uso criteriosos da Declarações para pilha de circuito curto o conduz para as permissões que os chamadores (as páginas da Web do qual foram executados) normalmente não teria que.Quando você usa Declarações, você deve ter cuidado para não expõem APIs perigosas permitiria mal-intencionado páginas da Web para executar operações inadequadas.Por esse motivo, o nível de cuidado e segurança consciousness que devem ser inseridas no escrever um controle de alta confiança abordagens que necessárias para gravar uma biblioteca de classes segura.

A seguir estão algumas dicas para escrever controles gerenciado seguros:

  • Quando possível, encapsule as operações que exigem alta confiança para que eles não são expostos pelo controle.Dessa forma, você pode declarar permissões necessários para as operações e ter confiança páginas da Web usando o controle não poderão abusar a funcionalidade.

  • Se o design do seu controle requer que as operações de alta confiança realiza ser exposto, considere a possibilidade de transformar um site ou uma demanda de permissão de identidade de URL para garantir que ele pode ser chamado somente por páginas da Web da qual desejado a sua execução.

Implantação

Controles de alta confiança sempre devem ser fortes ou assinados com um certificado de publicador (X.509).Isso permite que os administradores de diretiva conceder confiança superior para esses controles sem reduzir a segurança em relação ao outros código Internet ou intranet.Depois do assembly é assinado, o usuário deve criar um novo agrupar de códigos associado com permissões suficientes e especificar que somente o código assinado pela empresa ou organização o usuário poderá associação ao agrupar de códigos.Depois que a diretiva de segurança é modificada dessa maneira, o controle altamente confiável receberá permissões suficientes para executar.

Como diretiva de segurança deve ser modificada para permitir a relação de confiança alto, baixados controles à função, esse tipo de controle de implantação é muito mais fácil em uma intranet corporativa para o qual normalmente há um administrador de empresa que pode implantar as alterações de diretiva descrito em vários computadores cliente.Para controles de alta confiança a ser usado na Internet por usuários Geral com nenhuma afiliação corporativa ou organizacional comuns, deve haver uma relação de confiança entre o publicador de controle e o usuário.Por fim, o usuário deve ser confortável usando as instruções do publicador para modificar a política de e para permitir o controle de alta confiança executar.Caso contrário, o controle não terão permissão para executar.

Consulte também

Conceitos

Introdução à segurança do acesso ao código

Escrevendo seguro classe bibliotecas

Diretiva de segurança padrão

Outros recursos

Criando e usando Assemblies de Nome Forte

Gerenciamento de política de segurança