OpenStack--Keystone介绍

Keystone

概述

Keystone(OpenStack Identity Service)是 OpenStack 框架中负责管理身份验证、服务规则和服务令牌功能的模块。用户访问资源需要验证用户的身份与权限,服务执行操作也需要进行权限检测,这些都需要通过 Keystone 来处理。Keystone类似一个服务总线, 或者说是整个Openstack框架的注册表, 其他服务通过keystone来注册其服务的Endpoint(服务访问的URL),任何服务之间相互的调用, 需要经过Keystone的身份验证, 来获得目标服务的Endpoint来找到目标服务。

主要功能

身份认证:负责令牌的发放和校验

用户授权:授权用户有指定的可执行动作的范围

用户管理:管理用户的账户

服务目录:提供可用服务的API端点位置

基本概念

名称 介绍
User User可简单的理解为用户,用户携带信物(token)能够访问openstack各个服务和资源。
Tenant 租户,早期版本又称为project,它是各个服务中的一些可以访问的资源集合。比如通过nova创建虚拟机时要指定到某个租户中,在cinder创建卷也要指定到某个租户中。用户访问租户的资源前,必须与该租户关联,并且指定该用户在该租户下的角色。
Role 角色,可以理解为VIP等级,用户的Role越高,在openstack中能访问的服务和资源就更多。
Service 服务,如Nova、Glance、Swift、heat、ceilometer等。Nova提供云计算的服务,Glance提供镜像管理服务,Swift提供对象存储服务,heat提供资源编排服务,ceilometer则是提供告警计费服务,cinder提供块存储服务。
Endpoint Service的显得太抽象笼统。Endpoint则具体化Service。Endpoint翻译为“端点”,我们可以理解它是一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint,而endpoint一般为url,我们知道了服务的url,我们就可以访问它。Endpoint的url具有public、private和admin这三种权限。public url可以被全局访问,privateurl只能被局域网访问,admin url被从常规的访问中分离。
Token 信物、令牌,用户通过用户名和密码获取在某个租户下的token,通过token,可以实现单点登录。
Credentials 简单的理解为用户和密码。

访问流程

在这里插入图片描述
简单说就是user获得Keystone的认证,向nova发起请求,nova确认后,去拉取镜像资源和网络服务

用户通过命令行或者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可调用底层硬件资源进行创建。创建完成返回给用户,成功执行了用户的请求。

猜你喜欢

转载自blog.csdn.net/weixin_50344742/article/details/113359755