Wallaby 系列发布说明¶
9.1.0¶
序言¶
由于移除了 Identity API v2,Keystone 不再具有需要使用 admin 端点才能实现的任何特殊功能。因此,此版本将默认使用的端点从 admin 更改为 internal,从而使部署无需 admin 端点即可工作。
升级说明¶
[bug 1830002] 默认 Identity 端点已从
admin更改为internal。
9.0.0¶
升级说明¶
已停止对 Python 2.7 的支持。keystonemiddleware 支持 python 2.7 的最后一个版本是 OpenStack Train。现在支持的 Python 最低版本是 Python 3.6。
8.0.0¶
升级说明¶
[bug 1845539] [bug 1777177] keystonemiddleware 不再支持 keystone v2.0 api,所有相关功能已被移除。
其他说明¶
[bug 1845539] ec2 ‘url’ 配置选项现在默认设置为 https://:5000/v3/ec2tokens,并且移除了 ec2 v2.0 的支持。Keystonemiddleware 不再支持使用 v2.0 API 的 ec2tokens。
7.0.0¶
新特性¶
[规范] auth_token 中间件现在支持根据用户在其 keystone 应用程序凭据中提供的访问规则来接受或拒绝传入请求。
6.1.0¶
新特性¶
[bug 1830002] 为了允许安装在未部署管理身份端点的情况下工作,添加了一个新的选项 interface,允许选择在验证身份令牌时使用的身份端点。它默认设置为 admin 以复制旧行为,但可以根据需要设置为 public 或 internal。
6.0.0¶
新特性¶
[bug 1803940] 将请求 ID 和全局请求 ID 添加到 CADF 通知。
升级说明¶
[bug 1649735] Keystonemiddleware 不再支持 PKI/PKIZ 令牌,所有相关的离线验证已被删除。已删除配置选项 signing_dir 和 hash_algorithms,如果它们仍然存在于您的配置中,现在可以安全地删除它们。请考虑使用较新的 fernet 或 JWS 令牌格式。
错误修复¶
[bug 1649735] auth_token 中间件不再尝试从 Keystone 服务器检索撤销列表。已删除弃用的选项 revocations_cache_time 和 check_revocations_for_cached。Keystone 不再发布 PKI/PKIZ 令牌,现在 keystonemiddleware 对 PKI/PKIZ 和相关的离线验证的支持已被删除。这包括弃用的配置选项 signing_dir 和 hash_algorithms。
[bug 1800017] 修复审计中间件服务目录解析问题,针对服务不包含任何端点的情况。在这种情况下,我们应该跳过该服务。
[bug 1809101] 修复 req.context of Keystone audit middleware 和 Glance 冲突问题。审计中间件现在将 admin context 存储到 req.environ['audit.context']。
[bug 1813739] 当未创建管理身份端点时,keystonemiddleware 发出 EndpointNotFound 异常。即使在创建管理身份端点之后,auth_token 中间件也无法收到更新通知,因为它不会使现有身份验证失效。添加一个使无效步骤,以便可以检测到端点更新。
[bug 1797584] 修复了审计代码在 OpenStack 服务端点未使用唯一的 TCP 端口时会选择错误目标服务的问题。
5.3.0¶
错误修复¶
[bug 1789351] 修复了在初始化 AuthProtocol 时,如果输入 CONF 对象包含弃用的选项,则会引发“dictionary changed size during iteration”错误的错误。
当启用
delay_auth_decision时,如果 Keystone 故障阻止最终确定令牌是否有效或无效,它将被标记为无效,并且应用程序将负责最终身份验证决策。这类似于在确认令牌不有效时发生的情况。这允许 Keystone 中断仅影响多重身份验证系统中的 Keystone 用户。
5.1.0¶
新特性¶
[bug 1762362] 401 (Unauthorized) 响应中的 “WWW-Authenticate” 标头的值现在用双引号括起来,以符合 RFC 要求。
错误修复¶
[bug 1766731] Keystonemiddleware 现在支持系统范围令牌。当系统范围令牌由 auth_token 中间件解析时,它将相应地设置
OpenStack-System-Scope标头。
5.0.0¶
新特性¶
[bug 1695038] 添加了 use_oslo_messaging 配置选项,用于 Swift 等服务,这些服务需要审计中间件使用本地记录器而不是 oslo.messaging 通知器,无论 oslo.messaging 包是否存在。将此选项设置为其默认值 True 以保持以前的行为不变 - 如果存在 oslo.messaging 包,审计中间件将使用 oslo.messaging 通知器,否则使用本地记录器。依赖于本地记录器进行审计通知的服务必须将此选项设置为 False。
错误修复¶
[bug/1747655] 当 keystone 暂时不可用时,keystonemiddleware 会正确地向 HTTP 客户端发送 503 响应,但没有识别哪个服务出现故障,导致混淆,不知道是 keystone 还是使用 keystonemiddleware 的服务不可用。此更改在错误响应中标识 keystone。
其他说明¶
从
BaseAuthProtocol类中删除了kwargs_to_fetch_token设置。auth_token 的实现现在假定 kwargs 将传递给fetch_token方法。
4.20.0¶
错误修复¶
[bug 1737115] 上次发布意外地使 python-memcached 成为硬依赖项,这已更改为可选依赖项。
[bug 1737119] 如果应用程序没有使用全局 cfg.CONF 对象,则未从配置文件中读取配置。这已修复。
4.18.0¶
弃用说明¶
keystone_authtoken 的 auth_uri 参数已弃用,转而使用 www_authenticate_uri。auth_uri 选项通常与 keystoneauth 插件的 auth_url 参数混淆,该参数也始终需要。该参数指的是在用户需要重定向到 Identity 服务进行身份验证时返回的 WWW-Authenticate 标头。
4.16.0¶
升级说明¶
[bug 1677308] 从
pycrypto到cryptography切换时没有升级影响。所有数据都将使用相同的块大小、填充、算法 (AES) 和模式 (CBC) 进行加密和解密。以前使用pycrypto加密的数据可以使用pycrypto和cryptography进行解密。同样,使用cryptography加密的数据也是如此。
错误修复¶
[bug 1677308] 删除了
pycrypto依赖项,因为该库不再维护,并将其替换为cryptography库。
4.12.0¶
序言¶
现在允许在使用有效服务令牌时获取过期的令牌。 这将有助于长时间运行的操作,这些操作必须在服务之间持续进行,超过原始令牌的有效期。
新特性¶
AuthToken 中间件现在允许在存在有效服务令牌时获取过期的令牌。 此服务令牌必须包含
service_token_roles中指定的任何一个角色。
服务令牌会与有效角色的列表进行比较。 这将确保只有服务以
X-Service-Token的形式提交令牌。 为了向后兼容,如果未设置service_token_roles_required,将发出警告。 要正确执行检查,请将service_token_roles_required设置为True。 目前默认值为False
升级说明¶
将
service_token_roles设置为服务可能拥有的角色列表。 可能的列表是service或admin。 任何service_token_roles都可能适用以接受服务令牌。 确保服务用户具有其中一个角色,以便服务间通信能够正常工作。 验证后,将service_token_roles_required标志设置为True以强制执行此行为。 这将在未来的版本中成为默认设置。
弃用说明¶
为了向后兼容,在
[keystone_authtoken]中添加了service_token_roles_required选项。 该选项默认为False,并立即被弃用。 这将允许当前行为,即验证服务令牌但不检查角色继续进行。 应该尽快将该选项设置为True。 在未来的版本中,该选项将默认为True。
4.6.0¶
序言¶
添加 X_IS_ADMIN_PROJECT 标头。
新特性¶
[bug 1583690] 对于 Swift 等可能未使用 oslo_config 的服务,我们需要能够从本地配置确定项目名称。如果项目名称同时在本地配置和 oslo_config 中指定,则使用本地配置中的项目名称。如果项目名称未确定(即未设置),我们使用 taxonomy.UNKNOWN 作为指示器,以便操作员采取纠正措施。
[bug 1540115] 可选依赖项现在可以使用 extras 进行安装。要安装审计相关库,请使用
pip install keystonemiddleware[audit_nofications]。有关更多信息,请参阅 keystonemiddleware 文档。
已将 X_IS_ADMIN_PROJECT 标头添加到经过身份验证的标头中。该字符串值为“True”或“False”,可用于强制执行管理员项目策略。
错误修复¶
[bug 1583699] 某些服务 API(例如 Swift 列出公共容器)不需要令牌。因此,将没有身份或服务目录信息。在这种情况下,审计现在为发起者和目标填充默认值(即 taxonomy.UNKNOWN),而不是引发异常。
[bug 1583702] 某些服务,例如 Swift,不使用 Oslo(全局)配置。在这种情况下,选项通过本地配置传递。此补丁利用了 auth_token 中间件中已建立的模式,即首先在本地配置中查找给定的选项,然后在 Oslo 全局配置中查找。
4.5.0¶
新特性¶
[bug 1544840] 添加审计中间件特定的通知相关配置,以允许在需要时使用不同的通知驱动程序和传输方式进行审计。
为 s3token 中间件添加了一个新的配置选项,名为 auth_uri,可用于设置用于身份验证的 URI。这取代了 auth_host、auth_port 和 auth_protocol。
弃用说明¶
s3token 中间件的 auth_host、auth_port 和 auth_protocol 配置选项现已弃用。
4.3.0¶
新特性¶
[bug 1540022] auth_token 中间件现在将接受名为
oslo_config_config的 conf 设置。如果设置了此项,则其值必须是现有的 oslo_config ConfigOpts。oslo_config_config优先于oslo_config_project。此功能对于自行实例化 auth_token 中间件并希望使用现有配置的应用程序非常有用。
4.2.0¶
弃用说明¶
随着 keystonemiddleware 4.2.0 的发布,我们不再建议使用进程内令牌缓存。进程内缓存可能导致验证不一致、用户体验差和竞争条件。建议在各种服务(例如 nova、glance 等)的 keystone_authtoken 配置部分中设置 memcached_servers 选项,并使用正在运行的 memcached 服务器的端点。未设置 memcached_servers 选项时,该功能将被删除,keystone 将更频繁地验证令牌,从而增加负载。在生产环境中,强烈建议使用缓存。此功能自 4.2.0 起已弃用,目标是在 keystonemiddleware 5.0.0 或在 O 开发周期中(以较晚者为准)将其删除。
4.1.0¶
新特性¶
[bug 1490804] auth_token 中间件在身份服务器在令牌撤销列表中包含审计 ID 时,将在离线令牌验证期间验证令牌的审计 ID。
安全问题¶
[bug 1490804] [CVE-2015-7546] 修复了一个错误,即当使用 PKI 或 PKIZ 令牌提供程序时,攻击者可以避免令牌撤销。此漏洞的完整修复需要 Identity(keystone)项目中的相应修复。
错误修复¶
[bug 1523311] 不要在示例配置中列出已弃用的选项。
[bug 1333951] 添加对解析 ec2 的 AWS v4 的支持。
[bug 1423973] 为配置选项使用 oslo.config 选项。