Newton 系列发布说明

10.0.3

安全问题

  • [bug 1703369] 在之前的版本中,默认 policy.json 文件中 identity:get_identity_provider 规则存在拼写错误。该规则的默认值与默认规则的默认值(仅限管理员)相同,因此此拼写错误不易察觉。任何自定义此规则的人员都应检查其设置,并确认他们没有复制该错误。有关此回溯的更多上下文,请参阅 bug 报告。

错误修复

  • [bug 1616424] 如果客户端使用无效的请求参数或无效的签名发起创建请求令牌或访问令牌请求,则会引发 Python 内置异常。通过显示正确的异常并显示存在的失败原因来加固实现。

  • [bug 1689616] 在对大型数据集执行令牌刷新时,进行了重大改进。

  • [bug 1687593] 确保用于创建 OAUTH1 请求令牌时使用的 URL 也是验证请求令牌的 URL。

  • [bug 1571878] 在创建或更新联合身份验证协议时,现在需要有效的 mapping_id。如果 mapping_id 不存在,将返回 400 - Bad Request

10.0.1

新特性

  • [bug 1638603] 支持 Active Directory 中的嵌套组。添加了一个新的布尔选项 [ldap] group_ad_nesting,默认值为 False。启用该选项可在使用嵌套组的 Active Directory 中使用。此选项将影响 list_users_in_grouplist_groups_for_usercheck_user_in_group 操作。

10.0.0

序言

添加 keystone-manage mapping_populate 命令,当使用特定域的 LDAP 后端时应使用该命令。

现在可以在颁发时缓存令牌。

新特性

  • [blueprint manage-migration] 现在可以使用 –expand–migrate–contract 选项的 keystone-manage db_sync 命令,以滚动升级的方式升级 keystone。

  • 添加了 OSprofiler 支持。此跨项目分析库允许跟踪通过支持它的所有 OpenStack 服务的各种请求。要启动 OpenStack 请求跟踪,需要在 CLI 命令中添加 –profile <HMAC_KEY> 选项。可以在 [OSProfiler 文档] 中找到配置和使用详情。

  • [bug 1501698] 支持在使用 LDAP 作为身份后端时使用 list_limit 参数。

  • 添加 keystone-manage mapping_populate 命令。此命令将使用 LDAP 中的所有用户预填充映射表,以提高未来的查询性能。应在首次配置 LDAP 或在调用 keystone-manage mapping_purge 之前,在对域进行任何查询之前使用它。有关更多信息,请参阅 keystone-manage mapping_populate --help

  • [token] 部分添加了 cache_on_issue 标志,该标志可启用将已颁发的令牌放置到验证缓存中,从而减少首次验证时间,就像令牌已经过验证并且缓存了令牌数据一样。

升级说明

  • 我们已将 password_expires_at 属性添加到用户响应对象。

  • 身份后端驱动程序接口已更改。我们添加了一个新的 change_password() 方法,用于自助密码更改。如果您有身份驱动程序的自定义实现,则需要实现此新方法。

  • 引入了 OSprofiler 支持。为了允许其使用,需要修改 keystone-paste.ini 文件以包含 osprofiler 中间件。

  • 修复了与密码创建日期相关的错误。如果您在 Newton 开发期间部署了 master,密码创建日期可能会被重置。只有在您启用了安全合规性功能时才会明显。

  • 在 policy.json 文件中,我们将 identity:list_projects_for_groups 更改为 identity:list_projects_for_user。同样,我们将 identity:list_domains_for_groups 更改为 identity:list_domains_for_user。如果您已自定义 policy.json 文件,则需要进行这些更改。这是为了更好地支持联合身份验证方面的的新功能。

  • Keystone 现在支持静态加密凭据。为了成功升级到 Newton,部署者必须在收缩数据库之前加密当前存储的所有凭据。部署者必须运行 keystone-manage credential_setup 才能在 Newton 中使用凭据 API,或完成从 Mitaka 到 Newton 的升级。这将导致凭据 API 的服务中断,在升级过程中凭据将仅供只读。数据库收缩阶段仅适用于滚动升级。

  • Keystone 现在依赖于 pyldap 而不是 python-ldap。pyldap 库是 python-ldap 的一个分支,是一个具有修改以实现 py3 兼容性的即插即用替代品。

弃用说明

  • [blueprint domain-config-as-stable] 已弃用 keystone-manage domain_config_upload。keystone 团队建议通过 API 设置域配置选项。该 domain_config_upload 命令行选项可能在 ‘P’ 版本中被删除。

  • [blueprint deprecated-as-of-newton] 从 Newton 版本开始,类插件 keystone.common.kvs.core.KeyValueStore 已被弃用。建议使用替代后端。 KeyValueStore 类将在 ‘P’ 版本中被删除。

错误修复

  • [bug 1590587] 在分配特定域角色时,角色和项目的域必须匹配。现在已验证这一点,REST 调用将返回 403 Forbidden。

  • [bug 1594482] 在使用 list_limit 配置选项时,GET /services?name={service_name} API 首先截断列表,然后按名称过滤。API 已修复为首先按名称过滤,然后仅截断结果列表到所需的限制。

  • [bug 1613466] 凭据更新为 ec2 类型最初接受没有设置项目 ID 的凭据,这会导致尝试使用此类凭据时出错。此行为已被阻止,因此创建没有项目 ID 的非 ec2 凭据并将其更新为 ec2 而不提供项目 ID 将导致 400 Bad Request 错误。

其他说明

  • 创建请求令牌或访问令牌的响应内容类型已更改为 application/x-www-form-urlencoded,旧值 application/x-www-urlformencoded 无效,将不再使用。

  • Keystone 现在支持在 Python 3 下运行。已添加 Python 3 和 Python 3.4 分类器。

  • [blueprint removed-as-of-newton] 删除了 keystone.contrib.endpoint_policy 中的后端和路由。该软件包已移动到 keystone.endpoint_policy。这在 Liberty 版本中已弃用。