openstack keystone整体架构与功能
2016-11-09 09:50
204 查看
关于keystone模块,我将从整体架构与功能,用户信息管理,认证服务3个模块用3篇文章进行分析。
1. keystone的基本功能keystone作为openstack的Identity Service,提供了用户信息管理和完成各个模块认证服务。 用户信息管理:user/tenant基本信息,tenant管理 认证服务:登录认证,各个组件API的权限控制
2.keystone的架构既然keystone为各个模块提供认证服务,所以各个模块与keystone都有所交互。其中登录认证体现在用户访问各个组件的API时,调用了WSGI框架的authtoken filter,该filter最调用keystoneclient ,最终通过keystone验证token,完成对用户的登录认证。如果认证失败,用户将不能访问该API。以nova为例,authtoken filter在/etc/paste.ini目录中(如果不熟悉WSGI框架,暂且忽略之)
keystone在openstack的位置如下:
3. keystone 基本概念介绍1). User User可简单的理解为用户,用户携带信物(token)能够访问openstack各个服务和资源。2). Tenant Tenant即租户,早期版本又称为project,它是各个服务中的一些可以访问的资源集合。比如通过nova创建虚拟机时要指定到某个租户中,在cinder创建卷也要指定到某个租户中。用户访问租户的资源前,必须与该租户关联,并且指定该用户在该租户下的角色。3). Role Role即角色,可以理解为VIP等级,用户的Role越高,在openstack中能访问的服务和资源就更多。4). Service Service即服务,如Nova、Glance、Swift、heat、ceilometer等。Nova提供云计算的服务,Glance提供镜像管理服务,Swift提供对象存储服务,heat提供资源编排服务,ceilometer则是提供告警计费服务,cinder提供块存储服务。5). Endpoint Service的显得太抽象笼统。Endpoint则具体化Service。Endpoint翻译为“端点”,我们可以理解它是一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint,而endpoint一般为url,我们知道了服务的url,我们就可以访问它。Endpoint 的url具有public、private和admin这三种权限。public url可以被全局访问,private url只能被局域网访问,admin url被从常规的访问中分离。6). Token Token即是信物、令牌,用户通过用户名和密码获取在某个租户下的token,通过token,可以实现单点登录。7) Credentials 该术语可以简单的理解为用户和密码。 keystone 里面的概念很多,其中最重要的是 User 和 Tenant 。其它的概念是由于安全和权限等因素引入。引用http://www.openstack.org.cn/bbs/forum.php?mod=viewthread&tid=534&extra=page%3D1该文的理解,通俗的说: 如果把宾馆比作为Tenant,住宿的人就是User ,而宾馆就是 Tenant,宾馆可以提供多种诸如住宿、娱乐、饮食等多种服务(Service),具体来说,住宿是一种具体的服务(Endpoint)。就住宿而言,有普通间和总统套房,如果你的VIP等级(Role)高,你可以享受到豪华的总统套房。入住前,我们需要拿身份证开房(Credential),认证身份证不是冒牌货后(Authenticaiton),会给你一个房卡(Token),然后你拿着房卡,就可以进入房间和享受各种服务。
4. keystone 的访问流程 以创建一个虚拟机(server)为例,结合下图简述下keystone在openstack的访问流程。 1)用户Alice通过自己的户名和密码向keystone申请token,keystone认证用户名和密码后,返回token1 2)Alice通过token1发送keystone查询他所拥有的租户,keystone验证token1成功后,返回Alice的所有Tenant 3) Alice选择一个租户,通过用户名和密码申请token,keystone认证用户名、密码、tenant后,返回token2。(其实1、2步仅仅是为了查询tenant,如果已经知道tenant,可以忽略1、2步) 4)Alice通过token2发送创建server的请求,keystone验证token2(包括该token是否有效,是否有权限创建虚拟机等)成功后,然后再把请求下发到nova,最终创建虚拟机
1. keystone的基本功能keystone作为openstack的Identity Service,提供了用户信息管理和完成各个模块认证服务。 用户信息管理:user/tenant基本信息,tenant管理 认证服务:登录认证,各个组件API的权限控制
2.keystone的架构既然keystone为各个模块提供认证服务,所以各个模块与keystone都有所交互。其中登录认证体现在用户访问各个组件的API时,调用了WSGI框架的authtoken filter,该filter最调用keystoneclient ,最终通过keystone验证token,完成对用户的登录认证。如果认证失败,用户将不能访问该API。以nova为例,authtoken filter在/etc/paste.ini目录中(如果不熟悉WSGI框架,暂且忽略之)
keystone在openstack的位置如下:
3. keystone 基本概念介绍1). User User可简单的理解为用户,用户携带信物(token)能够访问openstack各个服务和资源。2). Tenant Tenant即租户,早期版本又称为project,它是各个服务中的一些可以访问的资源集合。比如通过nova创建虚拟机时要指定到某个租户中,在cinder创建卷也要指定到某个租户中。用户访问租户的资源前,必须与该租户关联,并且指定该用户在该租户下的角色。3). Role Role即角色,可以理解为VIP等级,用户的Role越高,在openstack中能访问的服务和资源就更多。4). Service Service即服务,如Nova、Glance、Swift、heat、ceilometer等。Nova提供云计算的服务,Glance提供镜像管理服务,Swift提供对象存储服务,heat提供资源编排服务,ceilometer则是提供告警计费服务,cinder提供块存储服务。5). Endpoint Service的显得太抽象笼统。Endpoint则具体化Service。Endpoint翻译为“端点”,我们可以理解它是一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint,而endpoint一般为url,我们知道了服务的url,我们就可以访问它。Endpoint 的url具有public、private和admin这三种权限。public url可以被全局访问,private url只能被局域网访问,admin url被从常规的访问中分离。6). Token Token即是信物、令牌,用户通过用户名和密码获取在某个租户下的token,通过token,可以实现单点登录。7) Credentials 该术语可以简单的理解为用户和密码。 keystone 里面的概念很多,其中最重要的是 User 和 Tenant 。其它的概念是由于安全和权限等因素引入。引用http://www.openstack.org.cn/bbs/forum.php?mod=viewthread&tid=534&extra=page%3D1该文的理解,通俗的说: 如果把宾馆比作为Tenant,住宿的人就是User ,而宾馆就是 Tenant,宾馆可以提供多种诸如住宿、娱乐、饮食等多种服务(Service),具体来说,住宿是一种具体的服务(Endpoint)。就住宿而言,有普通间和总统套房,如果你的VIP等级(Role)高,你可以享受到豪华的总统套房。入住前,我们需要拿身份证开房(Credential),认证身份证不是冒牌货后(Authenticaiton),会给你一个房卡(Token),然后你拿着房卡,就可以进入房间和享受各种服务。
User | 住宾馆的人 |
Credentials | 身份证 |
Authentication | 认证你的身份证 |
Token | 房卡 |
Tenant | 宾馆 |
Service | 宾馆可以提供的服务类别,比如,饮食类,娱乐类 |
Endpoint | 具体的一种服务,比如吃烧烤,打羽毛球 |
Role | VIP 等级,VIP越高,享有越高的权限 |
相关文章推荐
- openstack keystone整体架构与功能
- openstack keystone整体架构与功能
- 第五十六课 云计算模型 openstack架构、keystone基础及部署
- 逻辑架构、体系架构、整体架构、功能架构
- OpenStack Keystone架构二
- OpenStack Keystone架构一:Keystone基础
- 云计算与openstack (三)整体架构与功能剖析
- 理解 OpenStack Swift (2):架构、原理及功能 [Architecture, Implementation and Features]
- Openstack组件实现原理 — Keystone认证功能
- Openstack组件 — Keystone认证功能实现原理
- Openstack组件实现原理 — Keystone认证功能
- OpenStack学习 (3) - OpenStack整体架构
- Siebel CRM的整体架构及功能模块全面解读!
- 发现 OpenStack: 架构、功能和交互
- Discuz 整体架构及内核浅析二:内核功能(For DzX3.2)
- keystone之权限认证功能openstack
- 【线上直播】测试环境自动部署系统技术的整体方案、技术架构及功能介绍
- OpenStack Keystone架构
- [openstack][keystone]架构分析
- Openstack组件部署 — Keystone功能介绍与认证实现流程