keystone介绍

identity即keystone,它是openstack的验证中心,所有的服务都由它来认证。参考 http://blog.csdn.net/wsfdl/article/details/20492343

在keyston中有以下角色:tenants(租户或项目)、用户、角色、服务目录和端点

  • 如果把宾馆比作为Tenant,住宿的人就是User ,宾馆可以提供多种诸如住宿、娱乐、饮食等多种服务(Service),具体来说,住宿是一种具体的服务(Endpoint)。就住宿而言,有普通间和总统套房,如果你的VIP等级(Role)高,你可以享受到豪华的总统套房。入住前,我们需要拿身份证开房(Credential),认证身份证不是冒牌货后(Authenticaiton),会给你一个房卡(Token),然后你拿着房卡,就可以进入房间和享受各种服务。

以创建一个虚拟机(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,最终创建虚拟机