【Centos7系列】OpenStack-Keystone组件介绍

Iceboundnana 发布于 2023-06-06 1.01k 次阅读


主要功能

  • 身份认证:对用户进行身份认证,并对应权限范围
  • 用户授权(令牌管理权限):以 token 令牌的方式标识用户对应拥有的权限范围
  • 用户管理(寻址功能):提供用户访问资源的寻址功能(URL)
  • 服务目录:所有服务的交互或调用,均需要 keystone 进行认证

包含的组件

  • Server:使用RESTful接口(三种api)提供认证授权服务的集中式server
  • Drivers:集成到server内的驱动或者服务后端
  • Modules:中间件运行在正在使用认证服务的openstack组件的地址空间

管理对象

  • User:任何使用 OpenStack 的实体,可以是真正的用户,其他系统或者服务。当 User 请求访问 OpenStack 时,Keystone 会对其进行验证
  • Project:各个服务中可被访问的资源集合(资源组),用于将各种资源(计算、存储和网络)进行分组和隔离。资源的所有权属于 Project ,而不是 User。每个 User(包括 admin)必须挂在 Project 里才能访问该 Project 的资源,一个 User 可以属于多个 Project
  • Role:角色,代表一组用户可以访问的资源权限
  • Authentication:一个字符串表示,作为访问资源的令牌(Token 包含了在指定范围和有效时间内可以被访问的资源)
  • Credentials:用于确认用户身份的凭证,用户名和密码,或者是用户名和API 密钥,又或是身份管理服务提供的认证令牌
  • OpenStack service:即 OpenStack 中运行的组件服务
  • Endpoint:一个网络上可访问的地址,通常是一个 URL,Service 通过 Endpoint 暴露自己的 API。Keystone 负责管理和维护每个 Service 的 Endpoint
[root@controller ~]# openstack catalog list
+-----------+----------------+-----------------------------------------------------------------------------+
| Name      | Type           | Endpoints                                                                   |
+-----------+----------------+-----------------------------------------------------------------------------+
| glance    | image          | RegionOne                                                                   |
|           |                |   admin: http://controller:9292                                             |
|           |                | RegionOne                                                                   |
|           |                |   internal: http://controller:9292                                          |
|           |                | RegionOne                                                                   |
|           |                |   public: http://controller:9292                                            |
|           |                |                                                                             |
| heat      | orchestration  | RegionOne                                                                   |
|           |                |   internal: http://controller:8004/v1/4f1f49c7caec45f9b6a61133818c8b62      |
|           |                | RegionOne                                                                   |
|           |                |   admin: http://controller:8004/v1/4f1f49c7caec45f9b6a61133818c8b62         |
|           |                | RegionOne                                                                   |
|           |                |   public: http://controller:8004/v1/4f1f49c7caec45f9b6a61133818c8b62        |
|           |                |                                                                             |
| heat-cfn  | cloudformation | RegionOne                                                                   |
|           |                |   admin: http://controller:8000/v1                                          |
|           |                | RegionOne                                                                   |
|           |                |   internal: http://controller:8000/v1                                       |
|           |                | RegionOne                                                                   |
|           |                |   public: http://controller:8000/v1                                         |
|           |                |                                                                             |
| neutron   | network        | RegionOne                                                                   |
|           |                |   admin: http://controller:9696                                             |
|           |                | RegionOne                                                                   |
|           |                |   public: http://controller:9696                                            |
|           |                | RegionOne                                                                   |
|           |                |   internal: http://controller:9696                                          |
|           |                |                                                                             |
| cinderv2  | volumev2       | RegionOne                                                                   |
|           |                |   admin: http://controller:8776/v2/4f1f49c7caec45f9b6a61133818c8b62         |
|           |                | RegionOne                                                                   |
|           |                |   public: http://controller:8776/v2/4f1f49c7caec45f9b6a61133818c8b62        |
|           |                | RegionOne                                                                   |
|           |                |   internal: http://controller:8776/v2/4f1f49c7caec45f9b6a61133818c8b62      |
|           |                |                                                                             |
| placement | placement      | RegionOne                                                                   |
|           |                |   admin: http://controller:8778                                             |
|           |                | RegionOne                                                                   |
|           |                |   internal: http://controller:8778                                          |
|           |                | RegionOne                                                                   |
|           |                |   public: http://controller:8778                                            |
|           |                |                                                                             |
| nova      | compute        | RegionOne                                                                   |
|           |                |   internal: http://controller:8774/v2.1                                     |
|           |                | RegionOne                                                                   |
|           |                |   public: http://controller:8774/v2.1                                       |
|           |                | RegionOne                                                                   |
|           |                |   admin: http://controller:8774/v2.1                                        |
|           |                |                                                                             |
| cinderv3  | volumev3       | RegionOne                                                                   |
|           |                |   internal: http://controller:8776/v3/4f1f49c7caec45f9b6a61133818c8b62      |
|           |                | RegionOne                                                                   |
|           |                |   admin: http://controller:8776/v3/4f1f49c7caec45f9b6a61133818c8b62         |
|           |                | RegionOne                                                                   |
|           |                |   public: http://controller:8776/v3/4f1f49c7caec45f9b6a61133818c8b62        |
|           |                |                                                                             |
| keystone  | identity       | RegionOne                                                                   |
|           |                |   admin: http://controller:35357/v3                                         |
|           |                | RegionOne                                                                   |
|           |                |   internal: http://controller:5000/v3                                       |
|           |                | RegionOne                                                                   |
|           |                |   public: http://controller:5000/v3                                         |
|           |                |                                                                             |
| swift     | object-store   | RegionOne                                                                   |
|           |                |   public: http://controller:8080/v1/AUTH_4f1f49c7caec45f9b6a61133818c8b62   |
|           |                | RegionOne                                                                   |
|           |                |   admin: http://controller:8080/v1                                          |
|           |                | RegionOne                                                                   |
|           |                |   internal: http://controller:8080/v1/AUTH_4f1f49c7caec45f9b6a61133818c8b62 |
|           |                |                                                                             |
| cinder    | volume         | RegionOne                                                                   |
|           |                |   public: http://controller:8776/v1/4f1f49c7caec45f9b6a61133818c8b62        |
|           |                | RegionOne                                                                   |
|           |                |   internal: http://controller:8776/v1/4f1f49c7caec45f9b6a61133818c8b62      |
|           |                | RegionOne                                                                   |
|           |                |   admin: http://controller:8776/v1/4f1f49c7caec45f9b6a61133818c8b62         |
|           |                |                                                                             |
+-----------+----------------+-----------------------------------------------------------------------------+

keystone 认证过程

  1. user 登录(keystone 认证)
  2. user 进入控制台或命令行界面(位置点)
  3. user 发起创建虚拟机的请求(向 keystone 认证指定位置点)
  4. 请求nova 组件(向 keystone 认证)
  5. nova 组件开始执行请求,并调用其他所需的 glance、neutron 等资源(向 keystone 认证,指引对用服务的位置点)
  6. glance 和 neutron 服务收到请求后(向 keystone 认证)才会给与 nova 对应的资源
  7. nova 获取资源后,调用对应资源,创建实例,最后将结果返回给用户(成功?失败?原因…)

整体关系

keystone与openstack其他服务的关系

keystone与其他组件协同工作流程

基础命令

【Centos7系列】Openstack-keystone基础命令 – Nana Sharing Website (iceboundnana.top)

此作者没有提供个人介绍。
最后更新于 2023-08-08