作为设计 Active Directory 联合身份验证服务 (AD FS) 部署过程的一部分,确定希望受 AD DS 保护的联合应用程序的类型。对于要进行联合的应用程序,应用程序必须至少为以下几部分中描述的应用程序类型之一。

若要了解在此版本的 AD FS 中有关改进的应用程序支持的详细信息,请参阅“Windows Server 2008 中 AD FS 的新增功能”(https://go.microsoft.com/fwlink/?LinkId=85684)(可能为英文网页)。

声明感知应用程序

声明是为了用于在应用程序中进行授权而做出的与用户有关的陈述(例如名称、标识、密钥、组、权限或功能),并且能够为 AD FS 联合身份验证中的伙伴双方所接受。

声明感知应用程序是使用 AD FS 类库编写的 Microsoft ASP.NET 应用程序。此类应用程序完全可以使用 AD FS 声明直接做出授权决定。声明感知应用程序接受联合身份验证服务在 AD FS 安全令牌中发送的声明。有关联合身份验证服务如何使用安全令牌和声明的详细信息,请参阅了解联合身份验证服务角色服务

声明映射是映射、删除或筛选操作,或者是将传入声明变成传出声明的操作。声明发送到应用程序时,不会进行声明映射。只有资源伙伴中联合身份验证服务管理员指定的组织声明才会发送到应用程序。(组织声明是组织命名空间中,中间或标准化形式的声明。)有关声明和声明映射的详细信息,请参阅了解声明

下表说明声明感知应用程序可以使用的组织声明:

  • 标识声明(UPN、电子邮件、公用名)

    在配置应用程序时,指定要发送到应用程序的标识声明。不会执行映射或筛选。

  • 组声明

    在配置应用程序时,指定要发送到应用程序的组织组声明。未指定为发送到应用程序的组织组声明将被放弃。

  • 自定义声明

    在配置应用程序时,指定要发送到应用程序的组织自定义声明。未指定为发送到应用程序的组织自定义声明将被放弃。

声明感知授权

声明感知授权由超文本传输协议 (HTTP) 模块和用于查询 AD FS 安全令牌中携带的声明的对象组成。只有 Microsoft ASP.NET 应用程序支持声明感知授权。

HTTP 模块根据 Web 应用程序的 Web.config 文件中的配置设置来处理 AD FS 协议消息。网页执行身份验证和授权任务。HTTP 模块还对 Cookie 进行身份验证,并从 Cookie 中获取声明。

基于 Windows NT 令牌的应用程序

基于 Windows NT 令牌的应用程序是为使用传统的 Windows 本机授权机制而编写的 Internet 信息服务 (IIS) 应用程序。此类应用程序没有准备好使用 AD FS 声明。

只有本地领域或本地领域信任的任何领域中的 Windows 用户,可以使用基于 Windows NT 令牌的应用程序;也就是说,只有可以登录到采用基于 Windows NT 令牌身份验证机制的计算机的用户,才能使用此类应用程序。

注意

在联合身份验证设计中,这表示资源帐户或资源组可能需要进行基于 Windows NT 令牌的身份验证。

发送到基于 Windows NT 令牌的代理的 AD FS 安全令牌可以包含下列任何类型的声明:

  • 用户的用户主体名称 (UPN) 声明

  • 用户的电子邮件声明

  • 组声明

  • 用户的自定义声明

  • 包含用户帐户的安全标识符 (SID) 的 UPN、电子邮件、组或自定义声明。(这仅适用于启用“Windows 信任”选项。)

启用 AD FS 的 Web 服务器生成 Windows 模拟级别的访问令牌。模拟级别的访问令牌捕获客户端进程的安全信息,这使得某个服务有可能在安全操作中“模拟”客户端进程。

对于基于 Windows NT 令牌的 Web 应用程序,以下处理顺序确定如何创建 Windows NT 令牌:

  1. 如果安全声明标记语言 (SAML) 令牌的 SAML advice 元素中包含 SID,将使用 SID 生成 Windows NT 令牌。

  2. 如果 SAML 令牌不包含 SID,而是包含 UPN 标识声明,将使用 UPN 声明生成 Windows NT 令牌。

  3. 如果 SAML 令牌不包含 SID,并且电子邮件标识声明中存在 UPN 标识声明,将解释为 UPN 并用于生成 Windows NT 令牌。

此行为与 UPN 或电子邮件标识声明是否指定为(在联合身份验证服务中创建 Web 应用程序的信任策略项时)用于生成 Windows NT 令牌的标识声明无关。

传统的基于 Windows 的授权

要支持将 AD FS 安全令牌转换为模拟级别 Windows NT 访问令牌,需要许多组件:

  • Internet 服务器应用程序编程接口 (ISAPI) 扩展:此组件检查 AD FS cookie,检查来自联合身份验证服务的 AD FS 安全令牌,执行相应的协议重定向,并写入必要的 Cookie 使 AD FS 生效。

  • AD FS 身份验证包:AD FS 身份验证包生成模拟级别的访问令牌(如果给定域帐户的 UPN)。该包要求调用方具有受信任计算基础 (TCB) 权限。

  • IIS 管理器管理单元中的“AD FS Web 代理”“联合身份验证服务 URL”属性页:您可以使用这些属性页来管理用于验证 AD FS 安全令牌和 Cookie 的策略和证书。

  • AD FS Web 代理身份验证服务:AD FS Web 代理身份验证服务作为本地系统运行,使用用户服务 (S4U) 或 AD FS 身份验证包生成令牌。但是,作为本地系统运行时不需要 Internet 信息服务 (IIS) 应用程序池。AD FS Web 代理身份验证服务包含的接口只能使用本地远程过程调用 (LRPC) 而非远程过程调用 (RPC) 进行调用。如果提供了 AD FS 安全令牌或 AD FS Cookie,服务将返回模拟级别的 Windows NT 访问令牌。

  • AD FS Web 代理 ISAPI 筛选器:某些传统的 IIS Web 应用程序使用的 ISAPI 筛选器可能会修改传入数据,例如统一资源定位器 (URL)。如果是这种情况,必须启用 AD FS Web 代理 ISAPI 筛选器并配置为优先顺序最高的筛选器。默认情况下不启用该筛选器。


目录