OpenStack模块(T版)—Keystone部署详解


前言

Keystone在OpenStack中的定位为全局身份服务的验证授权,其它的服务的API在接收到请求之后会向keystone做一个认证,是否有权限进行操作,如有,按照需求中不同的功能模块去分发给自己后端的子功能模块。
宏观上keystone是一个小型的认证机构。本文会从微观上讲解keystone如何进行授权认证的。


一、Keystone概述

1.1 Keystone主要功能

  1. 身份认证(Authentication):令牌的发放和效验
    (a.令牌发放,校验/认证)令牌管理
    Auth:授权,权限管理有关

  2. 用户授权(Authorization):授予用户在一个服务中所拥有权限
    (b.控制用户可用授权的权限的范围和使用期限)
    例如:规定只可以到机械学院计算机专业大一02班进行授课,时间为一个星期

  3. 用户管理(Account):管理用户账户
    (c.管理用户)

  4. 服务目录(Service Catalog):提供可用服务的API端点
    (d.提供所需调用/使用的服务对应的API(URL)位置)及授权,鉴权通过后,会指引目标服务的endponit(API–>Web路径–>URL路径)具体位置
    例如:机械学院9号楼110教室

1.2 Keystone管理对象

管理对象 (多元化,管理的对象类型非常丰富)

keystone不仅可以为客户进行授权,分发令牌,也可以给openstack内部权限进行管理

  • user:指使用Openstack service的用户
  • Project(Tenant):可以理解为一个人,或者服务所拥有的资源的集合
  • Role:用于划分权限。通过User指定Role,使User获得Role对应操作权限
  • Authentication:确定用户身份的过程
  • Token:是一个字符串表示,作为访问资源的令牌。Token包含了在指定范围和有效时间内,可以被访问的资源。
  • Credentials:用于确认用户身份的凭证。用户的用户名和密码,或者是用户吗和API密钥,或者身份管理服务提供的认证令牌
  • Service:Openstack service,即Openstack中运行的组件服务。如nova、swift、glance、neutron、cinder等
  • Endpoint:一个可以通过网络来访问和定位某个Openstack service的地址,通常是一个URL。

1.3 Keystone认证流程

在这里插入图片描述

以创建虚拟机为场景来介绍

① 从概述角度来看

  1. keystone在创建虚拟的过程中,对用户及其他组件之间的交互进行认证
  2. keystone会颁发令牌并进行校验

② 从整体认证流程角度来看:

  1. 首先user会通过命令或horizon的方式进行登录(验证方式包括令牌、密钥等);
  2. keystone会想user发送credentials用于表示验证成功,同时向user发送一个Token(可以使用服务的权限范围和时间)和Endpoint(API地址或者具体的URL);
  3. user通过Token和Endpoint向nova的API发送申请创建虚拟机的请求;
  4. nova会向keystone认证user的Token是否可用;
  5. keystone认证成功;
  6. nova拿着user的Token和Image向glance提出需要镜像的请求;
  7. glance会拿着nova给的Token向keystone认证,是否可用;
  8. keystone认证成功;
  9. glance会给nova具体的Image本身;
  10. nova拿着user的Token令牌和network需求向neutron发出请求;
  11. neutron拿着nova给的Token去向keystone认证,是否可用;
  12. keystone认证成功;
  13. neutron会提供给nova的具体的网络服务本身;
  14. nova开始创建VM,创建成功后返回信息给user;
  15. user收到虚拟机创建成功的信息。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值