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 的值时。