Keystone 介绍

Keystone作用:

  1. 用户与认证:用户权限与用户行为跟踪;
  2. 服务目录:提供一个服务目录,包括所有服务项和相关Api的断点
  3. 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。

[token]
provider = fernet
driver = memcache

默认是存储在sql中,我们需要将它修改为memcache

  • [memcache]部分,配置memcache的连接地址和端口
[memcache]
servers = 192.168.137.11:11211

初始化数据库

su -s /bin/sh -c "keystone-manage db_sync" keystone

自动找到keystone配置文件里的mysql连接,来帮我们创建数据库中的表。

  • 我们为什么要使用keystone用户去同步数据库呢?

因为同步数据库会在/var/log/keystone目录下去写日志,如果使用root权限同步,当keystone用户启动服务时读取这个日志文件,那么它将无法进行读取(权限问题),会出现启动错误的情况。

检查表是否创建成功

mysql -h 192.168.137.11 -ukeystone -pkeystone -e "use keystone;show tables;"

提示:如果查看表的时候发现没有,通过日志/var/log/keystone/keystone.log排查报错信息。

初始化Fernet keys

创建相关的证书

keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

执行完命令之后会在/etc/keystone下生成fernet-keys目录,它的权限是keystone里面存放这一些相关证书。

提示:我们要注意/etc/keystone目录下文件的权限。

memcached启动和设置

systemctl enable memcached.service
systemctl start memcached.service

查看配置文件/etc/sysconfig/memcached

  • PORT="11211"  # 端口号
  • USER="memcached"  # 用户
  • MAXCONN="1024"    # 最大连接数
  • CACHESIZE="64"  # 大小64MB

netstat -ntlp检查服务端口是否存在

apache配置

  • 配置/etc/httpd/conf/httpd.conf文件,配置ServerName 选项为控制节点
[root@linux-node1 ~]# vim /etc/httpd/conf/httpd.conf
ServerName 192.168.137.11:80

  • 创建配置文件/etc/httod/conf.d/wsgi-keystone.conf
[root@linux-node1 ~] vim /etc/httpd/conf.d/wsgi-keystone.conf
Listen 5000
Listen 35357<VirtualHost *:5000>WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}WSGIProcessGroup keystone-publicWSGIScriptAlias / /usr/bin/keystone-wsgi-publicWSGIApplicationGroup %{GLOBAL}WSGIPassAuthorization OnErrorLogFormat "%{cu}t %M"ErrorLog /var/log/httpd/keystone-error.logCustomLog /var/log/httpd/keystone-access.log combined<Directory /usr/bin>Require all granted</Directory>
</VirtualHost><VirtualHost *:35357>WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}WSGIProcessGroup keystone-adminWSGIScriptAlias / /usr/bin/keystone-wsgi-adminWSGIApplicationGroup %{GLOBAL}WSGIPassAuthorization OnErrorLogFormat "%{cu}t %M"ErrorLog /var/log/httpd/keystone-error.logCustomLog /var/log/httpd/keystone-access.log combined<Directory /usr/bin>Require all granted</Directory>
</VirtualHost>

  • apache启动并设置开机自启动
systemctl enable httpd.service
systemctl start httpd.service

  • netstat -ntlp检查服务端口是否存在

查看日志 /var/log/keystone/keystone.log 是否有报错信息

  • 排错,开启debug模式
vim /etc/keystone/keystone.conf
[DEFAULT]
debug = true

OpenStack 认证服务 KeyStone部署(三)相关推荐

  1. 【N版】openstack——认证服务keystone(三)

    [N版]openstack--认证服务keystone 一.keystone介绍 1.1keystone Keystone(OpenStack Identity Service)是 OpenStack ...

  2. OpenStack 认证服务 KeyStone部署 (四)

    Keystone作用: 用户与认证:用户权限与用户行为跟踪: 服务目录:提供一个服务目录,包括所有服务项和相关Api的断点 SOA相关知识 Keystone主要两大功能用户认证和服务目录(相当于一个注 ...

  3. Openstack安装与部署三:本地源配置

    Openstack安装与部署三:本地源配置 重启系统后,那么首先重新挂载光盘镜像 #mkdir -p /data/centos #mount /dev/cdrom /media/cdrom #cd / ...

  4. OpenStack实践系列②认证服务Keystone

    OpenStack实践系列②认证服务Keystone 三.实战OpenStack之控制节点 3.1 CentOS7的时间同步服务器chrony 下载chrony # yum install -y ch ...

  5. OpenStack手动分布式部署Keystone【Queens版】

    目录 Keystone简介 1.登录数据库配置(在controller执行) 1.1登录数据库 1.2数据库里创建keystone 1.3授权对keystone数据库的正确访问 1.4退出数据库 2. ...

  6. 搭建Openstack环境以及Openstack认证服务

    搭建Openstack环境以及Openstack认证服务 Openstack之glance镜像服务.nova计算服务 Openstack之neutron网络服务. 启动一个实例 Openstack之d ...

  7. OpenStack之Keystone模块

    一.Keystone介绍 OpenStack Identity(Keystone)服务为运行OpenStack Compute上的OpenStack云提供了认证和管理用户.帐号和角色信息服务,并为Op ...

  8. OpenStack——nove组件部署

    OpenStack--nove组件部署 一.部署Placement 1.创建数据库实例和用户 2.创建placement服务用户和API的endpoint 3.安装placement服务 4.导入数据 ...

  9. 手动部署OpenStack之环境部署

    手动部署OpenStack之环境部署 一.虚拟机信息 二.基础环境配置 三.系统环境配置 一.虚拟机信息 1.控制节点ct CPU:双核双线程-CPU虚拟化开启 内存:8G 硬盘:300G+300G( ...

  10. OpenStack平台-keystone与glance服务运维

    目录 一.Keystone服务运维 1.1 什么是keystone?keystone的作用是什么? 1.2 Keystone的部分管理对象 1.3 Keystone的认证过程 1.4 Keystone ...

最新文章

  1. ArcGIS License Manager 更新
  2. Python实战1- 图片转字符画
  3. 窄带物联网有望结束技术应用“碎片化”
  4. 一个亿的融资在一家芯片初创公司可以烧多久?
  5. java socket 报文解析_java socket解析和发送二进制报文工具(附java和C++转化问题)
  6. 为什么Spark能成为最火的大数据计算引擎?它是怎样工作的?
  7. 3说明书_怎么才能做好产品说明书翻译?知行翻译公司总结了3点
  8. 创建分布式爬虫的步骤
  9. 轻松解决电脑死机故障攻略_软件
  10. 机械振动学|单自由度系统
  11. 计算机基础1.4习题答案,中职计算机应用基础习题集及答案~.doc
  12. H3C设备通过oid获取光衰
  13. Win/ubuntu16.04+tensorflow_gpu+Anaconda
  14. 什么是云监控,云监控工具
  15. 五月总结 时光待我不薄
  16. excel基础(一)
  17. 防火墙技术及其在校园网中的设计方案
  18. 怎么设置邮箱收发服务器
  19. 语音增强算法的概述[转]
  20. SMC 常规型压力传感器/开关(真空/正压)使用说明书 Z/ISE30A

热门文章

  1. 数据库之间的远程操作
  2. 北航计算机组成重修,北航计算机组成原理123希望大伙把作业上传.pdf
  3. FRR -- CLI简要分析
  4. S3C2440时钟电源管理
  5. Linux系统下init进程的前世今生
  6. android camera 拍照流程图
  7. I - 数塔(动态规划)数塔问题
  8. C - 一个人的旅行(最短路径)
  9. 水印相机定位不准确怎么办_选好镜头 选好3D四轮定位仪
  10. 阿牛的EOF牛肉串(递推dp)