OpenStack----keystone 认证服务

前言:

本篇博客为OpenStack—keystone组件基础理论,之后会持续更新~~

一、keystone 简介

  • keystone 是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证、令牌的发放和校验、服务列表、用户权限的定义等等。云环境中所有的服务之间的授权和认证都需要经过 keystone. 因此 keystone 是云平台中第一个即需要安装的服务。

二、keystone主要功能

2.1 职能
  • 提供统一的验证方式
2.2 主要功能
  • ① 角色权限管理
  • ② 其他组件地址管理:负责存放其他组件URL路径的目录
  • ③ 3A服务认证:账号(账户管理)、身份认证、办法授权

三、keystone基本概念

3.1 keystone基本概念

  • ① 用户

    用户包含:使用的人、群集里的服务或系统。就像Linux系统里的用户有普通用户、root、系统用户等。

    在OS中是通过一串字符串来表示,id

    用户在登录时会分配到令牌,通过令牌来访问其他服务

  • ② 凭证

    用来验证身份信息的数据,如令牌、用户名密码、apikey等

  • ③ 验证

    验证是否合法、令牌是否有效(是否过期)

  • ④ 令牌

    用于访问各个服务api或资源的一串字符串,临时令牌具有一定的时效性,过期便失效。

  • ⑤ 租户

    独立的资源容器

  • ⑥ 服务

    OS中提供的服务,如glance镜像,nova计算,swift存储。服务提供了一个或多个端口以供访问。

  • ⑦ 端点、端口

    用于访问某个服务的URL地址,api接口。

    一个端点模板包含一个URL列表,列表中的每个URL都对应一个服务实例的访问地址并且具有三种权限

    Admin:只能被管理员访问

    Public:可以被全局访问

    Private:只能被openstack 内部服务访问

  • ⑧ 角色

    用户权限的集合,如管理员拥有最高权限

  • ⑨ Keystone client

    通过java、py、go等语言开发出来的。c/s框架,客户端与服务端采用http协议通信。

3.2 访问请求控制(Token)
  • ① Service(nova,glance,swift等服务需要在keystone上注册)
  • ② Endpoint(service暴露出来的访问地址)
  • ③ Token(访问资源的令牌,具有时效性)
3.3 注册表服务 (Catalog)
  • openstack服务需要注册到keystone注册表中

四、keystone 工作流程

4.1 工作流程图

在这里插入图片描述

4.2 工作过程描述
  • ① user使用命令或控制台登录,需要先将自己的资格证书发给keystone,认证成功后,keystone会给与用户一个临时令牌和一个访问服务的端点
  • ② user把临时的令牌交给keystone,发送创建虚拟机请求,nova收到令牌后,会向拿着令牌向keystone确认合法性,keystone认证成功后返回给nova
  • ③ nova创建虚拟机需要镜像,所以拿着请求镜像服务的令牌给与glance服务,glance收到令牌后拿着令牌向keystone认证合法性,keystone认证成功后返回给glance,此时glance服务将nova所请求的镜像给与nova
  • ④ nova创建虚拟机需要虚拟网络,所以向neutron发出请求,neutron收到nova给与的令牌向keystone认证合法性,是否可用,keystone认证成功后返回给neutron,随即neutron给与nova提供所需的网络服务
  • ⑤ 最后nova服务开始创建vm虚拟机,创建完成后返回信息给user: the vm is create sucessfull
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章