30、深入了解 Active Directory Federation Services (AD FS)

深入了解 Active Directory Federation Services (AD FS)

1. 什么是 Active Directory Federation Services (AD FS)

Active Directory Federation Services (AD FS) 是微软的身份联合解决方案。身份联合允许在组织边界之间进行身份识别、授权和认证。当建立联合信任时,用户可以使用其本地凭据访问另一个组织托管的资源。如果配置正确,联合还能使用户访问云托管的资源。与配置全林或域信任关系相比,AD FS 可以在合作伙伴组织之间配置对信息和资源的高度受限访问,同时仍允许每个合作伙伴使用自己的凭据进行身份验证。

2. AD FS 组件

Windows Server 2019 中的 AD FS 部署由两个组件组成:
- 联合服务器 :托管联合服务器角色的计算机管理涉及身份声明的请求。在部署 AD FS 时,Active Directory 林中必须至少有一台联合服务器。
- Web 应用程序代理 :当需要为不可信网络(如 Internet)上的客户端提供 AD FS 功能时,可在周边网络上部署充当 Web 应用程序代理的计算机。该服务器将连接中继到内部网络上的联合服务器,此角色也可安装在独立计算机上。在 Windows Server 2012 及更早版本的 AD FS 中,此角色称为联合代理。

graph LR
    classDef process fill:#E5F6FF,stroke
### Active Directory Federation Services 对 SAML 的支持 #### 支持的标准协议 Active Directory Federation Services (AD FS) 使用基于标准的 WS-Federation 协议以及 SAML(安全断言标记语言),这使得 AD FS 不仅限于 Microsoft 生态系统内的交互,还可以与其他联邦平台无缝协作[^4]。 #### 功能特性 AD FS 提供的身份验证机制能够确保凭证只暴露给用户的本地 ADFD 服务器。这种设计增强了安全性并减少了敏感信息在网络上传输的风险。对于依赖 SAML 进行单点登录的应用程序来说,这意味着可以更安全高效地处理跨域访问请求。 #### 配置灵活性 借助 AD FS,企业可以通过建立联盟信任来实现合作伙伴间的安全在线交易。此功能特别适用于需要频繁交换数据的企业之间,在不影响各自内部系统的前提下完成身份验证流程。由于采用了标准化的方法,因此即使对方不是使用相同的技术栈也无妨——IBM Tivoli、Novell Access Manager 或 Sun OpenSSO 等不同厂商的产品均能与之兼容工作。 #### 实际应用场景 当涉及到具体实施时,比如将 Spring Boot 应用与 AD FS 结合起来做为身份提供商,则会发现整个过程因为有了自动配置等便利特性的存在而变得更加简单快捷[^1]。同样地,在 Node.js 开发环境中利用 Passport-SAML 中介件也可以很容易地把 AD FS 设定为目标 IdP 来保护 web 应用和服务 API 接口[^3]。 ```javascript const passport = require('passport'); const SamlStrategy = require('passport-saml').Strategy; // 创建一个新的SAML策略实例 let samlStrategy = new SamlStrategy( { entryPoint: 'https://adfs.example.com/adfs/ls/', issuer: 'http://localhost:3000', callbackUrl: 'http://localhost:3000/login/callback' }, function(profile, done){ // 用户资料解析逻辑... } ); passport.use(samlStrategy); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值