OpenStack(二)——Keystone组件

一、OpenStack组件之间的通信关系

  • 【1】基于 AMQP 西医的通信
    • 用于每个项目内部各个组件之间的通信
  • 【2】基于 SQL 的通信
    • 用于各个项目内部的通信
  • 【3】基于 HTTP 协议进行通信
    • 通过各项目的API建立的通信关系,API都是RESTful Web API
    • RESTful:是基于 http/https 的一种通讯规范
    • Web:API安装httpd,由httpd承载API
  • 【4】通过 Native API 实现通信
    • OpenStack各组件和第三方软硬件之间的通信

二、OpenStack物理构架

OpenStack(二)——Keystone组件

三、Keystone组件

1、Keystone身份服务

  • Keystone 是 OpenStack 中的一个独立的提供安全认证的模块,主要负责 OpenStack 用户的身份认证、令牌管理、提供访问资源的服务目录、以及基于用户角色的访问控制
  • Keystone 类似一个服务总线,或者说是整个 OpenStack 框架的注册表,其他服务通过 Keystone 来注册其服务的 Endpoint(服务访问的URL),任何服务之间相互的调用,需要经过 Keystone 的身份验证,来获得目标服务的 Endpoint 来找到目标服务
主要功能说明
身份认证令牌的发放和校验
用户授权授予用户在一个服务中所拥有的权限
用户管理管理用户账户
服务目录提供可用服务的API端点

2、管理对象

  • 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

3、Keystone认证流程

OpenStack(二)——Keystone组件

总结

面试题:创建一个实例的过程(Keystone认证流程)

  • 【1】登录(认证)
  • 【2】到达控制台(Keystone指引)
  • 【3】web页面发出创建实例请求
  • 【4】向nova发出请求
  • 【5】nova分别向glance、neutron发出调用资源的申请
  • 【6】nova拿到所需资源后,创建虚拟机,同时将结果返回给user
  • 【注】每一步,加入Keystone 认证、授权(token)的过程:用户/组件,持着令牌(token)再去找其他组件
版权声明:玥玥 发表于 2021-05-21 20:27:17。
转载请注明:OpenStack(二)——Keystone组件 | 女黑客导航