还可以根据用户的角色成员身份和用于发出请求(GET、POST 等等)的 HTTP 谓词类型来限制访问。
URL 授权需要经过身份验证的标识。它可以通过 Windows 或基于身份验证票的身份验证方案来获得。
• 文件授权.只有在使用 IIS 提供的一种 Windows 身份验证机制对调用方进行身份验证并且ASP.NET已配置为使用 Windows 身份验证时,文件授权才适用。
您可以使用它限制对 Web 服务器上的指定文件的访问。访问权限由与文件相关的 Windows ACL 确定。
• 主体权限需求.主体权限需求可以作为一种(以声明方式或编程方式)更加细化的访问控制机制来使用。这种权限需求使您可以根据单个用户的标识和组成员身份控制对类、方法或单个代码块的访问。
• .NET 角色..NET角色用于将应用程序内具有相同权限的用户集合在一起。它们在概念上与以前基于角色的实现手段(例如,Windows 组和 COM+ 角色)类似。不过,与这些方法不同,.NET 角色不需要经过身份验证的 Windows 标识,可在基于身份验证票的身份验证方案(如窗体身份验证)中使用。
.NET 角色可用于控制对资源和操作的访问,并且,这类角色既可以用声明方式配置,也可以用编程方式配置。
更多信息
有关ASP.NET授权的详细信息,请参阅“ASP.NET 安全性”。
Enterprise Services 授权
对企业服务应用程序内服务组件中所含功能的访问受企业服务角色成员身份制约。与.NET角色不同,它们可以包含 Windows 组或用户帐户。角色成员身份在 COM+ 目录内定义并通过使用“组件服务”工具管理。
更多信息
有关 Enterprise Services 授权的详细信息,请参阅“企业服务安全性”。
SQL Server 授权
SQL Server 允许设置细化的权限,这些权限可应用于单个数据库对象。可以让权限基于角色成员身份(SQL Server 提供固定的数据库角色、用户定义的角色和应用程序角色),也可以将权限授予单个的 Windows 用户或组帐户。
更多信息
有关 SQL Server 授权的详细信息,请参阅“数据访问安全性”。
网关守卫和关口
在本文档的其余部分,术语网关守卫 用来指负责关口 的技术。关口表示应用程序内的访问控制点(保护资源)。例如,资源可以是某个操作(由对象的方法表示)或数据库或文件系统资源。
前面所列的每种核心技术都为访问授权提供了网关守卫。请求必须先通过一系列的关口,然后才被允许访问所请求的资源或操作。下面说明请求必须通过的各个关口:
• IIS 在您对用户进行身份验证(即您禁用匿名身份验证)时提供关口。 IIS Web 权限可用作访问控制机制,该机制限制 Web 用户对特定文件和文件夹的访问能力。与 NTFS 文件权限不同,Web 权限应用于所有 Web 用户,而不是单个的用户或组。 NTFS 文件权限对 Web 资源(如 Web 页、图像文件,等等)提供进一步的限制。这些限制适用于单个的用户或组。
IIS 检查 Web 权限,接着检查 NTFS 文件权限。用户必须获得两种机制的授权后才能访问文件或文件夹。如果 Web 权限检查失败,IIS 将返回HTTP 403 — 访问拒绝响应,如果 NTFS 权限检查失败,IIS 将返回HTTP 401 — 拒绝访问。
• ASP.NET 提供了各种可配置的编程关口。其中包括 URL 授权、文件授权、主体权限需求和 .NET 角色。
• Enterprise Services 网关守卫使用 Enterprise Services 角色来授予对业务功能的访问权限。
• SQL Server 2000 包括一系列关口,包括服务器登录、数据库登录和数据库对象权限。
• Windows 2000 使用与安全资源相关的 ACL 提供关口。
底线是:网关守卫根据调用到关口并尝试访问特定资源的用户或服务的标识来授权。多个关口的好处是通过多条防御线提供纵深防御安全机制。表 2.2 摘要说明各种网关守卫及其负责的关口。
表 2. 网关守卫的责任及其提供的关口
网关守卫 关口
Windows 操作系统
登录权限(肯定和否定,例如“拒绝本地登录”)
其他权限(例如“充当操作系统的一部分”)
对保护的资源(如注册表和文件系统)进行访问检查。访问检查使用与安全资源相关的ACL,这些ACL指定允许谁访问资源和不允许谁访问资源,并指定允许执行的操作类型。
TCP/IP 筛选
IP安全性
IIS
身份验证(匿名、基本、摘要式、集成、证书)
IP 地址和域名限制(它们可用来加强安全防御,但不应依靠它们,因为使用欺骗性的 IP 地址是比较容易的事情)。
Web 权限
NTFS 权限
ASP.NET
URL授权
文件授权
主体权限需求
.NET角色
企业服务
Windows (NTLM / Kerberos) 身份验证
Enterprise Services (COM+)角色
模拟级别
Web 服务
使用 IIS 和ASP.NET提供的关口
远程处理
使用主机提供的关口。如果是在 ASP.NET中承载的,它使用 IIS 和 ASP.NET 提供的关口。如果是在 Windows 服务中承载的,则必须开发自定义的解决方案 。
ADO.NET
连接字符串可以使用显式证书,也可以使用 Windows 身份验证(例如,连接到 SQL Server 时)
SQL Server
服务器登录
数据库登录
数据库对象权限
通过在应用程序各层上使用各种关口,您可以筛选出应允许哪些用户访问您的后端资源。请求在通过应用程序到达后端资源的过程中,一系列相连的关口的控制越来越细化,使得访问范围逐步缩小。
请考虑使用 IIS 的基于 Internet 的应用程序示例,如图 4 所示。
图 4 用网关守卫筛选用户
图 4 说明以下几点:
&#
URL 授权需要经过身份验证的标识。它可以通过 Windows 或基于身份验证票的身份验证方案来获得。
• 文件授权.只有在使用 IIS 提供的一种 Windows 身份验证机制对调用方进行身份验证并且ASP.NET已配置为使用 Windows 身份验证时,文件授权才适用。
您可以使用它限制对 Web 服务器上的指定文件的访问。访问权限由与文件相关的 Windows ACL 确定。
• 主体权限需求.主体权限需求可以作为一种(以声明方式或编程方式)更加细化的访问控制机制来使用。这种权限需求使您可以根据单个用户的标识和组成员身份控制对类、方法或单个代码块的访问。
• .NET 角色..NET角色用于将应用程序内具有相同权限的用户集合在一起。它们在概念上与以前基于角色的实现手段(例如,Windows 组和 COM+ 角色)类似。不过,与这些方法不同,.NET 角色不需要经过身份验证的 Windows 标识,可在基于身份验证票的身份验证方案(如窗体身份验证)中使用。
.NET 角色可用于控制对资源和操作的访问,并且,这类角色既可以用声明方式配置,也可以用编程方式配置。
更多信息
有关ASP.NET授权的详细信息,请参阅“ASP.NET 安全性”。
Enterprise Services 授权
对企业服务应用程序内服务组件中所含功能的访问受企业服务角色成员身份制约。与.NET角色不同,它们可以包含 Windows 组或用户帐户。角色成员身份在 COM+ 目录内定义并通过使用“组件服务”工具管理。
更多信息
有关 Enterprise Services 授权的详细信息,请参阅“企业服务安全性”。
SQL Server 授权
SQL Server 允许设置细化的权限,这些权限可应用于单个数据库对象。可以让权限基于角色成员身份(SQL Server 提供固定的数据库角色、用户定义的角色和应用程序角色),也可以将权限授予单个的 Windows 用户或组帐户。
更多信息
有关 SQL Server 授权的详细信息,请参阅“数据访问安全性”。
网关守卫和关口
在本文档的其余部分,术语网关守卫 用来指负责关口 的技术。关口表示应用程序内的访问控制点(保护资源)。例如,资源可以是某个操作(由对象的方法表示)或数据库或文件系统资源。
前面所列的每种核心技术都为访问授权提供了网关守卫。请求必须先通过一系列的关口,然后才被允许访问所请求的资源或操作。下面说明请求必须通过的各个关口:
• IIS 在您对用户进行身份验证(即您禁用匿名身份验证)时提供关口。 IIS Web 权限可用作访问控制机制,该机制限制 Web 用户对特定文件和文件夹的访问能力。与 NTFS 文件权限不同,Web 权限应用于所有 Web 用户,而不是单个的用户或组。 NTFS 文件权限对 Web 资源(如 Web 页、图像文件,等等)提供进一步的限制。这些限制适用于单个的用户或组。
IIS 检查 Web 权限,接着检查 NTFS 文件权限。用户必须获得两种机制的授权后才能访问文件或文件夹。如果 Web 权限检查失败,IIS 将返回HTTP 403 — 访问拒绝响应,如果 NTFS 权限检查失败,IIS 将返回HTTP 401 — 拒绝访问。
• ASP.NET 提供了各种可配置的编程关口。其中包括 URL 授权、文件授权、主体权限需求和 .NET 角色。
• Enterprise Services 网关守卫使用 Enterprise Services 角色来授予对业务功能的访问权限。
• SQL Server 2000 包括一系列关口,包括服务器登录、数据库登录和数据库对象权限。
• Windows 2000 使用与安全资源相关的 ACL 提供关口。
底线是:网关守卫根据调用到关口并尝试访问特定资源的用户或服务的标识来授权。多个关口的好处是通过多条防御线提供纵深防御安全机制。表 2.2 摘要说明各种网关守卫及其负责的关口。
表 2. 网关守卫的责任及其提供的关口
网关守卫 关口
Windows 操作系统
登录权限(肯定和否定,例如“拒绝本地登录”)
其他权限(例如“充当操作系统的一部分”)
对保护的资源(如注册表和文件系统)进行访问检查。访问检查使用与安全资源相关的ACL,这些ACL指定允许谁访问资源和不允许谁访问资源,并指定允许执行的操作类型。
TCP/IP 筛选
IP安全性
IIS
身份验证(匿名、基本、摘要式、集成、证书)
IP 地址和域名限制(它们可用来加强安全防御,但不应依靠它们,因为使用欺骗性的 IP 地址是比较容易的事情)。
Web 权限
NTFS 权限
ASP.NET
URL授权
文件授权
主体权限需求
.NET角色
企业服务
Windows (NTLM / Kerberos) 身份验证
Enterprise Services (COM+)角色
模拟级别
Web 服务
使用 IIS 和ASP.NET提供的关口
远程处理
使用主机提供的关口。如果是在 ASP.NET中承载的,它使用 IIS 和 ASP.NET 提供的关口。如果是在 Windows 服务中承载的,则必须开发自定义的解决方案 。
ADO.NET
连接字符串可以使用显式证书,也可以使用 Windows 身份验证(例如,连接到 SQL Server 时)
SQL Server
服务器登录
数据库登录
数据库对象权限
通过在应用程序各层上使用各种关口,您可以筛选出应允许哪些用户访问您的后端资源。请求在通过应用程序到达后端资源的过程中,一系列相连的关口的控制越来越细化,使得访问范围逐步缩小。
请考虑使用 IIS 的基于 Internet 的应用程序示例,如图 4 所示。
图 4 用网关守卫筛选用户
图 4 说明以下几点:
&#
| 对此文章发表了评论 |

