OpenStack——Keystone组件
Posted 小白的成功进阶之路
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenStack——Keystone组件相关的知识,希望对你有一定的参考价值。
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物理构架
三、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认证流程
总结
面试题:创建一个实例的过程(Keystone认证流程)
- 【1】登录(认证)
- 【2】到达控制台(Keystone指引)
- 【3】web页面发出创建实例请求
- 【4】向nova发出请求
- 【5】nova分别向glance、neutron发出调用资源的申请
- 【6】nova拿到所需资源后,创建虚拟机,同时将结果返回给user
- 【注】每一步,加入Keystone 认证、授权(token)的过程:用户/组件,持着令牌(token)再去找其他组件
以上是关于OpenStack——Keystone组件的主要内容,如果未能解决你的问题,请参考以下文章