1.3. 核心概念和术语
在使用 Red Hat Single Sign-On 来保护 Web 应用程序和 REST 服务之前,请考虑这些核心概念和术语。
- users
- 用户是能够登录到您的系统的实体。他们可以具有与自己关联的属性,如电子邮件、用户名、地址、电话号码和 birth 天。可以为用户分配组成员资格,并为它们分配特定角色。
- 身份验证
- 识别和验证用户的过程。
- 授权
- 授予用户访问权限的过程。
- credentials
- 凭据是 Red Hat Single Sign-On 用来验证用户身份的数据片段。些示例包括密码、一次性密码、数字证书甚至指纹。
- roles
-
角色标识用户的类型或类别。
admin
、用户
、manager
和 staff 是组织中可能存在的所有典型角色。应用通常会将访问权限和权限分配给特定角色,而非处理用户的个人用户,而对于处理用户来说过于精细和难以管理。
- 用户角色映射
- 用户角色映射定义了角色和用户之间的映射。个用户可以与零个或多个角色关联。此角色映射信息可以封装到令牌和断言中,以便应用程序可以决定访问其管理的各种资源的权限。
- 复合角色
-
复合角色是可与其他角色关联的角色。例如,
超级用户
复合角色可以关联sales-admin
和order-entry-admin
角色。如果用户映射到superuser
角色,则他们也会继承sales-admin
和order-entry-admin
角色。 - groups
- 组管理用户组。可以为组定义属性。您还可以将角色映射到组。成为组成员的用户继承组所定义的属性和角色映射。
- realms
- realm 管理一组用户、凭据、角色和组。用户从属于并登陆到的域。域彼此隔离,只能管理和验证其控制的用户。
- 客户端
- 客户端是可以请求 Red Hat Single Sign-On 对用户进行身份验证的实体。大多数情况下,客户都是希望使用 Red Hat Single Sign-On 的应用程序和服务来保护自身并提供单点登录解决方案。客户端也可以是仅请求身份信息或访问令牌的实体,以便它们能够安全地调用由 Red Hat Single Sign-On 保护的网络上的其他服务。
- 客户端适配器
- 客户端适配器是安装到应用程序环境的插件,以便可以通过 Red Hat Single Sign-On 进行通信并加以保护。Red Hat Single Sign-On 有许多适配器,供您下载的不同平台。此外,您还可以为我们所不涵盖的环境提供第三方适配器。
- 同意
- 当管理员希望用户向客户端授予其权限时,同意将权限授予客户端,然后客户端才能参与身份验证过程。用户提供凭证后,Red Hat Single Sign-On 将弹出一个屏幕,标识请求登录的客户端以及向用户请求哪些身份信息。用户可以决定是否授予请求。
- 客户端范围
-
注册客户端后,您必须为该客户端定义协议映射和角色范围映射。存储客户端范围通常很有用,通过共享一些常见设置来更轻松地创建新客户端。这也可用于根据
scope
参数的值来有条件地请求某些声明或角色。Red Hat Single Sign-On 提供了此客户端范围的概念。 - 客户端角色
- 客户端可以定义特定于它们的角色。这基本上是一个专用于客户端的角色命名空间。
- 身份令牌
- 此令牌提供与用户相关的身份信息。OpenID Connect 规范的一部分。
- 访问令牌
- 作为 HTTP 请求的一部分提供的令牌,用于授予对正在调用的服务的访问权限。这是 OpenID Connect 和 OAuth 2.0 规范的一部分。
- assertion
- 有关用户的信息。这通常与 SAML 身份验证响应中包含的 XML blob 相关,后者提供有关经过身份验证的用户提供身份元数据。
- 服务帐户
- 每个客户端都有一个内置服务帐户,允许它获取访问令牌。
- 直接授权
- 客户端通过 REST 调用为用户授予访问令牌的方法。
- 协议映射程序
- 对于每个客户端,您可以定制将哪些声明和断言存储在 OIDC 令牌或 SAML 断言中。您可以通过创建和配置协议映射程序来为每个客户端执行此操作。
- 会话
- 当用户登录时,会创建一个会话来管理登录会话。会话包含用户登录以及在该会话中参与了什么应用程序时的信息。管理员和用户都可以查看会话信息。
- 用户联合供应商
- 红帽单点登录可存储和管理用户。通常,公司已经拥有用于存储用户和凭证信息的 LDAP 或 Active Directory 服务。您可以指出 Red Hat Single Sign-On 来验证来自这些外部存储的凭证,并拉取身份信息。
- 身份供应商
- 身份供应商(IDP)是能够验证用户身份的服务。红帽单点登录是一个 IDP。
- 身份提供程序联合
- Red Hat Single Sign-On 可以被配置为将身份验证委派给一个或多个 IDP。通过 Facebook 或 Google+ 的社交登录是身份供应商联合的示例。您还可以 hook Red Hat Single Sign-On 将身份验证委派给任何其他 OpenID Connect 或 SAML 2.0 IDP。
- 身份提供程序映射器
- 在进行 IDP 联合时,您可以将传入的令牌和断言映射到用户和会话属性。这有助于将您的身份信息从外部 IDP 传播到请求身份验证的客户端。
- 所需的操作
-
所需操作是用户必须在身份验证过程中执行的操作。用户在完成这些操作之前无法完成身份验证过程。例如,管理员可以计划用户在每次月重置其密码。会为所有这些用户设置
更新密码
所需的操作。 - 身份验证流程
- 身份验证流是在与系统的某些方面交互时,用户必须执行的工作流。登录流程可以定义所需的凭证类型。注册流程定义用户必须输入的配置集信息,以及诸如 reCAPTCHA 的问题都必须用于过滤 bots。凭据重置流程定义用户必须先执行的操作,然后才能重置密码。
- 事件
- 事件是管理员可以在其中查看和 hook 的审核流。
- themes
- 由 Red Hat Single Sign-On 提供的每个页面均由主题提供支持。主题定义了 HTML 模板和风格表,您可以根据需要进行覆盖。