Keystone详解

一 什么是KeyStone
KeyStone是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证,令牌发放和校验,服务列表,用户权限定义等。

二 KeyStone in OpenStack

三 基本概念
User(用户)
用于身份认证,一个用户可以关联多个租户。
Tenant(租户)
相当于用户组的概念。一个租户可以容纳多个用户。
Role(角色)
关联到“用户-租户对”的元数据。可以关联到多个“用户-租户对”
Token(令牌)
用于验证用户或者“用户-租户对”的请求是否合法。
Service(服务)
服务类型和名称。
Endpoint(端点)
服务额实例(URL入口)

四 用户-角色-服务交互图

五 基本架构

六 Backend

七 验证流程

八创建虚拟机流程

九 Keystone work flow

十 流程解释
1 用户向keystone发送用户名和密码,通过验证后,keystone会返回一个临时token和一个service catalog列表。
2 用户用这个临时token向catalog列表中keystone的endpoint请求用户对应的tenant信息,keystone验证token通过后会返回对于tenant列表。
3 用户从列表中选取tenant,再次向keystone请求,keystone验证通过后,返回与该tenant相关的catalog信息和token。
4 用户用该token以及tenant/user信息向catalog中navo服务器端口请求开启虚拟服务。nova向keystone请求验证:a.token是否合法?b.这个租户/用户是否有权限来向nova请求服务?
5 用户返回给nova:a.租户-用户具备访问nova的权限。b.token合法。c.token属于该租户-用户。
6 nova根据自己的规则判断用户是否具备开启虚拟机的权限,如果具备,启动虚拟机。并向用户报告状态。

十一 Keystone安装
Keystone包安装
Keystone配置
KeyStone数据库初始化
Keystone服务启动

十二 KeyStone CLI使用
Keystone:包含一个命令行接口,可以与Keystone API交互以管理keystone和相关服务。
Keystone-all:用于验证的,面向管理员和用户的API。
Keystone-manage:管理keystone的命令行接口,用于管理与keystone相连接的数据库。
1 创建租户
keystone tenant-create --name <String> --description <String>
2 创建用户
keystone user-create --name  <String> --tenant-id 637856874 --pass 111111 --email test@email.com
3 创建角色
keystone role-create --name <role_name>
4 绑定角色
keystone --os-username <String> --os-passwork 111111 --os-tenant-name <String> --os-auth-url "http://localhost:35357/v2.0" tenant-list
keystone user-role-list --user <String> --tenant <String>
keystone user-role-add --user <String> --role admin --tenant <String>
5 创建服务
6 查询服务列表

十三 调试工具
Curl
Firefox plugin
restclient-ui-3.4-jar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值