首页 > 代码库 > OpenStack 认证服务 KeyStone(三)
OpenStack 认证服务 KeyStone(三)
Keystone 介绍
Keystone作用:
- 用户与认证:用户权限与用户行为跟踪;
- 服务目录:提供一个服务目录,包括所有服务项和相关Api的断点
- SOA相关知识
Keystone主要两大功能用户认证和服务目录(相当于一个注册中心)
- 用户认证名词介绍
User:用户
它是用一个数字代表使用openstack云服务的一个人、系统、或服务。身份验证服务将会验证传入的由用户声明将调用的请求
一个租户可以有多个用户
一个用户可以属于一个或多个租户
用户对租户和操作权限由用户在租户中承担的角色来决定。
Project:项目
它是各个服务中的一些可以访问的资源集合或者说叫资源组。它是一个容器,用于组织和隔离资源,或标识对象。
Token:令牌
Role:角色
代表一组用户可以访问的资源权限,例如Nova中的虚拟机、Glance中的镜像。
- 服务目录两大名词介绍
Service:服务
Service即服务,如Nova、Glance、Swift。根据前三个概念(User,Project和Role)一个服务可以确认当前用户是否具有访问其资源的权限。但是当一个user尝试着访问其租户内的service时,他必须知道这个service是否存在以及如何访问这个service。
Endpoint:端点
Endpoint翻译为“端点”,我们可以理解它是一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint。Endpoint的每个URL都对应一个服务实例的访问地址,并且具有public、orivate和admin这三种权限。pubic url可以完全被全局访问,private url只能被局域网访问,admin url被从常规的访问中分离。
KeyStone安装
yum install -y openstack-keystone httpd mod_wsgi memcached python-memcached
提示: wsgi是python一个cgi的接口
KeyStone配置
编辑文件/etc/keystone/keystone.conf,我们管理keystone只需要修改keystone的配置文件即可。
备注:在配置文件里面以[xxx]里面的内容叫做配置栏目(类似于mysql配置文件[mysqld])
- 在[DEFAULT]部分,定义初始管理令牌的值,我们使用openssl生成一个随机值。
[root@linux-node1 ~]# openssl rand -hex 10 07081849f55281652 [root@linux-node1 ~]# vim /etc/keystone/keystone.conf [DEFAULT] admin_token = 07081849f55281652dac
提示:keystone默认没有用户,需要进行创建用户。这样我们在配置文件中加入admin_token,在没有用户的情况下可以使用admin_token进行访问。还可以设置不用用户名和密码。简单来说admin_token就是初始化时候超级管理员的用户。
- 在[database]部分,配置数据库访问:
[database] connection = mysql+pymysql://keystone:keystone@192.168.137.11/keystone
提示:用户名:密码@数据库地址/库名称
- 在[token]部分,配置Fernet UUID令牌的提供者
提供令牌有四种方式[fernet|pkiz|pki|uuid]默认是uuid。
OpenStack 认证服务 KeyStone(三)