发行注记
使开源包含更多 复制链接链接已复制到粘贴板!
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息。
第 1 章 Red Hat Single Sign-On 7.4.0.GA 复制链接链接已复制到粘贴板!
1.1. 概述 复制链接链接已复制到粘贴板!
红帽很自信地宣布 Red Hat Single Sign-On (RH-SSO)版本 7.4 版本。RH-SSO 基于 Keycloak 项目,您可以通过根据常见标准(如 OpenID Connect、OAuth 2.0 和 SAML 2.0)提供 Web SSO 功能来保护 Web 应用。RH-SSO 服务器充当 OpenID Connect 或基于 SAML 的用户身份供应商(IdP),允许您的企业用户目录或第三方 IdP 通过基于标准的安全令牌来保护您的应用。
Red Hat Single Sign-On for IBM Z 和 IBM Power Systems 只在 OpenShift 环境中被支持。不支持在 IBM Z 和 IBM Power 系统上安装裸机。
以下备注适用于 RH-SSO 7.4 发行版本。
1.2. 新功能或改进的功能 复制链接链接已复制到粘贴板!
1.2.1. 身份验证改进 复制链接链接已复制到粘贴板!
RH-SSO 现在提供对 W3C Web 身份验证(WebAuthn)的支持。添加对 WebAuthn 的支持会导致在身份验证流配置和凭证管理中重构更多。在配置身份验证流时,这个更改为管理员提供了更大的灵活性,并在选择首选身份验证机制时为用户提供更大的灵活性。
身份验证和凭证管理的改进具有多个优点。
1.2.1.1. 双因素身份验证 复制链接链接已复制到粘贴板!
现在,管理员更容易配置双因素身份验证,并为双因素身份验证选择多个替代方案。例如,管理员可以将 OTP 和 WebAuthn 配置为身份验证流中的 alternatives,允许用户在身份验证过程中选择这些机制。
1.2.1.2. 免密码身份验证 复制链接链接已复制到粘贴板!
管理员更容易配置免密码身份验证。此功能可用于 WebAuthn,可用作双因素身份验证机制和无密码身份验证机制。如果是免密码,则不需要使用 WebAuth 进行身份验证的用户在身份验证过程中提供密码。更容易组合免密码和双因素身份验证。
1.2.1.3. 身份优先身份验证 复制链接链接已复制到粘贴板!
管理员可以配置身份验证流程,让用户在身份验证过程中仅提供第一个表单的用户名。此更改可以提供更好的灵活性,因为 RH-SSO 可以更好地检测目标用户的首选身份验证机制,并根据情况显示验证表单。
1.2.1.4. 条件验证器 复制链接链接已复制到粘贴板!
RH-SSO 允许在身份验证流的特定位置添加条件。因此,在满足指定条件时,需要使用身份验证机制进行验证。这意味着,特定角色的成员需要双因素身份验证。另一个例子是,配置双因素凭证的用户需要双因素身份验证机制。
1.2.1.5. 更改为 OPTIONAL 身份验证执行要求 复制链接链接已复制到粘贴板!
通过添加条件验证器,我们可以删除身份验证执行的 OPTIONAL 要求。条件验证器更灵活,并允许支持之前允许使用 OPTIONAL 身份验证执行要求的所有内容。如果您使用 OPTIONAL 身份验证执行,则会自动迁移身份验证流。
如需了解更多详细信息 ,请参阅升级指南。
1.2.1.6. 凭证管理 复制链接链接已复制到粘贴板!
在 RH-SSO 数据库中存储的用户凭证格式已更改。另外,每个用户都可以具有同一类型的多个凭证,如多个 OTP 凭证或多个 WebAuthn 凭证。在身份验证过程中,用户可以选择使用哪个凭证以及使用哪个身份验证机制。
管理员可以查看特定用户的所有凭证,以及与目标凭证关联的一些公共元数据。例如,管理员可以查看哪些哈希算法用于哈希用户密码。管理员可以删除某些用户凭据或更改某些凭据的优先级,以便它们成为目标用户的首选。
1.2.1.7. 用户的凭证管理 复制链接链接已复制到粘贴板!
用户可以在帐户控制台中看到其所有凭证,并添加或删除凭证。请参阅 New Account Console 中的部分,它是一个技术预览功能。目前支持的用户帐户控制台(用户帐户服务)不支持此功能。它支持 OTP 的方式类似于之前的 RH-SSO 版本。
1.2.2. secret 的 vault 复制链接链接已复制到粘贴板!
在本发行版本中,RH-SSO 添加了一个 vault 来存储和检索 secret。库提供对 secret 的安全、自动访问 secret,以消除明文值的任何存储。通过使用密码库,数据库包含对 vault 条目的引用,而不是实际的 secret。另外,使用 vault 卸载从 RH-SSO 管理员管理 secret 到 vault 管理员的机密。
多个配置字段可以从外部密码库获取其值,而不必要求用户直接输入值。这些字段包括 LDAP 绑定密码、SMTP 密码和身份提供程序 secret。
RH-SSO 提供了从 OpenShift secret、Elytron 凭证存储或自定义密码库读取 secret 的功能。
1.2.2.1. OpenShift vault 复制链接链接已复制到粘贴板!
RH-SSO 支持 OpenShift 机密的 vault 实施。这些 secret 可以作为数据卷挂载,它们显示为扁平文件结构的目录,其中每个 secret 都由名称为 secret 名称的文件表示,并且该文件的内容是 secret 值。
1.2.2.2. Elytron 凭证存储 复制链接链接已复制到粘贴板!
RH-SSO 包括了一个新的内置 vault 供应商,从由密钥存储支持的 Elytron 凭证存储中读取 secret。凭证存储的创建和管理是由 Elytron 使用 Elytron 子系统或 elytron-tool.sh 脚本处理的。
1.2.2.3. 自定义密码库 复制链接链接已复制到粘贴板!
引进了 vault SPI,以便开发扩展以从自定义密码库访问 secret。
如需了解更多详细信息,请参阅 服务器 管理指南 和服务器开发人员指南。
1.2.3. Webauthn (预览) 复制链接链接已复制到粘贴板!
RH-SSO 为 W3C Web 身份验证(WebAuthn)提供有限的支持。它充当 WebAuthn 的 Relying party (RP)。
启用 WebAuthn 时,管理员可以配置 WebAuthn 策略,该策略允许管理员限制可以使用什么 WebAuth 验证器设备,以及测试它们所需的内容。管理员可以为 WebAuthn 双因素验证器或 WebAuthn 免密码身份验证配置不同的设置。管理员被允许要求特定用户配置 WebAuthn 凭证和/或配置身份验证流程,从而使所有用户需要 WebAuth 身份验证,或者允许作为双因素机制等。如这些发行注记的 Authentication improvementment 部分所述,这里有很多灵活性。
Webauthn 是技术预览,不被支持。此功能默认为禁用。这个功能的成功取决于用户的 WebAuthn 支持验证器、浏览器和平台。如果您使用此 WebAuthn 支持,请明确说明这些实体支持 WebAuthn 规格的范围。
用户只能在新帐户控制台中管理其 WebAuthn 凭证,如下一节所述。
1.2.4. 新帐户控制台(预览) 复制链接链接已复制到粘贴板!
在技术预览中,用户帐户服务作为新帐户控制台进行了显著改进。现有用户帐户服务仍被支持。
要尝试使用此控制台,
使用系统属性启动 RH-SSO 服务器,以启用新的帐户控制台和新帐户 REST API:
standalone -Dkeycloak.profile.feature.account_api=enabled -Dkeycloak.profile.feature.account2=enabled
- 登录 Admin 控制台。
- 选择 Realm Settings,Themes。
- 将 Account Theme 更改为 rhsso-preview。
当您进入管理帐户时,您将看到新的帐户控制台。以下是示例屏幕:
这个新控制台基于 React 和 PatternFly 4。它允许您使用 PatternFly CSS 变量来 轻松处理。它还允许您删除页面并添加您自己的页面。以后的发行版本中将提供完整的文档。
1.2.5. 新的默认主机名供应商 复制链接链接已复制到粘贴板!
这个新的默认主机名供应商添加了以下改进:
- 不需要将供应商改为一个设置固定的基本 URL
- 支持 frontend 和 backend 请求的不同基本 URL
- 当 RH-SSO 通过反向代理在不同上下文路径上公开时,支持更改 context-path
1.2.6. 其他改进 复制链接链接已复制到粘贴板!
RH-SSO 在此发行版本中包括额外的次要功能。大部分功能改进了对高级 OpenID Connect/OAuth2 概念和算法的支持,它们与支持 globally-grade API (FAPI)有关。RH-SSO 尚不完全支持 FAPI,但以下更改在该方向上移动。
- MP-JWT 客户端范围,使得在 Eclipse MicroProfile 规范后轻松发布令牌。
- 使用签名客户端 secret JWT 支持更多算法。名称 HS384 和 HS512 算法添加到已存在的 HS256 算法中。
- 带有签名 JWT 或基本身份验证的 OIDC 身份代理的客户端身份验证。支持 OIDC 规格中的所有客户端验证方法。
- 身份代理会进行更改,以便在使用身份提供程序的特定用户第一次登录时禁用 RH-SSO 用户的自动创建。如需了解更多详细信息,请参阅 服务器管理指南中的 禁用自动用户创建。
- 支持使用私钥签名的 JWT 的客户端身份验证的其他签名算法。
- 支持使用签名 JWT 的客户端身份验证的其他签名算法。所有支持的算法包括 RS256、RS384、RS512、RS512、PS256、PS384、PS512、ES256、ES384 和 ES512
- PS256 令牌签名支持
- 对 JavaScript 适配器的 PKCE 支持。
- 改进了用户区域设置的处理
- 对管理端点/控制台中的客户端和角色的分页支持
1.2.7. 现有技术预览功能 复制链接链接已复制到粘贴板!
以下功能继续处于技术预览状态:
- 令牌交换
- 细粒度授权权限
1.3. 删除或已弃用的功能 复制链接链接已复制到粘贴板!
这些功能的状态有变化:
在 Red Hat Single Sign-On 7.2 中作为技术预览功能引进的跨站点复制,在任何 Red Hat SSO 7.x 版本中不再作为支持的功能提供,包括最新的 RH-SSO 7.6 版本。红帽不推荐在自己的环境中实施或使用此功能,因为它不被支持。另外,这个功能的支持例外不再被视为或接受。
讨论了跨站点复制的新解决方案,并特别考虑红帽构建的 Keycloak (RHBK)的未来发行版本,这是将要引入的产品,而不是 Red Hat SSO 8。很快将提供更多详细信息。
- 在 Red Hat Enterprise Linux 6 (RHEL 6)上支持 Red Hat Single Sign-On (RH-SSO)已被弃用,RHEL 6 不支持 7.5 版本 RH-SSO。RHEL 6 在 2020 年 11 月 30 日进入 ELS 阶段,RH-SSO 依赖的 Red Hat JBoss Enterprise Application Platform (EAP) 在 EAP 7.4 版本中不再支持 RHEL 6。客户应该在 RHEL 7 或 8 版本中部署其 RH-SSO 7.5 升级。
- Spring Boot Adapter 已被弃用,将不会包含在 RH-SSO 的 8.0 及更高版本中。此适配器将在 RH-SSO 7.x 的生命周期中维护。用户应迁移到 Spring Security,将其 Spring Boot 应用程序与 RH-SSO 集成。
- 从 RPM 安装已弃用。Red Hat Single Sign-On 将继续为 7.x 产品生命周期提供 RPM,但不会提供下一个主要版本的 RPM。该产品将继续支持从 ZIP 文件和 OpenShift 上安装的支持。
- 授权服务 Drools 策略已被删除
- 通过 admin rest endpoint/console 上传脚本已弃用。它将在以后的版本中删除。
1.4. 修复的问题 复制链接链接已复制到粘贴板!
本发行版本中解决了超过 1100 个问题。有关修复的问题的详情,请参考 https://issues.redhat.com/issues/?filter=12346377。
1.5. 已知问题 复制链接链接已复制到粘贴板!
此发行版本包括 以下已知问题,特别是这些更高级别的问题。
- KEYCLOAK-13589 - 当启用了 'Email as username' 时,无法在 admin 控制台中添加用户
- KEYCLOAK-13635 - 无法创建需要某些字符(如 $)的映射程序。
- KEYCLOAK-13668 - 基于组的策略不适用于新客户端
- KEYCLOAK-13581 - 带有较少权限的客户端分页会导致空响应
1.6. 支持的配置 复制链接链接已复制到粘贴板!
红帽客户门户网站 上提供了 RH-SSO Server 7.4 支持的功能和配置。
1.7. 组件版本 复制链接链接已复制到粘贴板!
客户门户网站 上提供了 RH-SSO 7.4 支持的组件版本列表。
您可以在 Red Hat Single Sign-On pod 中添加 metering 标签,并使用 OpenShift Metering Operator 检查红帽订阅详情。
不要将 metering 标签添加到 Operator 部署和管理的任何 pod 中。
Red Hat Single Sign-On 可以使用以下 metering 标签:
-
com.redhat.component-name: "SSO" -
com.redhat.component-type: application -
com.redhat.component-version: 7.4.10 -
com.redhat.product-name: "Red_Hat_Runtimes" -
com.redhat.product-version: 2020/Q2