Zed 系列发布说明

22.0.2

新特性

  • 可以使用一个新的选项 ‘randomize_urls’ 来随机化 keystone 连接 LDAP 服务器的顺序,在 [ldap] ‘url’ 列表中。默认情况下为 false。

22.0.1

安全问题

  • 如果 max_password_length 大于所选密码哈希算法允许的长度,密码现在将自动截断。目前只有 bcrypt 定义了固定的允许长度,为 54 个字符。如果密码被截断,将在日志中生成警告。这不会影响现有密码,但是,只有现有 bcrypt 密码的前 54 个字符将被验证。

  • [bug 1992183] [CVE-2022-2447] 使用应用程序凭证颁发的令牌现在将对其到期时间进行验证,验证依据是应用程序凭证的到期时间。如果应用程序凭证在令牌之前到期,则令牌的到期时间将设置为与应用程序凭证相同的到期时间。否则,令牌将使用配置的值。

错误修复

  • 使用 bcrypt 算法哈希的密码现在会被正确截断到算法允许的最大长度。这解决了 Keystone 升级后,超过 54 个字符的密码失效的回归问题。

22.0.0

新特性

  • [蓝图 oauth2-client-credentials-ext] 用户现在可以使用 OAuth2.0 访问令牌 API 从 Keystone 身份服务器获取使用应用程序凭证的访问令牌。然后用户可以使用该访问令牌访问使用 Keystone 中间件支持 OAuth2.0 客户端凭证身份验证的 OpenStack API,通过 Keystone 身份服务器进行认证。

升级说明

  • 已停止对 Python 3.6 和 3.7 的支持。现在支持的 Python 最低版本是 Python 3.8。

  • 数据库迁移引擎已从 sqlalchemy-migrate 更改为 alembic。对于大多数部署,这应该影响最小或没有影响,并且切换应该大部分是透明的。主要面向用户的影响是模式版本控制的更改。虽然 sqlalchemy-migrate 使用线性、基于整数的版本控制方案,这需要占位符迁移以允许潜在的迁移回溯,但 alembic 使用类似分布式版本控制的模式,其中迁移的祖先编码在文件中,并且可以创建分支。因此,alembic 迁移文件使用任意的 UUID 样命名方案,并且 keystone-manage db_version 命令返回这样的版本。

    当运行 keystone-manage db_sync 命令时不带选项或使用 --expand--contract 选项时,将自动应用所有剩余的 sqlalchemy-migrate 基础迁移。

    数据迁移现在包含在扩展阶段,并且 --migrate 选项现在是一个空操作。它可能会在未来的版本中被删除。

错误修复

  • [bug 1926483] Keystone 现在只会为 Fernet 令牌记录令牌长度警告,当令牌长度超过 keystone.conf [DEFAULT] max_token_size 的值时。