人生必须的知识就是引人向光明方面的明灯。这篇文章主要讲述Office365混合部署进阶系列教程四:ADFS联合身份认证相关的知识,希望能为你提供帮助。
一、什么是ADFS?
Active Directory FederationService(ADFS)是微软基于WindowsServer平台的身份认证服务,可以为用户提供跨组织边界的系统和应用程序单一登录(SSO)授权服务,
从而实现联合身份和资源访问管理。
简单来说,ADFS联合认证服务,可以快速打通公司本地AD和第三方系统,ADFS负责身份认证过程,验证通过后通知第三方系统,再由第三方系统提供相对应的服务,实现不同组织间的资源访问。
工作过程如下图所示:
举个简单的例子,比如Zoom视频会议平台,它支持SMAL2.0协议,所以我们可以将其接入ADFS,这样公司用户在登录Zoom的时候,会自动跳转到公司的ADFS门户认证页面,使用AD账号完成身份认证后,再跳转回到Zoom网站,Zoom网站根据认证结果,授予相应的资源访问权限。
二、ADFS的组成
ADFS总共由4个角色组成,以下为各角色的功能介绍,实际环境中会按需求部署角色。
三、规划ADFS架构
ADFS目前有三种可选的架构(拓扑图来自微软官方网站):
?WID:windows Internal
database,即Windows内置数据库。
具体选择哪种架构,要视实际情况而定,在考虑成本的情况下,我们会推荐选择第1或者第2种架构,使用WID数据库来部署,WID可以支持最多100个信赖方,且WID场支持不多于30台的ADFS服务器,当然,如果实际环境中超过100个信赖方,那可以考虑使用第3种架构。
在实际项目中,我们有采用过第3种架构,后端两台SQLServer
做AlwaysOn可用性组高可用,两台ADFS服务器场,前端两台代理服务器代理ADFS请求,这种架构相对复杂,并且成本会提高,比如搭建AlwaysOn可用性组SQL Server的授权必须是企业版,这成本就上来了,不建议使用。
回到之前混合部署的测试项目中来,我们将采用第1种架构,第2种架构前端多了一台代理服务器,在安全性要求高的组织中可能会需要,会简单介绍一下。
四、部署ADFS联合服务器
我们会用fss01.contoso.com这台服务器来安装部署ADFS服务,这台服务器是不是有些眼熟?对,就是之前我们安装AAD Connect的服务器,不是必须,是节约资源,实际生产环境中,可以单独用一台服务器来部署。
4.1 准备一张用于ADFS的公网SSL证书 主题名称和主题可选名称必须包含联合身份验证服务名称,例如 fs.contoso.com。
使用者可选名称必须包含值
enterpriseregistration,
后跟组织的"用户主体名称 ( UPN"后缀, )
例如
enterpriseregistration.corp.contoso.com。
我们环境中应添加两条记录:
fs.mooing.cc
enterpriseregistration.mooing.cc
enterpriseregistration.mooing.cc主要用来设备注册,我们使用的免费SSL证书不支持多域名,所以测试中,我们只添加fs.mooing.cc记录用作演示。
4.2 安装 AD FS 角色服务安装ADFS角色服务,可以通过“添加角色和功能向导”进行,按向导完成即可,没有特别的选项设定,这里我使用Powershell安装,少截点图:
Install-windowsfeature adfs-federation–IncludeManagementTools
4.3 配置联合服务器安装完成ADFS服务器角色之后,我们来配置一下ADFS服务,让它成为联合服务器。
Add-KdsRootKey –EffectiveTime (Get-Date).AddHours(-10)
回到配置向导,添加服务帐号。
4.4 为ADFS服务添加DNS记录接下来,我们需在内网和公网DNS上添加两条记录:
Fs.mooing.cc#A记录内网DNS指向内网IP,公网DNS指向公网IP
Enterpriseregistration.mooing.cc#CNAME指向fs.mooing.cc
4.5 验证ADFS登录1.查看https://fs.mooing.cc/adfs/fs/federationserverservice.asmx网页是否正常显示XML
2.事件查看器中,查看EventID为100的应用程序日志。
五、将其他系统接入ADFS身份认证
5.1 将Office365接入ADFS身份认证在混合部署环境中配置ADFS联合,需要满足以下条件:
以上条件满足的情况下,我们可以使用AAD Connect来配置联合。
完成配置后,我们发现AD FS管理工具中,已经自动添加了与Office365的信任关系,如下图所示:
我们现在尝试登录Office365邮箱,看是否已经切换到ADFS认证
登录https://outlook.office.com
输入邮箱地址下一步之后,会自动跳转到ADFS认证页面,如下图:
验证成功后,成功跳转到Office365邮箱。
5.2 将其他第三方系统接入ADFSADFS支持SMAL协议接入,如果第三方系统支持SAML2.0协议,那我们可以很轻松的将第三方系统接入我们的ADFS,让ADFS来负责身份认证,认证通过后,再由第三方系统提供相应的资源访问,目前我知道的像Zoom会议系统、销售易、UMU培训系统等都支持以SAML协议接入ADFS进行身份认证。
5.1 名词解释在接入第三方系统之前,我们需要先了解下接入时常接触到的名词:
5.2 对接方式
我们可以在ADFS管理控制台中查看ADFS中关于Office365的对接规则,用以学习,同时也可以参考一下如何将??Zoom视频会议接入ADFS??。
下一章,我们来个性化定制一下ADFS的登录界面,提升用户登录体验,先提前看下最终ADFS的自定义登录页效果,图片上车车是不是很眼熟? :)
【Office365混合部署进阶系列教程四(ADFS联合身份认证)】
推荐阅读
- 更好的 java 重试框架 sisyphus 配置的 2 种方式介绍
- 动态路由
- 『数据结构与算法』栈(原理与实现)
- 零基础领跑教科书式博文(DAY2---Linux文件管理)
- # 聊一聊悟空编辑器 #H3C交换机密码设置
- JavaScript中 querySelector 与 getElementById 方法的区别
- WordPress-functions.php导致WordPress错误
- 设置静态首页后,WordPress首页(主页)无法重定向
- WordPress页脚的汇总