出处:TechTarget 作者:Brien M. Posey 时间:2007-7-4 9:19:41
Microsoft's 将推出的Windows Server 2003 R2最引人注目的新特点是活动目录联合服务 (ADFS). ADFS是一种能够用于一次会话过程中多个Web应用用户认证的新技术。在这篇文章中,我会解释ADFS的重要特点和ADFS的工作原理。
什么是ADFS?ADFS将活动目录拓展到Internet。要理解这一点,可以考虑一般活动目录设施的工作原理。当用户通过活动目录认证时,域控制器检查用户的证书。证明是合法用户后,用户就可以随意访问Windows网络的任何授权资源,而无需在每次访问不同服务器时重新认证。
ADFS将同样的概念应用到Internet. 我们都知道Web应用访问位于SQL Server或其他类型后端资源上的后端数据。对后端资源的安全认证问题往往比较复杂。可以有很多不同的认证方法提供这样的认证。例如,用户可能通过RADIUS(远程拨入用户服务认证)服务器或者通过应用程序代码的一部分实现所有权认证机制。
这些认证机制都可实现认证功能,但是也有一些不足之处。不足之一是账户管理。当应用仅被我们自己的员工访问时,账户管理并不是个大问题。但是,如果您的供应商、客户都使用该应用时,您会突然发现您需要为其他企业的员工建立新的用户账户。不足之二是维护问题。当其他企业的员工离职,雇佣新员工时,您需要删除旧的账户和创建新的账户。密码也是一个问题。一旦应用配置完成,您要不断的为那些甚至没有为您公司工作的人员重新修改密码。
ADFS能为您做什么?如果您将账户管理的任务转移到您的客户、供应商或者其他使用您Web应用的人会怎样?设想一下,如果您这样,Web应用为其他企业提供服务,而您再也不用为那些员工创建用户账户或者重设密码。如果这还不够,使用这一应用的用户不再需要登录应用。这听起来是不是好得让人难以置信?
通过技术您可以创建跨森林的信任和将这种信任拓展到Web应用. 例如,假设您的供应商需要访问您的Web应用。您不用为您的供应商建立和维护一系列用户账户,他们可以在自己的活动目录下创建安全组。通过组维护所有需要访问您Web应用的用户。然后,您可以简单地对组授予权限。即使组存在于一个和您的Web应用完全不同活动目录森林也能实现。这样,当供应商网络上的用户想要访问您的Web应用时,他们并不需要登录,应用自动地通过组成员资格完成用户认证。
当然,这只是您怎样建立联合信任的一个例子。Windows Server 2003 R2还未正式发布,目前关于ADFS配置过程的资料还不是很多 。实际的配置过程可能和上文提到的略有不同,但是基本原理是不变的。
ADFS需要什么?当然,活动目录联合服务还需要其它的一些配置才能使用,您需要一些服务器执行这些功能。最基本的是联合服务器,联合服务器上运行ADFS的联合服务组件。 联合服务器的主要作用是发送来自不同外部用户的请求,它还负责向通过认证的用户发放令牌。
另外在大多数情况下还需要联合代理。试想一下,如果外部网络要能够和您内部网络建立联合协议, 这就意味着您的联合服务器要能通过Internet访问。但是活动目录联合并不很依赖于活动目录,因此直接将联合服务器暴露在Internet上将带来很大的风险。正因为这样,联合服务器不能直接和Internet相连,而是通过联合代理访问。联合代理向联合服务器中转来自外部的联合请求,联合服务器就不会直接暴露给外部。
另一ADFS的主要组件是ADFS Web代理。Web应用必须有对外部用户认证的机制。这些机制就是ADFS Web代理。 ADFS Web代理管理安全令牌和向Web 服务器发放的认证cookies。
正如上文所说的, ADFS将极大地扩充Web应用的能力。拭目以待R2的发布和ADFS在实际应用中使用。