跳转到: 导航, 搜索

Nova/AuthManagerSpec

  • Launchpad 条目:NovaSpec:finalize-nova-auth
  • 创建时间:2011年5月12日
  • 贡献者:Brian Lamar, Brian Waldon

总结

OpenStack 需要一个认证服务,以便集中管理认证凭据。目前我们正在调研 Keystone 作为这样的系统

用户故事

作为 Nova 的部署者,我希望使用 Keystone 来存储认证凭据。

作为 Nova 的部署者,我希望使用现有的 OpenStack 认证凭据。

作为 Nova 的部署者,我希望从现有的数据库迁移到 Keystone 能够无缝进行。

实现

所有对 OpenStack API 的引用,更具体地说,指的是 OpenStack Nova API。

阶段 1

{{https://wiki.openstack.org/Nova/AuthManagerSpec?action=AttachFile&do=get&target=auth_phase1.png}}

阶段 1 项目描述

  • Keystone OpenStack API 认证中间件:该中间件将处理传入的 OSAPI API 请求,验证其令牌,并将请求传递给 OpenStack API 服务。该中间件没有生成新令牌的能力,只能认证现有的令牌。用户必须直接从 Keystone 获取令牌才能进行此请求。
  • Keystone EC2 API 认证中间件:该中间件将处理传入的 EC2 API 请求,验证其签名,并将请求传递给 OpenStack EC2 服务。
  • 认证迁移中间件:该中间件将处理来自 Keystone 兼容服务的预认证请求,并确保认证的用户存在于 OpenStack Nova 认证数据库中。如果用户不存在,则会创建该用户,以便实现平滑的过渡期。

完成阶段 1 的步骤

  1. 创建/完成“OpenStack API 认证中间件”(可能在 Keystone 中替代地称为“令牌认证中间件”)。
  2. 在 Keystone 中创建/完成“EC2 API 认证中间件”。
  3. OpenStack Nova 中创建“认证迁移中间件”。

阶段 2

第一阶段更侧重于创建一个良好的将认证迁移到 Keystone 的计划。第二阶段处理 nova 代码的迁移。 OpenStack Nova 中许多现有的认证代码将被移除,Keystone 库调用将取代现有的认证代码。

  1. 使用 Keystone 库调用替换 nova.auth:AuthManager 内部的认证。
  2. 移除现有的 Nova 认证中间件,并将其替换为 Nova 的 paste 部署文件中对 Keystone 认证中间件的引用。