第 1 章 使用 SAML v2 Deeper Dive 单点登录


JBoss EAP 安全架构指南 介绍了单点登录和 SAML 的基础知识。本节深入探讨 SAML v2 和 Single Sign-On 中涉及的组件。

1.1. 什么是 SAML v2?

安全断言标记语言(即 SAML)是一种数据格式和协议,允许双方(通常是身份提供程序和服务提供商)交换身份验证和授权信息。此信息以 SAML 令牌的形式交换,包含断言,由身份提供程序发布到用于向服务提供商进行身份验证的主题。通过多个服务提供商使用和重用来自身份提供程序的 SAML 令牌的功能允许 SAML v2 帮助基于浏览器的单点登录。

1.1.1. 构建块

对于 SAML,需要记住最重要的概念就是,它完全涉及到在实体之间传递安全断言。SAML 具有多个组件来完成此任务。

1.1.1.1. 实体

实体是参与创建和传递断言的所有方。SAML 的概念有三种不同的实体:

主题
主体 也称为 主体,在大多数情况下,用户是用户,请求访问由 SAML 保护的服务提供商 上的资源。
服务提供商
服务提供商 (或 SP )要求作为断言来证明该 对象 的身份需要来自 身份提供程序
身份供应商
身份提供商IDP 提供一组声明,格式 为主题的 令牌,供 服务提供商 用于身份验证和授权决策。

总之,主体 会获得发布的断言、身份提供程序发出 这些断言,服务提供商 使用这些断言来验证和授权 对象

1.1.1.2. 安全保证

安全断言是身份提供程序就某一主题发布的一组声明。服务提供商使用这些断言对主题做出 access-control 决策。声明可采用以下形式:

身份验证
身份验证 断言声称对象在特定时间点上使用指定方法成功验证身份。也可以在身份验证语句中指定包含已验证对象的其他信息的身份验证上下文。
属性
属性 断言声称主题具有某些属性。
授权决策
授权决策 断言将对资源上的主题的授权请求做出响应 或拒绝

示例

This user logged in as Sarah at 9:30 using a username and password.  Sarah is a member of the Managers group.  Sarah is accepted to access the Employee Information resource.
Copy to Clipboard Toggle word wrap

  • 此用户声明 此用户使用用户名和密码在 9:30 中以 Sarah 身份登录,即验证 断言。
  • Sarah 是 Managers 组的成员, 是一个 属性 断言。
  • Sarah 被接受以访问 Employee Information 资源,这是 授权决策 断言。

断言被打包为 SAML 令牌,并使用 SAML 协议传输。

1.1.1.3. 协议

SAML 协议描述了如何打包断言(通常采用请求和响应的形式),以及正确处理它们的规则。这些规则必须跟随请求者和响应的生产者和消费者。请求可以请求特定、已知的断言或查询身份提供商进行身份验证、属性或授权决策。请求和响应消息(包括安全断言)采用 XML 格式,并遵循指定的架构。

1.1.1.4. 绑定

SAML 绑定指定 SAML 协议如何映射到用于传输和消息传递的其他标准协议。一些示例包括:

  • 映射到 HTTP 重定向的 SAML 绑定。
  • 映射到 HTTP POST 的 SAML 绑定。
  • 将 SAML 请求/响应映射到 SOAP 请求和响应的 SAML 绑定。

1.1.1.5. profiles

SAML 配置集使用断言、协议和绑定来支持特定用例,如 Web 浏览器单点登录、单点注销和 Assertion 查询。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat