1.3. 核心概念和术语


在尝试使用红帽构建的 Keycloak 来保护 Web 应用程序和 REST 服务前,请考虑这些核心概念和术语。

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

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat