Keystone
Keystone手动安装
二进制安装包
源码安装
- 首先安装
keystone依赖的操作系统的软件包
$ sudo apt-get install git python-dev sqlite3 libxml2-dev libxslit1-dev libsasl2 libsqlite3-dev libssl-dev libldap2-dev
$ sudo apt-get isntall mysql-server mysql-client python-mysqldb
- 创建
keystone数据库
$ mysql -u root -python
> create database keystone ;
> grant all on keystone.* to 'keystone'@'%'identified by '123456';
- 下载
keystone源码
$ git clone https://github.com/openstack/keystone.git
- 源码安装
keystone
$ python setup.py install 或者 sudo pip install -e .
- 创建配置文件
$ sudo mkdir -p /etc/keystone
$ sudo cp ~/keystone/etc/* /etc/keystone/
- 修改配置文件
keystone配置文件
- 常见操作讲解及简单演示(最新版本的相关命令使用
openstack client)Service相关的命令(keystone help)
keystone service-list | service-get | service-create | service-deleteEndpoint相关的命令
keystone endpoint-list | endpoint-get | endpoint-create | endpoint-deleteTenant相关的命令
keystone tenant-create | tenant-delete | tenant-get | tenant-list | tenant-updateUser相关的命令
keystone user-create | user-get | user-password-update | user-role-list | user-update | user-delete | user-list | user-role-add | user-role-removeRole相关的命令
keystone role-create | role-delete | role-get | role-list
keystone认定原理
- UUID认证的原理
- 当用户拿着有效的用户名和密码去
keystone认证后,keystone就会返回给他一个token,这个token就是一个uuid。 - 以后用户进行其他操作时,都必须出示这个
token。例如当nova接到一个请求后,就会用这个token去向keystone进行请求验证,keystone通过对比token,以及检查token的有效期,来判断token是否合法,然后返回给nova这一个请求是否合法。 - 这一方式十分简单,但是在大量业务场景下,
keystone将会成为性能瓶颈。
- 当用户拿着有效的用户名和密码去
- PKI认证的原理
- 在
keystone初始化时,keystone生成了CA的公钥CA.pem和私钥CA.key。同时,产生了keystone自己的公钥keystone.pub和keystone.key,然后将keystone.pub进行了CA的签名,生成了keystone.pem。 - 当用户拿着有效的用户名和密码去
keystone认证后,keystone就将用户的基本信息通过keystone.key进行了加密,将这一密文作为token返回给用户。当用户发出一个请求,例如nova拿到token后,首先需要拿到keystone的证书keystone.pom(这一过程只需要进行一次),然后通过keystone.pem来进行解密,获取用户的信息,就可以知道该用户是否合法。 - 对于用户的
token还需要对token的合法时间,以及token还是否存在进行判断。所以当nova每一次拿到token后还会先向keystone询问一次token的失效列表,来查看token是否失效。当然这一过程对于keystone的负载还是相当轻的,所以PKI还是有效的解决了keystone成为性能瓶颈的问题。
- 在
KeyStone policy文件
来源:CSDN
作者:胖可仃
链接:https://blog.csdn.net/herhan1/article/details/103715389