Wallaby 系列发布说明¶
19.0.1-12¶
新特性¶
可以使用一个新的选项 ‘randomize_urls’ 来随机化 keystone 连接 LDAP 服务器的顺序,在 [ldap] ‘url’ 列表中。默认情况下为 false。
安全问题¶
如果 max_password_length 大于所选密码哈希算法允许的长度,密码现在将自动截断。目前只有 bcrypt 定义了固定的允许长度,为 54 个字符。如果密码被截断,将在日志中生成警告。这不会影响现有密码,但是,只有现有 bcrypt 密码的前 54 个字符将被验证。
[bug 1992183] [CVE-2022-2447] 使用应用程序凭证颁发的令牌现在将对其到期时间进行验证,验证依据是应用程序凭证的到期时间。如果应用程序凭证在令牌之前到期,则令牌的到期时间将设置为与应用程序凭证相同的到期时间。否则,令牌将使用配置的值。
错误修复¶
使用 bcrypt 算法哈希的密码现在会被正确截断到算法允许的最大长度。这解决了 Keystone 升级后,超过 54 个字符的密码失效的回归问题。
[bug 1926483] Keystone 现在只会为 Fernet 令牌记录令牌长度警告,当令牌长度超过 keystone.conf [DEFAULT] max_token_size 的值时。
19.0.1¶
升级说明¶
[bug 1929066] 增加 id_mapping 表中 local_id 列的长度,以适应导致名称超过 64 个字符的 LDAP 组名。
错误修复¶
[bug 1688137] 修复了向最终用户显示 AccountLocked 异常的问题,因为它提供了一些可能被恶意用户利用的信息。最终用户现在将看到 Unauthorized 而不是 AccountLocked,从而防止用户信息 oracle 漏洞利用。
19.0.0¶
升级说明¶
配置选项
[oslo_policy] policy_file的默认值已从policy.json更改为policy.yaml。正在使用自定义或先前生成的静态策略 JSON 文件的操作员应生成新的策略文件或将其转换为 YAML 格式。使用 oslopolicy-convert-json-to-yaml 工具以向后兼容的方式将 JSON 策略文件转换为 YAML 格式。
弃用说明¶
JSON 策略文件在 Victoria 开发周期中被
oslo.policy库弃用。因此,此弃用在 Wallaby 周期中被注意到,预计oslo.policy将在未来删除对它的支持。因此,操作员需要转换为 YAML 策略文件。请参阅升级说明以获取有关迁移任何自定义策略文件的详细信息。
安全问题¶
[bug 1901207] 应用程序凭证的策略执行已更新,以防止无效的所有权检查导致未经授权的用户能够获取和删除其他用户的应用程序凭证。
错误修复¶
[bug 1878938] 以前,当用户拥有系统角色分配并尝试删除相同的角色时,系统角色分配仍然存在于 system_assignment 表中。这导致 keystone 返回 HTTP 404 Not Found 错误,在列出具有名称的角色分配时(例如,–names 或 ?include_names)。
如果您受到此错误的影响,则必须手动删除过时的角色分配。以下是一个示例 SQL 语句,您可以使用它来修复该问题,但您应该验证它是否适用于您的部署的 SQL 实现和版本。
- SQL
delete from system_assignment where role_id not in (select id from role);
[bug 1885753] Keystone 的 SQL 身份后端现在会重试更新用户请求,以安全地处理两个客户端同时更新用户时的陈旧数据。
[bug 1896125] 引入了更强大的异步 LDAP 请求连接处理,以解决从页面大小较小的 LDAP 后端获取数据时的内存泄漏问题。
[bug 1901654] 之前,sha256.py 中的 generate_public_ID() 假定传入的参数是 str 数据类型。但是,python-ldap 3.0 或更高版本返回字节数据类型作为属性值,除了区分名、相对区分名、属性名、查询的字段。如果运行 Python3 的 keystone 与 LDAP 集成,并且 LDAP 服务器在其属性中具有 local_id 变量,由于假设和修改了 python-ldap,用户登录操作将失败。通过此修复,generate_public_ID() 正确处理参数中的字节数据类型。