Keystone的安全认证

一、Keystone的服务器端架构

  1. Keystone的服务器端提供了一些Restful API
  2. 同时提供了一些针对这些Restful API的过滤器

二、客户端发送HTTP请求流程

  1. 客户端创建一个Keystone Client对象,其实就是一个HTTP Client对象
  2. 直接请求服务器端的Restful API

三、Keystone提供的几种用户认证形式

  1. admin_token方式认证
    这种认证定义在admin_token_auth过滤器中。
  2. 用户名密码方式认证
    (1)本地认证
    (2)Token认证
    服务器端和客户端都会缓存用户的token
    (3)外部认证
    提供了两种token格式,UUID和PKI。

四、访问Openstack服务的流程

访问其他服务(如Cinder、Nova)的流程大致如下

  1. 创建Keystone Client对象。通过Keystone Client对象向Keystone服务器发送认证请求,申请用户Token。在用户Token中,可以提取Token ID和服务目录。
  2. 创建需要访问的Openstack组件的相应Client对象(如果需要访问Glance服务,则创建Glance Client对象)。根据Token中的服务目录,设置Client对象的endpoint等信息
  3. 当Client对象向Openstack服务发送HTTP请求时,OpenStack服务会通过auth_token过滤器向Keystone服务器发送认证请求。如果认证成功,OpenStack再调用相应的方法处理用户请求。

你可能感兴趣的:(Keystone的安全认证)