认证服务(keystone)
Keystone职能:
Keystone (OpenStack ldentityService)是OpenStack中的一个独立的提供安全认证的模块,主要负责openstack用户的身份认证、令牌管理、提供访问资源的服务目录(指引路径)、以及基于用户角色的访问控制。
Keystone提供路径指引服务前提:
Keystone类似一个服务总线,或者说是整个Openstack框架的注册表,其他服务通过keystone来注册其服务的Endpoint(服务访问的URL),任何服务之间相互的调用,需要经过Keystone的身份验证,来获得目标服务的Endpoint来找到目标服务。
主要功能:
身份认证(Authentication) :令牌的发放和校验;用户授权(Authorization):授予用户在一个服务中所拥有权限;用户管理(Account) :管理用户账户;服务目录(Service Catalog):提供可用服务的API端点。
安装、配置keystone(controller)
实验环境:compute:已安装:chronyd、openstack;ip:192.168.90.100
controller:已安装:chronyd、openstack、mariadb、rabbitmq、memcached、etcd;ip:192.168.90.110;mysql密码:000000
一、创建keystone数据库并授权
连接数据库:mysql -uroot -p000000
新建数据库keystone:CREATE DATABASE keystone;
为keystone数据库用户分配权限,并设置用户keystone的密码为000000:下面两条语句把‘keystone’数据库所有表(keystone.*)的所有权限(ALL PRIVILEGES)授予本地主机(‘localhost’)及任意远程主机(‘%’)上的登录名为‘keystone’的用户,验证密码为‘000000’
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'kspass';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'kspass';
退出:quit;

二、安装和配置
安装软件包: yum -y install openstack-keystone httpd mod_wsgi
编辑配置文件:/etc/keystone/keystone.conf
第1步:修改‘【database】’部分实现与数据库连接 【小技巧:esc 按\ 输入要找内容 按N向下翻找查看】
connection = mysql+pymysql://keystone:000000@controller/keystone
第2步:修改‘【token】’部分配置令牌的加密方式。取消注释。使provider = fernet 生效
初始化keystone数据库:su -s /bin/sh -c "keystone-manage db_sync" keystone
查看数据库,确保初始化成功:

初始化令牌库:
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
引导身份认证服务,其中设置了管理员密码为000000
keystone-manage bootstrap --bootstrap-password 000000 --bootstrap-admin-url http://controller:5000/v3 --bootstrap-internal-url
http://controller:5000/v3 --bootstrap-public-url http://controller:5000/v3 --bootstrap-region-id RegionOne
三、配置http服务
编辑/etc/httpd/conf/httpd.conf,配置服务名称:ServerName controller
创建配置文件/usr/share/keystone/wsgi-keystone.conf的符号链接:ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
重启Apache服务:systemctl enable/restart/status httpd
四、完成安装、模拟登陆验证
创建初始化环境变量文件:vi admin-login
export OS_USERNAME=admin
export OS_PASSWORD=000000
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
导入环境变量进行验证:source admin-login
export -p
五、创建域、项目、用户和角色(身份的验证是通过域、项目、用户和角色的组合来进行的。)
1、创建一个名称为example的新域:openstack domain create --description "An Example Domain" example

2、新建一个名为service的新项目,属于example域:openstack project create --domain example --description "Service Project" service

3、 新建一个用户myuser,属于example域,密码设置为000000:openstack user create --domain example --password-prompt myuser

4、新建角色myrole:openstack role create lpm

查看现有域列表: openstack domain list
现有用户列表:openstack user list
现有项目列表:openstack project list
查看角色列表:openstack role list
六、验证
查看是否可以不指定密码就可以获取到token信息(验证认证服务)
openstack token issue

认证服务(keystone)的更多相关文章
- 【openstack N版】——认证服务keystone
一. 基础环境 1.1环境介绍 linux-node1(控制节点) #系统版本 [root@linux-node1 ~]# cat /etc/redhat-release CentOS Linux r ...
- OpenStack实践系列②认证服务Keystone
OpenStack实践系列②认证服务Keystone 三.实战OpenStack之控制节点3.1 CentOS7的时间同步服务器chrony 下载chrony # yum install -y chr ...
- Centos7 Openstack - (第二节)添加认证服务(Keystone)
Centos7 install Openstack - (第二节)添加认证服务(Keystone) 我的blog地址:http://www.cnblogs.com/caoguo 根据openstack ...
- Openstack_O版(otaka)部署_认证服务keystone部署
安装和配置服务 1. 建keystone库建用户 在控制节点执行 mysql -uroot -p123456 CREATE DATABASE keystone; GRANT ALL PRIVILEGE ...
- OpenStack入门篇(七)之认证服务Keystone
一.Keystone的概述 Keystone是Openstack的组件之一,用于为Openstack家族中的其它组件成员提供统一的认证服务,包括身份验证,令牌的发放和校验,服务列表,用户权限的定义等. ...
- [ Openstack ] OpenStack-Mitaka 高可用之 认证服务(keystone)
目录 Openstack-Mitaka 高可用之 概述 Openstack-Mitaka 高可用之 环境初始化 Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...
- 云计算管理平台之OpenStack认证服务Keystone
一.keystone简介 keystone是openstack中的核心服务,它主要作用是实现用户认证和授权以及服务目录:所谓服务目录指所有可用服务的信息库,包含所有可用服务及其API endport路 ...
- OpenStack 认证服务 KeyStone 服务注册(五)
创建服务实体和API端点 创建服务 openstack service create --name keystone --description "OpenStack Identity&qu ...
- OpenStack 认证服务 KeyStone连接和用户管理(四)
连接keystone两种方式: 一种使用命令 一种使用环境变量 1.通过环境变量方式连接keystone(适合在初始化场景使用) 配置认证令牌环境变量 export OS_TOKEN=07081849 ...
- OpenStack 认证服务 KeyStone部署(三)
Keystone 介绍 Keystone作用: 用户与认证:用户权限与用户行为跟踪: 服务目录:提供一个服务目录,包括所有服务项和相关Api的断点 SOA相关知识 Keystone主要两大功能用户认证 ...
随机推荐
- Elasticsearch:ICU分词器介绍
ICU Analysis插件是一组将Lucene ICU模块集成到Elasticsearch中的库. 本质上,ICU的目的是增加对Unicode和全球化的支持,以提供对亚洲语言更好的文本分割分析. 从 ...
- 常见Content-Type(MIME)列表
Content-Type(MIME)用于标识发送或接收数据的类型,浏览器根据该参数来决定数据的打开方式.多用于指定一些客户端自定义的文件,以及一些媒体文件的打开方式. 文件扩展名 Content-Ty ...
- 1_MySQL
一. 什么是数据库 概念: 数据库是按照数据结构来组织, 存储和管理数据的仓库, 是一个长期存储在计算机内的, 有组织的, 有共享的, 统一管理的数据集合 分类: 网状结构数据库: 美国通用汽车公司I ...
- 2_jQuery
一. jQuery介绍 1.1 什么是jQuery jQuery, 顾名思义, 也就是JavaScript和查询(Query), 它就是辅助JavaScript开发的js类库 1.2 jQuery核心 ...
- 基于Qt Designer和PyQt5的桌面软件开发--环境搭建和入门例子
本文介绍了如何使用技术栈PyCharm+Qt Designer+PyQt5来开发桌面软件,从环境搭建.例子演示到对容易混淆概念的解释.文中用到的全部软件+代码下载链接为:https://url39 ...
- c#-03关于类和继承的基本知识
一.类继承 通过类继承可以定义一个新类,新类纳入一个已经声明的类进行扩展 已经存在的类叫做基类,而通过继承出的类叫做派生类,派生类的组成为: 本身声明中的成员 基类的成员 派生类无法删除基类成员,但可 ...
- Linux+Proton without Steam玩火影忍者究极风暴4指南
首先你需要Proton7.0 without Steam,使用说明和下载链接看这里https://www.cnblogs.com/tubentubentu/p/16716612.html 启动游戏的命 ...
- 【.NET 6+Loki+Grafana】实现轻量级日志可视化服务功能
前言:日志功能是几乎所有程序或系统都必备的一个功能.该文章通过使用Loki+Grafana来实现日志记录与可视化查询,欢迎围观. 有关环境: 操作系统:WIN 10 .NET环境:.NET 6 开发环 ...
- 记一次 .NET 某工控视觉软件 非托管泄漏分析
一:背景 1.讲故事 最近分享了好几篇关于 非托管内存泄漏 的文章,有时候就是这么神奇,来求助的都是这类型的dump,一饮一啄,莫非前定.让我被迫加深对 NT堆, 页堆 的理解,这一篇就给大家再带来一 ...
- Failed to convert from type [java.lang.String] to type [java.util.Date] for value '2020-02-06'; nested exception is java.lang.IllegalArgumentException]解决
今天做springbook项目前端输入日期传到数据库保存报了一下错误 Whitelabel Error Page This application has no explicit mapping fo ...