大家好,今天小编来为大家解答以下的问题,关于AD FS是什么,用在什么场景,原理是什么?,这个很多人还不知道,现在让我们一起来看看吧!
概述
1. AD FS概述
当应用程序或服务位于一个网络上而用户帐户位于另一网络上时,当用户尝试访问该应用程序或服务时,通常会提示用户输入辅助凭据。这些辅助凭证代表应用程序或服务所在域中的用户身份。托管应用程序或服务的Web 服务器通常需要它们,以便做出最合适的授权决策。
借助AD FS,组织可以通过提供信任关系(联合信任)来绕过对辅助凭据的请求,组织可以使用该信任关系来预测用户的数字身份并访问受信任的合作伙伴。在这种联合环境中,每个组织继续管理自己的身份,但每个组织也可以安全地投射和接受其他组织的身份。
联合是一个跨组织和平台边界进行识别、身份验证和授权的过程。
联合需要两个组织或实体之间建立信任关系,并允许组织保留对资源访问及其自己的用户和组帐户的控制。当您想要跨越该边界(域服务充当组织边界)时,与Active Directory 域服务相比,这是一个很好的优势。它将包含您组织的用户、计算机、组和其他对象。 Active Directory 联合服务允许信任一方面管理资源,另一方面管理帐户。
2. AD FS应用场景概述
AD FS可以应用在哪些场景?从应用对象来看,这会发生在企业之间、企业与员工之间、多个Web应用之间等。所以就会有如下的联邦方案:
企业对企业联合组织:
如果我想连接到合作伙伴组织并允许在我的应用程序中使用他们的帐户,或者在他们的应用程序中使用我的帐户。
企业对消费者或企业对员工的联盟(Web 单点登录场景):
使企业能够向具有单独域的业务合作伙伴或其他业务部门提供单点登录。该服务允许拥有外围域的企业为内部用户帐户提供身份验证。
例如,我可以在工作时轻松登录内部网站。我已登录我的电脑;它使用获得的身份验证凭据。一天结束时我回家。我想访问这些相同的资源,这个想法可能吗?
它允许我通过外部路径登录到这些资源,并使用联合服务将我的内部域帐户连接到此外部资源以实现此想法,同时允许我使用相同的凭据。
组织内跨多个Web 应用程序的联合:
如果由于某种原因,您的组织的Web 应用程序使用不同的、可能不同的身份验证存储或不同的身份验证机制,而这些身份验证机制无法通过Windows 本身自动授权用户,则您可以使用此方案。对于这种情况,您还可以使用联合服务。
3、企业部署流程概述
在企业部署AD FS时,我们通常将其部署在现有的AD域中。关于添加域的细节我们不再赘述,直接讲解AD FS的部署过程。建议AD FS代理服务器不加入域环境,部署在DMZ区域。在部署过程中,强烈建议注意证书、域名要求、权限等。
部署过程主要包括以下步骤:
部署ADFS 群集NLBADFS 安装和配置部署ADFS 代理服务器(WAP) 群集NLBADFS 代理服务器(WAP) 安装和配置
关键概念
AD FS管理控制台界面如下图:
1.AD FS相关术语
客户合作伙伴组织
帐户联合服务器
AD FS 配置数据库
存储代表单个AD FS 实例或联合服务的所有配置数据的数据库。此配置数据可以存储在SQL Server 数据库中,或使用Windows Server 2016、Windows Server 2012 和2012 R2 以及Windows Server 2008 和2008 R2 附带的Windows 内部数据库(WID) 功能。
您可以使用Fsconfig.exe 命令行工具为SQL Server 创建AD FS 配置数据库,也可以使用AD FS 联合服务器配置向导为Windows 内部数据库创建AD FS 配置数据库。
联合元数据
联合服务器
已使用AD FS 联合服务器配置向导配置为承担联合服务器角色的Windows Server。联合服务器颁发令牌作为联合服务的一部分。
联合服务器代理
已使用AD FS 联合服务器代理配置向导配置为充当Internet 客户端与位于公司网络防火墙后面的联合身份验证服务之间的中间代理服务的Windows 服务器。
主联合服务器
在联合服务器角色中使用AD FS 联合服务器配置向导进行配置并具有AD FS 配置数据库的读/写副本的Windows Server。
当您使用AD FS 联合服务器配置向导并选择创建新联合服务的选项以使该计算机成为场中的第一台联合服务器时,将创建主联合服务器。
信赖方
信赖方信任
在AD FS 管理管理单元中,依赖方信任是通常在以下情况下创建的信任对象:
账户伙伴组织,代表具有信任关系的组织,其账户将访问资源伙伴组织中的资源。资源合作伙伴组织用于表示联合服务和单个基于Web 的应用程序之间的信任。
依赖方信任对象由各种标识符、名称和规则组成,供该合作伙伴或本地联合服务上的Web 应用程序使用。
资源联合服务器
资源合作伙伴组织中的联合服务器。资源联合服务器通常根据帐户联合服务器颁发的安全令牌向用户颁发安全令牌。
资源伙伴组织
2. 特色存储-作用
Active Directory 联合身份验证服务使用术语“属性存储”来指代组织用于存储其用户帐户及其关联属性值的目录或数据库。
属性存储如何满足AD FS 部署目标
用户属性的存储位置以及对用户进行身份验证的位置决定了AD FS 如何设计来支持用户身份。根据功能存储库的位置以及用户访问应用程序的位置(在Intranet 或Internet 中),可以使用以下部署目标之一:
为您的Active Directory 用户提供对其他组织的应用程序和服务的访问权限:在此目标下,组织用户在登录到属性存储时可以访问受AD FS 保护的应用程序或服务(您自己的应用程序或服务或合作伙伴应用程序或服务)公司内部网和远程互联网。
AD FS 支持的属性存储
Windows Server 2003 中的Active Directory(Active Directory 域服务)、Windows Server 2008、Windows Server 2012 和2012 R2 中的AD DS 以及Windows Server 2016 中的AD DS。 Microsoft SQL Server 2005、SQL Server 2008、SQL Server 2012 的所有版本、SQL Server 2014 和SQL Server 2016。自定义属性存储。
接受转换规则的输出用作发布授权规则的输入,该规则确定是否允许用户访问依赖方。
7. AD FS 中的URL
统一资源标识符(URI) 是用作唯一标识符的字符串。在AD FS 中,URI 用于标识合作伙伴网络地址和配置对象。当用于标识合作伙伴网络地址时,URI 始终是URL。当用于标识配置对象时,URI 可以是URN 或URL。
用作合作伙伴网络地址的URI
下表描述了管理员在AD FS 中最常处理的标识符:
依赖方标识符URI 前缀匹配
URI 的路径语法按层次结构组织,并由所有“/”字符或所有“:”字符分隔。因此,可以根据分隔字符将路径拆分为多个路径部分。匹配前缀时,每个部分必须与这些控制匹配大小写的匹配规则完全匹配。
当在联合身份验证服务的请求中标识依赖方时,AD FS 使用前缀匹配逻辑来确定AD FS 配置数据库中是否存在匹配的依赖方信任。
例如,如果AD FS 配置中的依赖方标识符(数据库URI1)是传入请求中的依赖方标识符(URI2) 的前缀,则必须满足以下条件:
路径部分或权限中的尾部分隔符斜杠(slash)和冒号必须被忽略。 URI1 和URI2 的方案和授权部分必须完全匹配(不区分大小写)。 URI1 的每个路径部分必须与为相应路径部分选择的URI2 的大小写完全匹配。 URI2 可以比URI1 具有更多的路径部分,但URI1 不能比URI2 具有更多的路径部分。 URI1 的路径部分不能多于URI2。如果URI1 有查询字符串,则它必须与URI2 查询字符串完全匹配。如果URI1 有片段,它必须与URI2 片段完全匹配。
AD FS 原理
下图展示了ADFS的整体流程(与Azure环境集成):
1. 主要原则
用户向ADFS 请求令牌以访问APPX(有生命周期)。 ADFS 验证用户身份并向AD 进行身份验证。该安全令牌允许用户访问应用程序。 2、从企业到员工的联盟
用户浏览应用(信任STS),未验证身份。重定向到ADFS 的STS 以请求安全令牌。用户使用此安全令牌来访问应用程序。验证通过后,应用程序将cookie和页面返回给用户。 3. 企业对企业联盟
用户-合作伙伴,应用程序-您的环境:
当合作伙伴用户浏览您的应用程序时,不会验证其身份,但会了解您的ADFS STS 的URL。重定向到您的STS(安全令牌服务)。该用户不是来自您的组织。您的ADFS 将通过主域发现返回其组织的ADFS STS 的URL。重定向到其组织的STS,为他们请求ST(安全令牌)。他们组织的STS 向他们的AD 进行身份验证。如果验证通过,则返回其组织的STS签发的ST。再次重定向到您的STS,该STS 处理其组织发布的ST。返回可用于访问您的应用程序的新ST。合作伙伴用户将新的ST 发送到您的应用程序。该应用程序经过身份验证,并向合作伙伴用户返回cookie 和页面。
总结
其他优质文章
《并发操作》什么是协程、线程、进程,以及如何在python中应用它们?
恭喜!蓝鲸DevOps平台帮助人保财险通过DevOps持续交付Level 3
“宝贝宝贝岛”拥有上千家门店及多元化母婴零售,云系统支撑业务发展
原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/202226.html
用户评论
一点一点把你清空
终于找到解释AD FS的博客了!我一直很好奇企业安全里这个东西是什么,看完这篇文章就豁然开朗了。原来它就是专门用来管理用户身份和访问权限的高级认证系统,对于多租户环境太有用了。<br>
有13位网友表示赞同!
?娘子汉
说这么多好像还没告诉我AD FS到底有没有实际的使用场景啊?能不能举个具体的例子?我想看看它的优势有哪些,什么时候才会用到它去替换其他方案。
有20位网友表示赞同!
我一个人
文章说的很清楚了,我之前公司用的微软Active Directory就内置了AD FS功能, 我觉得它最强大的地方就是可以和很多应用系统集成,实现单点登录, 提高效率而且也很好用! <
有16位网友表示赞同!
心贝
我觉得这个AD FS的原理有点复杂,像密码hash、Kerberos认证这些我以前也没接触过,下次学习一下。不过总觉得这种基于身份识别验证的安全策略还是很有必要的啊.
有10位网友表示赞同!
你瞒我瞒
说实话,对于小白来说,文章中的专业术语看得有点懵,能不能解释得简单一些? 比如说 “Claims-Based Authentication” 是怎么运作的啊?
有9位网友表示赞同!
莫名的青春
我理解AD FS是一种安全的验证机制,但是不是也会带来一定的性能开销呢?毕竟多重认证都需要时间来完成。在实际应用中,需要考虑这个因素。
有6位网友表示赞同!
白恍
看来 AD FS 真的蛮有用的!可以有效地保护企业网络安全,而且还能提高用户体验。我应该去学习一下它的相关知识了。
有16位网友表示赞同!
巷陌繁花丶
对于AD FS和SSO之间的关系,文章描述的还不够清楚啊?
有6位网友表示赞同!
命运不堪浮华
总而言之,AD FS 就是为了解决多租户环境下用户身份验证和授权的问题。文章解释得很不错了,让我对这个机制有了更深入的了解!
有14位网友表示赞同!
一笑抵千言
不过我觉得这篇文章缺少一些实际案例或者应用场景的介绍, 这样读者更容易理解它在实践中的意义。
有11位网友表示赞同!
冷风谷离殇
我一直都觉得安全认证是越来越重要的, 希望未来能够看到更多关于AD FS 的发展和应用, 它将会随着云计算的发展越来越受欢迎
有12位网友表示赞同!
灬一抹丶苍白
感觉这篇文章对于初学者来说解释得太过于专业了 ,最好能加入一些通俗易懂的例子,让新手更容易理解 。
有15位网友表示赞同!
站上冰箱当高冷
我公司现在用的AD FS来管理员工的账号访问权限,自从用了以后工作起来效率提高了不少! 特别是那个单点登录的功能简直太棒了…
有15位网友表示赞同!
堕落爱人!
这篇博文挺好的,解答了我很多关于AD FS的问题。 原理虽然有点复杂,但是文章解释得很清楚,而且还提供了一些相关资源,继续学习下去!
有20位网友表示赞同!
烟雨萌萌
文章描述的AD FS 的功能很强大,尤其适合大型企业的用户身份管理和访问控制。 但对于小型企业来说,可能有些过分了…
有19位网友表示赞同!
景忧丶枫涩帘淞幕雨
学习了一下AD FS基本概念后,我感觉它对互联网应用程序安全还是很有帮助的! 有机会一定要深入学习一下它的具体应用
有18位网友表示赞同!
煮酒
如果想进一步了解 AD FS 的更多细节,比如具体的配置和管理方法,或许需要查阅一些更深入的官方文档。
有9位网友表示赞同!
凝残月
我觉得AD FS的未来发展很值得期待!随着云计算、物联网等技术的广泛应用,安全认证将变得更加重要,而 AD FS 作为一种成熟的安全解决方案,相信会在未来的发展中占据更有优势的位置。
有10位网友表示赞同!