Visão geral administração da diretiva de segurança
O sistema de segurança do .NET estrutura é regido por um conjunto configurável de regras denominado diretiva de segurança.Essa diretiva permite que o usuário participante ou administrador ajustar as configurações que determinam quais recursos de código tem permissão para acessar e, em última análise, decida qual código pode ser executado em todos os.
Por exemplo, suponha que você for um administrador na configuração de empresa e você não confia o software que se origina de uma empresa específica.Talvez essa empresa produz software que os funcionários achar interessante, mas causas aumento de tráfego de rede ou faz com que as estações de trabalho se torne instável.Você pode conjunto uma diretiva de segurança de nível corporativo que restringe o acesso software com um nome forte criptográfico específico (um identificador exclusivo de um programa) tem acesso a recursos do computador.Você também pode conjunto uma diretiva que impede que software deste publicador seja executado em todos os.
Este tópico fornece uma visão geral da administração da diretiva de segurança.Para obter informações adicionais, consulte Gerenciamento de diretivas de segurança.
Evidência, grupos de código e conjuntos de permissões
Código que atinge o Common linguagem tempo de execução é implantado em unidades chamadas módulos (assemblies).No time de carregamento, o tempo de execução examina cada assembly de provas, que está identificando informações sobre o assembly (sistema autônomo a assinatura digital do autor do código e o local onde o código é gerado).Com base na prova, o Common Language tempo de execução Gerenciador de segurança mapeia o assembly para um agrupar de códigos com base na diretiva de segurança.Grupos de código são definidos para testar formulários específicos de evidência e ter permissão conjuntos associados a eles.Os conjuntos de módulos que pertencem a um agrupar de código recebem s permissão definido pelo associado permissão define.Para obter mais informações sobre a evidência, grupos, de código e permissão conjuntos, consulte Modelo de diretiva de segurança.
Permissões
As permissões são simplesmente os objetos que representam o direito de acesso um recurso protegido.As permissões podem ser configuradas e um objeto de permissão única pode assumir várias formas.Por exemplo, a FileIOPermission representa o direito para acessar, criar, ler, gravar ou modificar arquivos no disco rígido local.Para que seja significativo, uma permissão deve conter informações específicas sobre o tipo de acesso que ele representa.Você pode configurar um FileIOPermission para representar o direito de ler um arquivo específico, ler e gravar um arquivo específico ou ler os arquivos de um diretório inteiro.Os direitos que representam uma permissão e que os assemblies recebem são totalmente configuráveis pelo administrador do computador.Embora aplicativos podem construir e configurar objetos de permissão como qualquer Outros objeto, somente a diretiva de segurança pode conceder uma permissão a um aplicativo.Finalmente, os administradores controlam a concessão de permissão.Para obter uma lista de permissões comuns, consulte Permissões de acesso do código.
Níveis de Diretiva de segurança
Existem quatro níveis de diretiva de segurança definidas pelo modelo de segurança, que correspondem à administração diferente e cenários de hospedagem.A tabela a seguir descreve cada nível.Nível de diretiva da empresa é o nível mais alto e nível de domínio do aplicativo é o mais baixo.
Nível de diretiva |
Descrição |
---|---|
empresa diretiva |
Definidas por administradores de empresa que conjunto diretiva para domínios corporativos. |
Diretiva de computador |
Definidas por administradores da máquina que conjunto a diretiva para um computador. |
Diretiva de usuário |
Definidos pelos usuários que conjunto diretiva para uma conta de logon único. |
Diretiva de domínio do aplicativo |
Definido pelo host do time de execução (qualquer aplicativo que hospeda o common linguagem tempo de execução) para configuração de diretiva de time de carregamento.Este nível não pode ser administrado. |
Cada nível de diretiva consiste em uma hierarquia de grupos de código.Os administradores de cada nível de diretiva pode criar seus próprios grupos de códigos e associados permissão define.No time de carregamento, o sistema de segurança de acesso do código examina todos os níveis de diretiva e a concessão de permissão resultante é a interseção de todas as permissões permitidas em cada nível.sistema autônomo administradores de um nível mais baixo de diretiva não é possível solte uma decisão de diretiva feita em um nível mais alto, mas eles podem aumentar sistema autônomo políticas tanto quanto desejarem.A diretiva de segurança padrão reside em nível de diretiva do computador.
sistema autônomo configurações de segurança padrão são:
Níveis de usuário e empresa são definidos como irrestritos.
O nível de computador contém as configurações de diretiva específicas e restrições.
As configurações definidas por todos os três níveis constituem as configurações padrão.
Observe que o usuário sem restrições e os níveis de empresa não resultam em irrestrito de permissões que estão sendo concedidas a um assembly.sistema autônomo o nível de computador define várias restrições e todos sistema autônomo três níveis são considerados sistema autônomo um todo, a concessão de permissão resultante não é permissões irrestritas.Para obter mais informações, consulte Modelo de diretiva de segurança.
Mapeamento de grupos de código para permissão conjuntos
Você gerenciar a diretiva de grupos de código para o mapeamento permissão define o nível de diretiva ou níveis que você administra.
Grupos de códigos contêm uma condição de membro, um conjunto de permissões associação e atributos do agrupar de códigos.A evidência que apresenta um assembly para o tempo de execução é comparado com a condição de associação que você especificar para um agrupar de códigos.Se um assembly fornece evidência que coincide com a condição de associação, porta de entrada para o agrupar de códigos é permitido.Os administradores identificam e categorizar os assemblies em grupos de códigos, especificando as condições de associação e atribuir permissão define a esses grupos de código.Opcionalmente, código de agrupar de atributos pode ser usado para especificar se deve ser considerado sem nível de diretiva abaixo do nível corrente ou que nenhum código agrupa exceto corrente deve ser considerado ao atribuir permissão.
sistema autônomo seguintes tipos de evidência interno podem ser usados sistema autônomo condições de associação:
Diretório de instalação do aplicativo
O hash criptográfico do assembly
A assinatura digital do publicador do assembly
O site da qual provém o assembly
O nome do assembly de alta segurança criptográfico
A URL da qual provém o assembly
A zona da qual provém o assembly
Pode reduzir ou aumentar as permissões a conjuntos com base em qualquer combinação dessas condições de associação.Como criar condições de associação personalizado, a lista anterior não representa cada possibilidade.Para obter mais informações, consulte Evidence.
Consulte também
Outros recursos
Práticas Recomendadas de Política de Segurança