文章目录

  • 一:Keystone概念
  • 二:Keystone 主要功能
  • 三:Keystone的管理对象
  • 四:Keystone工作流程


一:Keystone概念

  • Keystone (OpenStack Identity Service)是OpenStack中的一个独立的提供安全认证的模块,主要负责openstack用户的身份认证、令牌管理、提供访问资源的服务目录、以及基于用户角色的访问控制。
  • Keystone类似一个服务总线,或者说是整 个Openstack框架的注册表,其他服务通过keystone来注册其服务的Endpoint
    (服务访问的URL),任何服务之间相互的调用,需要经过Keystone的身 份验证,来获得目标服务的Endpoint来找到目标服务。
    Keystone 在整个 OpenStack 架构中的位置如下图:
  • openstack管理员认证简称 openstack认证有哪些_身份认证

二:Keystone 主要功能

  • 身份认证:负责令牌的发放和校验
  • 用户授权:授权用户有指定的可执行动作的范围
  • 用户管理:管理用户的账户
  • 服务目录:提供可用服务的API端点位置

三:Keystone的管理对象

Keystone服务贯穿整个架构,在进行身份认证服务的整个流程中,有几个重要的概念

  • 用户(user):指的是使用openstack架构的用户。
  • 证书(credentials):用于确认用户身份的凭证,证明自己是自己,包括用户的用户名和密码,或是用户名和API密钥,或者身份管理服务提供的认证令牌。

认证(authentication):确定用户身份的过程。

  • 项目(project):可以理解为一个人,或服务所拥有的资源的集合。
  • 角色(role):用于划分权限,通过给user指定role,使user获得role对应操作权限
  • 服务(service):openstack架构的组件服务,如nova、neutron、cinder、swift、glance等。
  • 令牌(token):由字符串表示,作为访问资源的凭证,是用户的身份/权限证明文件;
    token决定了用户的权限范围,在指定的权限内进行操作;也包括令牌的有效期,在指定的时间范围内用户才有这些权限。
  • 端点(endpoint):一个可以通过网络来访问和定位某个openstack service的地址,即用户创建一个项目过程中需要的各个服务资源的位置

四:Keystone工作流程

openstack管理员认证简称 openstack认证有哪些_openstack管理员认证简称_02


以用户想要通过openstack平台创建一个虚拟机的过程为例:

  • 用户通过命令行或者horizon控制面板的方式登录openstack,凭借自己的证书(credentials)给keystone验证。
  • Keystone对用户的证书验证,验证通过则会发布一个令牌(token)和用户所需服务的位置点(endpoint)给用户。
  • 用户得到了位置点(endpoint)之后,携带自己的令牌,向nova发起请求,请求创建虚拟机。
  • nova会拿着用户的token向keystone进行认证,看是否允许用户执行这样的操作。
  • keystone认证通过之后,返回给nova,nova即开始执行创建虚拟机的请求。首先需要镜像资源,nova带着令牌(token)和所需要的镜像名向glance提出镜像资源的请求。
  • glance会拿着token去向keystone进行认证,看是否允许提供镜像服务。keystone认证成功后,返回给glance。glance向nova提供镜像服务。
  • 创建虚拟机还需要网络服务,nova携带token向neutron发送网络服务的请求
  • neutron拿着nova给的token向keystone进行认证,看是否允许向其提供网络服务。keystone认证成功后,返回给nuetron。nuetron则给nova提供网络规划服务。
  • nova获取了镜像和网络之后,开始创建虚拟机,通过hypervisior可调用底层硬件资源进行创建。创建完成返回给用户,成功执行了用户的请求。