安全策略管理

重要说明重要事项

在 .NET Framework 4 版中,公共语言运行时 (CLR) 不再为计算机提供安全策略。Microsoft 建议使用 Windows 软件限制策略替代 CLR 安全策略。此主题中的信息适用于 .NET Framework 3.5 和更低版本,不适用于 4 和更高版本。有关此更改和其他更改的更多信息,请参见 .NET Framework 4 中的安全性更改

安全策略是公共语言运行时在确定要授予代码的权限时遵循的可配置的一组规则。 代码由其程序集文件进行标识,这个程序集文件为可执行文件 (.exe) 或库 (.dll)。 运行时检查程序集的可识别特征(如代码出自的网站或区域),以确定代码可以拥有的对资源的访问权。 这些特性被定义为与程序集关联的 System.Security.Policy.Evidence。 程序集的典型 EvidenceUrlZoneStrongNameHash。 在执行过程中,运行时使用 Evidence 来确保代码只访问自身获权访问的资源。

安全策略定义若干代码组并将每个代码组与一个权限集关联。 安全系统使用 Evidence 来确定程序集所属的代码组。 检查所有证据后,程序集与一个或多个代码组关联,得到的权限授予是与所有匹配代码组关联的总权限集。

默认情况下,如果程序集位于运行这些程序集的计算机上,则这些程序集处于 MyComputer 区域中。 MyComputer 区域证据将代码放在 My_Computer_Zone 代码组中并授予其完全信任权限。 完全信任权限集跳过安全检查,并授予代码对所有受保护资源的访问权。 因此,只应在计算机上安装来源完全可信的应用程序,这是非常重要的。 在 .NET Framework 3.5 Service Pack 1 (SP1) 中,完全信任扩展到从 Intranet 和您的计算机运行的程序集。 再次强调,只应运行完全信任的 Intranet 应用程序。 安全策略管理员可以决定将 Intranet 应用程序的策略还原为以前授予的部分信任状态。

虽然默认安全策略适用于大多数情况,但管理员可以根据其组织的特定需要修改或自定义安全策略。 运行时根据安全策略向程序集和应用程序域授予权限。

本节内容

相关章节

  • 安全策略最佳实施策略
    介绍管理员可用来在计算机上或企业中维护安全策略的技术。

  • 安全性的基础概念
    介绍在使用 .NET Framework 安全性之前必须了解的基本概念。

  • 权限
    描述权限对象以及运行时如何使用这些对象。

  • 代码访问安全性
    详细描述 .NET Framework 代码访问安全性,并提供有关在代码中使用此安全性的指导。

  • 安全性工具
    列出并简述 .NET Framework 中包含的安全性工具。