openstack-ocata-身份验证2
Identity service
一、身份服务概述
OpenStack身份管理服务提供一个单点集成身份验证、授权和目录服务。 身份服务通常是第一个服务用户与之交互。一旦身份验证,最终用户可以使用自己的身份访问其他OpenStack服务。同样,其他OpenStack服务利用身份服务确保用户是他们说他们是谁,发现在其他服务中部署。服务还可以与一些外部集成用户身份管理系统(如LDAP)。
用户和服务可以找到其他服务通过使用服务目录,这是由身份管理服务。顾名思义,一个服务目录是可用的服务的集合在一个OpenStack部署。每个服务可以有一个或多个端点,每个端点可以三种类型之一:管理,内部或公共场合。在生产环境中,不同的端点类型可能驻留在单独的网络接触到不同类型的用户,是为了安全起见。例如,公共API网络可能是可见的互联网用户可以管理自己的云。管理API可能局限于组织内的运营商网络管理云基础设施。内部网络API可能会限制包含OpenStack的主机服务。此外,OpenStack支持可伸缩性的多个区域。为简单起见,本指南使用的管理网络端点类型和默认RegionOne地区。在一起,区域、服务和端点标识服务包括服务目录中创建一个部署。每个OpenStack服务在您的部署需要服务条目存储在相应的端点标识服务。这一切都已完成后身份服务已经安装和配置。
身份服务包含这些组件:
服务器
一个集中的服务器使用RESTful接口提供身份验证和授权服务。
驱动程序
驱动程序或服务后端集成到集中式服务器。他们是用于访问存储库中的身份信息外部OpenStack,并且可能已经存在在OpenStack部署的基础设施(例如,SQL数据库或LDAP服务器)。
模块
中间件模块OpenStack的地址空间中运行的组件是使用单位服务。这些模块拦截服务请求,提取用户凭证,并将它们发送到中央服务器进行授权。之间的集成中间件模块和OpenStack组件使用Python Web服务器网关接口。
二、安装配置身份验证
本节介绍如何安装和配置OpenStack身份服务,代号为keystone,安装在控制器节点上。可伸缩性的目的,这种配置部署Fernet令牌和Apache HTTP服务器处理请求。
1.先决条件:在安装和配置身份服务之前,您必须创建一个数据库。
Mysql –u root –p
Create database keystone 创建keystone数据库
授予keystone用户接入数据库keystone相应权限:设置用户keystone密码为keystone
Grant all privileges on keystone.* to ‘keystone’@’’localhost’ identified by ‘keystone’;
Grant all privileges on keystone.* to ‘keystone’@’’%’ identified by ‘keystone’;
Flush privileges;
Exit
2.安装和配置组件:
本指南使用Apache HTTP服务器与mod_wsgi服务标识服务请求端口5000和35357。默认情况下,keystone服务仍然监听这些端口。因此,本指南手动禁用keystone服务。
① 安装keystone数据包
Yum install openstack-keystone httpd mod_wsgi
② 配置/etc/keystone/keystone.conf
③ 填充身份服务数据库:
su -s /bin/sh -c "keystone-manage db_sync" keystone
④ 初始化Fernet密钥存储库:
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
⑤引导identity service
#--bootstrap-password这里的密码是第4步,第二步骤定义的配置管理账户的密码
keystone-manage bootstrap --bootstrap-password admin --bootstrap-admin-url http://controller:35357/v3/ --bootstrap-internal-url http://controller:5000/v3/ --bootstrap-public-url http://controller:5000/v3/ --bootstrap-region-id RegionOne
3.配置apache
1.配置/etc/httpd/conf/httpd.conf 编辑ServerName
2.创建/usr/share/keystone/wsgi-keystone.conf软连接
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
4.完成安装
1.开启httpd和设置开机启动
systemctl enable httpd.service
systemctl start httpd.service
2.配置管理账户
[root@controller ~]# export OS_USERNAME=admin
[root@controller ~]# export OS_PASSWORD=admin
[root@controller ~]# export OS_PROJECT_NAME=admin
[root@controller ~]# export OS_USER_DOMAIN_NAME=Default
[root@controller ~]# export OS_PROJECT_DOMAIN_NAME=Default
[root@controller ~]# export OS_AUTH_URL=http://controller:35357/v3
[root@controller ~]# export OS_IDENTITY_API_VERSION=3
三、创建一个域、项目、用户和角色
服务提供身份认证服务为每个OpenStack服务。身份验证服务使用的领域,项目,用户和角色。
- 创建service project:
openstack project create --domain default --description "Service Project" service
2.创建demo project 和user:
①创建demo项目
openstack project create --domain default --description "Demo Project" demo
②创建demo用户:
openstack user create --domain default --password-prompt demo
③创建user 角色:
openstack role create user
④将user添加到demo项目和user:
openstack role add --project demo --user demo user
四、校验操作
验证操作的身份服务在安装之前做其他服务(在控制节点上操作)
- 出于安全原因,禁用临时身份验证令牌机制:
编辑/etc/keystone/keystone-paste.ini;
删除[pipeline:public_api] [pipeline:admin_api] [pipeline:api_v3] 下边的admin_token_auth
2.删除OS_AUTH_URL OS-PASSWORD 临时环境变量
unset OS_AUTH_URL OS_PASSWORD
3.作为管理用户,请求身份验证令牌:
这里用的是用户admin和密码admin;上边设置的管理员
openstack --os-auth-url http://controller:35357/v3 --os-project-domain-name default --os-user-domain-name default --os-project-name admin --os-username admin token issue
4.作为demo用户,请求身份验证令牌:
这里用的是用户demo和密码demo;上边设置的demo用户
openstack --os-auth-url http://controller:5000/v3 --os-project-domain-name default --os-user-domain-name default --os-project-name demo --os-username demo token issue
提示:
这个命令使用是demo用户的密码和API 5000端口只允许普通(非管理)访问身份服务API。
五、创建客户机环境openstack脚本
前一节中使用环境变量的组合和命令选项与身份服务通过openstack客户机交互。增加客户端操作效率,OpenStack支持简单的客户机环境脚本也称为OpenRC文件。这些脚本通常包含常见的选项对所有客户,但也支持独特的选择。有关更多信息,请参见OpenStack最终用户指南。
1.创建脚本:
创建admin和demo项目和users的客户机环境脚本。未来本指南的部分参考这些脚本加载客户端操作的适当的凭证。
a)创建和编辑admin-openrc文件并添加以下内容:(目录自己定义)
vi admin-openrc
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=admin #用户admin的密码
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
b)创建和编辑demo-openrc文件并添加以下内容: (目录自己定义)
vi demo-openrc
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=demo #用户demo的密码
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
2.使用脚本:
a) 加载admin-openrc文件填充环境变量与身份的位置服务和管理项目和用户凭证:
. admin-openrc
b) 请求身份验证令牌:
openstack token issue
身份验证服务完成!
openstack-ocata-身份验证2的更多相关文章
- 【PHP SDK for OpenStack/Rackspace APIs】身份验证
在你使用php-opencloud之前必须先取得云服务提供商的身份验证.这是整个过程中最简单也是最让人沮丧的部分. 说它最简单是因为你只需要两部分信息: 云服务提供商的身份验证端点 用来身份验证的证书 ...
- 云计算之openstack ocata 项目搭建详细方法
之前写过一篇<openstack mitaka 配置详解>然而最近使用发现阿里不再提供m版本的源,所以最近又开始学习ocata版本,并进行总结,写下如下文档 OpenStack ocata ...
- [译] OpenStack Ocata 版本中的 53 个新功能盘点
原文链接:https://www.mirantis.com/blog/53-new-things-to-look-for-in-openstack-ocata/ 原文作者:Nick Chase, Ra ...
- Centos7上部署openstack ocata配置详解
之前写过一篇<openstack mitaka 配置详解>然而最近使用发现阿里不再提供m版本的源,所以最近又开始学习ocata版本,并进行总结,写下如下文档 OpenStack ocata ...
- (转)Centos7上部署openstack ocata配置详解
原文:http://www.cnblogs.com/yaohong/p/7601470.html 随笔-124 文章-2 评论-82 Centos7上部署openstack ocata配置详解 ...
- Openstack Ocata 负载均衡安装(二)
Openstack OCATA 负载节点(二) 安装haproxy: apt install haproxy 配置haproxy: vim /etc/haproxy/haproxy.cfg globa ...
- Openstack (keystone 身份认证)
keystone简介 keystone 是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证.令牌的发放和校验.服务列表.用户权限的定义等等.云 ...
- IdentityServer4 使用OpenID Connect添加用户身份验证
使用IdentityServer4 实现OpenID Connect服务端,添加用户身份验证.客户端调用,实现授权. IdentityServer4 目前已更新至1.0 版,在之前的文章中有所介绍.I ...
- [转载]SQL Server 2008 R2安装时选择的是windows身份验证,未选择混合身份验证的解决办法
安装过程中,SQL Server 数据库引擎设置为 Windows 身份验证模式或 SQL Server 和 Windows 身份验证模式.本文介绍如何在安装后更改安全模式. 如果在安装过程中选择&q ...
- IIS启动失败,启动Windows Process Activation Service时,出现错误13:数据无效 ;HTTP 错误 401.2 - Unauthorized 由于身份验证头无效,您无权查看此页
因为修改过管理员账号的密码后重启服务器导致IIS无法启动,出现已下异常 1.解决:"启动Windows Process Activation Service时,出现错误13:数据无效&quo ...
随机推荐
- 04_Javascript初步第三天
事件 内联模型.脚本模型,DOM2级模型 <!--内联模型--> <input type="button" value="bt1" oncli ...
- nagios中监测dns 227.7.128.68的网络状态
[root@nhserver2 ~]# cd /usr/local/nagios/etc/objects [root@nhserver2 objects]# vim hosts_dns.cfgdefi ...
- WPF之ViewModel
写之前我先唠叨两句,现在公司要求用wpf写个客户端,我之前玩过winform,没怎么用wpf写过正经项目,我接手这个wpf项目之后就开始研究这个东西,MVVM,自定义控件,等等.可能是winfrom先 ...
- R语言-探索多个变量
目的: 通过探索文件pseudo_facebook.tsv数据来学会多个变量的分析流程 通过探索diamonds数据集来探索多个变量 通过酸奶数据集探索多变量数据 知识点: 散点图 dplyr汇总数据 ...
- java之拦截器Interceptor
1,拦截器的概念 java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止其执行,同时也提供了 ...
- javase学习小结二
三角函数方法 Math.sin(radians):Math.sin(Math.PI/6)=0.5 Math.cos(radians):Math.cos(Math.PI/3)=0.5 Math.tan( ...
- HDU [P1281]棋盘游戏
二分图求最大匹配 我们以每一个格子为边,以行和列为两个集合,那么求二分图的最大匹配数就是最多能放车的数目,那么什么是重要点呢?就是删掉后会影响最大匹配数的匹配边. 我们求出最大匹配数后,枚举匹配边,将 ...
- NOIP 2017 Day 0. 游记
刚从曲师大试机回来... 不巧,我抽到了和去年一样的考场,还是那么难用的XP,还是那么难用的键盘. 似乎在考场上有一股奇怪的力量,我本来在自己电脑上打板子打的没那么快,但是试机的那段时间..说出来你们 ...
- 小甲鱼OD学习第6讲
这次我们的任务是破解这个通讯录的软件,首先,我们在通讯录一个分组添加第5个人,发现弹出对话框,限制每组只能添加4个人 并且发现最多只能添加3个分组 我们把程序载入OD,运行,添加人,这个时候点击暂停, ...
- IDA学习笔记 函数调用约定
stdcall和cdecl: stdcall和cdecl 压栈方向都是从右到左 区别在于c约定是调用方在函数返回后add esp,n指令清除堆栈中的参数,而stdcall在被调函数内使用ret n来清 ...