Okta核心协议SAML

简介: SAML(安全断言标记语言)是一种开放标准,用于在身份提供商和服务提供商之间安全传递用户身份和权限信息,常用于实现单点登录(SSO),提升用户体验与安全性,简化企业用户管理。

image.png
什么是 SAML 及其工作原理?
SAML 是安全断言标记语言(Security Assertion Markup Language)的缩写,它是一种开放标准,用于从身份提供商(IdP)向服务提供商(SP)传递授权凭证。简单来说,它实现了应用程序之间的安全通信,并允许用户使用一组凭证获得访问权限。
在深入探讨 SAML 的用途、工作原理以及企业如何从中受益之前,您需要了解有助于实现此过程的 SAML 提供商类型。那么我们就从这里开始。
SAML 提供商的类型
为了使 SAML 能够工作,需要有身份提供商和服务提供商:
身份提供商对用户进行身份验证:这些系统负责确认用户的身份,然后将该数据(以及用户的访问权限)发送给服务提供商。Okta、微软活动目录和微软 Azure 都是身份提供商的例子。
服务提供商对用户进行授权:这些系统使用来自身份提供商的身份验证数据来授予对服务的访问权限。例子包括 Salesforce、Box 以及其他一流技术。
因此,SAML 是用户身份验证和使用服务授权之间的桥梁。它是帮助身份提供商和服务提供商进行通信的语言。当雇主(身份提供商)和 SaaS 公司(服务提供商)都实施 SAML 时,他们能够无缝地对经认证的用户进行身份验证。
SAML 的用途是什么?
SAML 彻底改变了用户登录服务或网站的方式,旨在简化所有相关方(身份提供商、服务提供商和最终用户)的联合身份验证和授权流程。

SAML 无需在每次登录尝试时都要求提供用户名和密码等凭证,而是可以帮助验证用户的身份,并确认权限级别,以批准或拒绝访问。此外,SAML 允许身份提供商和服务提供商独立存在,这有助于组织集中管理用户,并提供对各种软件解决方案的访问。

SAML 最常用于实现单点登录,即在身份提供商和服务提供商之间对经认证的用户进行身份验证。例如,部署了 SAML 配置应用程序的组织可以让其员工使用一组凭证登录到一个单一的仪表板,该仪表板使他们能够直接访问所有生产力和通信工具。

SAML 的工作原理
SAML 使用可扩展标记语言(XML)在身份提供商和服务提供商之间进行通信。这表现为 SAML 断言的形式,即身份提供商发送给服务提供商以授权用户的一种 XML 文档。

SAML 断言有三种类型:

  • 身份验证断言证明用户的身份,并提供他们的登录时间以及所使用的身份验证协议(例如 Kerberos、多因素身份验证)。
  • 属性断言将 SAML 属性(提供用户信息的数据片段)传递给服务提供商。

  • 授权断言确认用户是否有权使用某项服务,以及他们拥有何种程度的授权,或者身份提供商是否由于密码错误或缺乏访问权限而拒绝了他们的请求。

总而言之,SAML 通过在身份提供商和服务提供商之间传递有关用户、其登录信息和其属性的信息来工作。例如,当用户使用单点登录进行登录时,身份提供商将向服务提供商传递 SAML 属性,确保用户只需登录一次。

让我们看看这在日常生活中是如何发生的。当用户开始在一家新公司工作时,他们会收到一个电子邮件地址和一个仪表板的访问权限。当他们使用身份提供商(如 Okta)登录该仪表板时,会看到外部服务提供商的图标,如 Slack 或 Salesforce。然后,他们可以点击任何这些图标,自动登录到该服务,而无需重新输入凭证。

也就是说,用户访问网站、应用程序和在线服务时可能会经历两种 SAML 流程:

  • 服务提供商发起的 SAML 流程:当用户尝试通过其登录页面或移动应用程序登录启用 SAML 的服务时,会发生这种情况。服务不会要求用户登录,而是将用户重定向到其身份提供商以处理身份验证。如果用户的身份得到确认,他们将被授予对该网站或应用程序的访问权限。

  • 身份提供商发起的 SAML 流程:当用户登录到身份提供商并从其数据库中启动服务应用程序时,会发生这种流程。如果他们已经拥有服务提供商的账户,他们将自动获得访问权限。如果没有,那么一些身份提供商可以使用 SAML 为该服务创建一个新的、经过身份验证的账户。

SAML 的优势
SAML 为用户和企业都带来了许多好处,其中最重要的是减少了使用多个 Web 应用程序的麻烦。其他优势包括:

  • 改善用户体验:SAML 不仅使登录应用程序和服务变得更容易,而且还帮助用户提高工作效率,因为他们可以随时访问完成工作所需的工具。

  • 减少凭证丢失:必须处理多个登录信息往往会导致人们忘记密码,更糟糕的是,他们会把密码写下来,这增加了凭证被盗的风险。使用 SAML,用户只需要记住一个用户名和密码组合。

  • 更高的安全性:SAML 在安全的身份提供商处提供单点身份验证,然后将用户的身份信息传输给服务提供商。这确保凭证仅直接发送,最大限度地减少了钓鱼或身份盗窃的机会。

  • 降低成本:实施 SAML 节省了大量的管理时间,因为它有助于消除提交工单和重置密码的需求。它还有助于将开发成本(通常与专有身份验证方法相关)降至最低。

  • 简化用户管理:由于员工使用多个应用程序,当角色发生变化或员工离开公司时,IT 部门管理访问权限可能会变成一场噩梦。SAML 简化了这一点,因为每个用户都可以从一个单一的目录中进行管理。

SAML 的替代方案
虽然 SAML 在身份联合方面提供了许多好处,但也有其他可用的标准可以帮助企业和服务安全地管理和批准用户身份。

  • OpenID:OpenID 是一种开源身份标准,允许用户访问多个网站和应用程序,而无需共享额外的登录信息。如果您曾经使用 Google、YouTube 或 Facebook 的凭证登录过某个网站,那么您就体验过 OpenID。

  • OAuth:OAuth(全称 OpenAuth)是由 Google 和 Twitter 联合开发的一种标准,用于实现网站之间的简化登录。它在应用程序之间共享信息的方式上与 SAML 相似(您可能使用过的两个 OAuth 提供商是 Facebook 和 Google)。然而,它的不同之处在于使用 JSON 令牌对用户进行身份验证,因此更适合移动设备。

  • Web Service Federation:Web 服务联合用于将服务提供商的身份验证联合到身份提供商。人们普遍认为它对开发人员来说更容易实现,并且得到了流行的身份提供商(如 AD)的良好支持,但云提供商对其支持较少。

开始使用 SAML
SAML 是任何网络安全策略的重要组成部分,因为它限制了凭证的使用,并使企业能够集中审计和管理身份。此外,它以增强安全性的方式让用户轻松访问他们需要的 Web 应用程序。

有了合适的身份提供商,开始使用 SAML 就很简单。例如,Okta 提供了 SAML 验证工具以及各种不同编程语言的开源 SAML 工具包。

要更清楚地了解 SAML 如何使组织和员工受益,请查看以下资源:

目录
相关文章
|
7月前
|
机器学习/深度学习 供应链 监控
如何通过API优化电商库存管理,减少缺货风险
本文详解如何通过API优化电商库存管理,实现库存实时同步、需求预测与自动化补货,降低缺货风险,提升运营效率及客户满意度。
411 0
|
XML 存储 安全
【揭秘SAML协议 — Java安全认证框架的核心基石】 从初识到精通,带你领略Saml协议的奥秘,告别SSO的迷茫与困惑
SAML(Security Assertion Markup Language)是由OASIS制定的基于XML的开放标准。它用于在身份提供者(IdP)和服务提供者(SP)之间交换身份验证和授权数据,从而支持跨域单点登录,提高身份认证和授权管理的安全性和效率。
1180 2
【揭秘SAML协议 — Java安全认证框架的核心基石】 从初识到精通,带你领略Saml协议的奥秘,告别SSO的迷茫与困惑
|
7月前
|
存储 缓存 资源调度
《破局节点失效:Erlang分布式容错系统的自愈机制与恢复逻辑》
Erlang凭借并发设计与原生分布式支持,成为构建容错系统的利器。面对节点故障常态,系统需实现自动恢复闭环:从多层监控、预测性降级,到状态持久化、事务续接,再到级联恢复与智能调度,层层机制保障服务无缝切换。结合Mnesia事务日志、supervisor监督模式与进程模型优势,Erlang将故障恢复深度融入系统运行,实现高可用与“零感知”体验。
449 4
|
7月前
|
数据采集 算法 数据挖掘
模块化控制协议(MCP)在网络中增强智能体执行效率的研究
随着Web3技术的迅速发展,去中心化应用和智能体在各种领域的应用逐渐增多。MCP(Modularized Control Protocol,模块化控制协议)作为一种增强智能体执行能力的关键技术,为Web3场景中的智能体提供了更强的灵活性和可扩展性。本文将探讨如何利用MCP技术提升智能体在Web3场景中的执行能力,并通过实例代码展示其实现路径。
633 22
|
8月前
|
分布式计算 运维 监控
Fusion 引擎赋能:流利说如何用阿里云 Serverless Spark 实现数仓计算加速
本文介绍了流利说与阿里云合作,利用EMR Serverless Spark优化数据处理的全过程。流利说是科技驱动的教育公司,通过AI技术提升用户英语水平。原有架构存在资源管理、成本和性能等痛点,采用EMR Serverless Spark后,实现弹性资源管理、按需计费及性能优化。方案涵盖数据采集、存储、计算到查询的完整能力,支持多种接入方式与高效调度。迁移后任务耗时减少40%,失败率降低80%,成本下降30%。未来将深化合作,探索更多行业解决方案。
573 1
|
7月前
|
SQL 数据采集 分布式计算
在ODPS生态中成长:从实践到思考,再到未来展望
在ODPS生态中成长:从实践到思考,再到未来展望
396 1
|
7月前
|
小程序 安全 JavaScript
构建即时通讯APP内的小程序生态体系:从架构设计到技术实现-优雅草卓伊凡
构建即时通讯APP内的小程序生态体系:从架构设计到技术实现-优雅草卓伊凡
533 1
构建即时通讯APP内的小程序生态体系:从架构设计到技术实现-优雅草卓伊凡
|
前端开发
在Webpack配置文件中,如何配置loader以处理其他类型的文件,如CSS或图片
在Webpack配置文件中,通过设置`module.rules`来配置loader处理不同类型的文件。例如,使用`css-loader`和`style-loader`处理CSS文件,使用`file-loader`或`url-loader`处理图片等资源文件。配置示例:在`rules`数组中添加对应规则,指定`test`匹配文件类型,`use`指定使用的loader。
|
7月前
|
存储 安全 算法
RAW格式硬盘打不开?这样做让它恢复如初
当硬盘或U盘突然显示为RAW格式,无法打开并提示“需格式化”时,切勿立即格式化或运行chkdsk,这可能导致数据永久丢失。RAW格式是系统无法识别文件系统的状态,常见原因包括分区损坏、病毒、坏道或异常关机。正确做法是先用专业工具恢复数据,通过智能加载或深度扫描找回文件。数据恢复后,再对硬盘进行格式化修复。本文详解操作步骤与注意事项,助你安全恢复数据、修复磁盘。
|
7月前
|
数据采集 人工智能 自然语言处理
豆蔻妇科大模型再突破:钉钉行业训练平台+精标数据SFT ,准确率从 77.1%上升至 90.2%
在医疗AI领域,通用大模型因缺乏专业临床判断力而难以胜任复杂诊断任务。本文以豆蔻妇科大模型为例,介绍了通过监督微调(SFT)显著提升诊断准确率的实践路径。从初始77.1%到最终90.2%的突破,依托高质量数据筛选、思维链校准、双重评估体系及钉钉训练平台支持,展示了医疗大模型从“知其然”到“知其所以然”的演进过程,并展望SFT+RL协同训练的未来发展。
606 59