Nova/AuthManagerSpec
< Nova
- Launchpad 条目:NovaSpec:finalize-nova-auth
- 创建时间:2011年5月12日
- 贡献者:Brian Lamar, Brian Waldon
总结
OpenStack 需要一个认证服务,以便集中管理认证凭据。目前我们正在调研 Keystone 作为这样的系统
- 作者:John Eo, Khaled Hussein, Ziad Sawalha,以及更多…
- 版本控制:https://github.com/rackspace/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 的步骤
- 创建/完成“OpenStack API 认证中间件”(可能在 Keystone 中替代地称为“令牌认证中间件”)。
- 在 Keystone 中创建/完成“EC2 API 认证中间件”。
- 在 OpenStack Nova 中创建“认证迁移中间件”。
阶段 2
第一阶段更侧重于创建一个良好的将认证迁移到 Keystone 的计划。第二阶段处理 nova 代码的迁移。 OpenStack Nova 中许多现有的认证代码将被移除,Keystone 库调用将取代现有的认证代码。
- 使用 Keystone 库调用替换 nova.auth:AuthManager 内部的认证。
- 移除现有的 Nova 认证中间件,并将其替换为 Nova 的 paste 部署文件中对 Keystone 认证中间件的引用。