Keystone简介
发布日期:2021-06-29 06:55:45 浏览次数:2 分类:技术文章

本文共 1593 字,大约阅读时间需要 5 分钟。

Keystone产生的原因

早期的openstack版本中,并没有Keystone安全认证模块。用户、消息、API调用认证,都是放在Nova模块中的。由于后来的开发中,由于有各种各样的模块加入到Openstack中,安全认证所涉及的面也变得更加广泛,如用户登录、用户消息传递,模块消息通信、服务注册等各不相同的认证。处理这些不同的安全认证变得越来越复杂,于是需要一个模块来处理这些不同的安全认证。所以Keystone就产生了。

Keystone在openstack中的作用(用户认证、服务认证、口令认证):

a.对用户进行认证的同时,也对用户的权限进行限制。

b.保证Openstack的服务可以正常注册,各服务组件之间的消息传递还需要用口令,当口令过期不再使用此口令。

举例说明:Openstack比作一个别墅,Openstack内部的各种服务好比各种房间,用户比作住在别墅里面的人,那么Keystone就是相当于别墅的安全机制。首先,进去别墅的人需要进行身份认证。除此之外,当用户进入到别墅之后,只能进入属于自己可以访问的房间,并不是所有的房间都可以进去(这好比Keystone的用户权限管理)。别墅里面的房间都需要进行安全机制的管理(如上锁、刷卡)。如果要串门时,还需要使用口令(比如进入其他的人的房间时候,会询问是否可以进来)。

Keystone是怎么和其他组件建立联系的?

这主要是在安装Keystone的时候,对环境变量的配置

KEYSTONE_AUTH_HOST=$KEYSTONE_HOST

KEYSTONE_AUTH_PORT=35357

KEYSTONE_AUTH_PROTOCOL=http

以上的KEYSTONE_AUTH*三行主要是为用户提供安全认证的参数,用户认证主要是对客户的登录信息、用户请求的资源以及用户的权限进行检测。

KEYSTONE_SERVICE_HOST=$KEYSTONE_HOST

KEYSTONE_SERVICE_PORT=5000

KEYSTONE_SERVICE_PROTOCOL=http

KEYSTONE_AUTH*主要是为服务注册与安装认证的变量。OPenstack内部组件之间的通信,比如Nova与Quantum的通信。Nova如何知道Quantum服务所在地址,如何知道提供的Quantum服务是否安全。这些就需要Keystone来提供安全的保证。

SERVICE_ENDPOINT=http://$KEYSTONE_HOST:35357/v2.0

SERVICE_ENDPOINT变量主要是提供给用户登录、认证使用。

KEYSTONE_DIR=$DEST/keystone

KEYSTONE_CONF_DIR=$DEST/keystone/etc

KEYSTONE_CONF=$KEYSTONE_CONF_DIR/keystone.conf

以上主要设置了Keystone的安装目录以及配置文件模板,需要注意的是,配置文件模板与配置文件不可混淆。配置文件模板keystone.conf位于keystone源码包etc目录下。根据次模板作出修改之后,才做为正式使用的配置文件。Keystone真正的配置文件位于/etc/keystone/keystone.conf

KEYSTONE_CATALOG_BACKEND=sql

指明采用何种方式登记服务。Keystone需要记录哪些服务已经注册,有两种记录方式:文件和数据库。sql就表示使用数据库来记录。

KEYSTONE_LOG_CONFIG=''--log-config $KEYSTONE_CONF_DIR?logging.conf"

logfile=/var/log/nova/keystone.log

以上是设置日志,使用者可以根据自己的需要来设置日志文件的输出。

转载地址:https://blog.csdn.net/zhydream77/article/details/80414710 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Swift简介
下一篇:SQL Server 2008系统的系统数据库

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月25日 21时14分02秒