什么是 SAML?| SAML 身份验证如何工作
什么是 SAML
安全断言标记语言 (SAML) 是一种标准方法,用于告知外部应用程序和服务某一用户正是其声称的身份。SAML 提供一种方法来对用户进行一次身份验证,然后将该身份验证传递给多个应用程序,从而使单点登录 (SSO)技术成为可能。SAML 的最新版本是 SAML 2.0。
SAML 身份验证可以比作身份证,即一种简略展示一个人是谁的标准化方式。譬如,不必进行一系列的 DNA 测试来确认一个人的身份,只需看一眼这个人的身份证便可。
计算和网络方面的一大挑战是,让不同供应商为不同目的构建的系统和设备协同工作。这称为“互操作性”:不同机器能够彼此交互,尽管它们有不同的技术规格。SAML 是一种互操作标准,提供一种广泛接受的方式,将用户身份传达给云服务提供商。
什么是单点登录(SSO)
单点登录(SSO)是一种可以同时针对多个应用程序和服务验证用户身份的方式。使用 SSO 时,用户可以在一个登录屏幕中登录,然后就能使用多个应用程序。用户无需针对他们使用的每一项服务确认自己的身份。
为实现这个目标,SSO 系统必须与每个外部应用程序通信,告知它们用户已经登录,而这是 SAML 发挥作用的地方。
SAML 如何工作
典型的 SSO 身份验证过程涉及以下三方:
当事人(有时也称为“主体”) 身份提供者 服务提供商
主体/主题:几乎始终是尝试访问云托管应用程序的人类用户。
身份提供者:身份提供者 (IdP)是一种云软件服务,通常通过登录过程来存储和确认用户身份。本质上,IdP 的职责是指出“我认识这个人,这是此人被允许做的事情”。SSO 系统实际上可以跟 IdP 分开;但若如此,SSO 基本上充当 IdP 的代表,因此从所有意图和目的来看,它们在SAML 工作流中都是相同的。
服务提供商:这是用户希望使用的云托管应用程序或服务。常见示例包括云电子邮件平台(如 Gmail 和Microsoft Office 365)、云存储服务(如 Google Drive 和 AWS S3)和通信应用程序(如 Slack 和 Skype)。通常,用户会直接登录这些服务,但在使用 SSO 时,用户会改为登录 SSO,而 SAML 则用于为他们提供访问权限,而不是直接登录。
典型的流程可能如下所示:
当事人向服务提供商发出请求。服务提供商接着向身份提供者请求身份验证。身份提供者将 SAML 断言发送给服务提供商,然后服务提供商可以将响应发送给当事人。
如果当事人(用户)尚未登录,身份提供者可以提醒他们登录,然后再发送 SAML 断言。
什么是 SAML 断言
SAML 断言是告知服务提供商用户已经登录的消息。SAML 断言包含服务提供商确认用户身份需要的所有信息,包括断言的来源、签发时间,以及有效断言应满足的条件。
SAML 断言可以比作职位候选人的推荐信内容:提供推荐信的人陈述他们与候选人合作的时间和时长、担任的职位,以及他们对候选人的看法。基于此推荐信,公司可以决定是否聘用候选人,就如SaaS应用程序或云服务可以基于 SAML 断言允许或拒绝用户访问一样。
什么是 SAML 2.0
SAML 2.0 是 SAML 的现代版本,自 2005 年起投入使用。SAML2.0 综合了先前使用的多个 SAML 版本。为了向后兼容,许多系统也支持更早的版本,例如 SAML 1.1,但 SAML 2.0 是现代标准。
SAML 身份验证是否与用户授权相同
SAML 是一种用于用户身份验证而不是用户授权的技术,这是关键区别。用户授权是身份和访问管理的另外一个领域。
身份验证指的是用户的身份:他们是谁,以及他们的身份是否已通过登录过程确认。
授权指的是用户的特权或权限:具体来说,就是他们在公司系统中允许执行的操作。
可以这样来思考身份验证和授权之间的区别:假设爱丽丝要参加音乐节。在入口处,她出示门票和另外一种身份证明,以证实她有权持有该门票。之后,她被允许参加音乐节。她通过了身份验证。
然而,仅仅因为爱丽丝位于音乐节场地内,并不意味着她可以随意走动、为所欲为。她可以观看音乐节表演,但不能登台表演,也不能到后台与演员互动,因为没有获得相应的授权。如果她购买了后台通行证,或者除了观众之外还担任表演者,那么她将获得更大的授权。
访问管理技术处理用户授权。访问管理平台使用若干不同的授权标准(其中一种是 OAuth),而不是 SAML。
声明:本站所提供的资讯信息不代表任何投资暗示, 本站所发布文章仅代表个人观点,仅供参考。