概述
Keystone(OpenStack Identity Service)是 OpenStack 框架中负责管理身份验证、服务访问规则和服务令牌功能的组件。用户访问资源需要验证用户的身份与权限,服务执行操作也需要进行权限检测,这些都需要通过 Keystone 来处理。Keystone 类似一个服务总线, 或者说是整个 Openstack 框架的注册表,OpenStack 服务通过 Keystone 来注册其 Endpoint(服务访问的URL),任何服务之间的相互调用,都需要先经过 Keystone 的身份验证,获得目标服务的 Endpoint ,然后再调用。
Keystone 的主要功能如下:
管理用户及其权限;
维护 OpenStack 服务的 Endpoint;
Authentication(认证)和 Authorization(鉴权)。
安装
创建keystone数据库
1 | # 在任意控制节点创建数据库,数据库自动同步,以controller01节点为例; |
安装keystone
1 | # 在全部控制节点安装keystone,以controller01节点为例; |
配置
1 | 在全部控制节点设置 |
同步keystone数据库
1 | # 任意控制节点操作 |
初始化fernet秘钥
1 | #在任意控制节点操作 |
配置httpd.conf
1 | #在全部控制节点设置 |
配置wsgi-keystone.conf
1 | #在全部控制节点设置 |
认证引导
1 | #任意节点操作 |
启动
1 | # 在全部控制节点操作,以controller01节点为例 |
创建domain, projects, users, 与roles
domain
1 | #domain |
projects
1 | # project属于某个domain; |
users
1 | # user属于某个domain; |
roles
1 | # 创建普通用户角色(区别于admin用户) |
1 | # 向demo项目的demo用户赋予user权限 |
openstack client 环境变量脚本
admin-openrc
1 | [root@controller01 ~]# cat admin-openrc |
1 | [root@controller01 ~]# source admin-openrc |
demo-openrc
1 | [root@controller01 ~]# cat demo-openrc |