第3章 全局服务类部署(上)

3.1 认证服务

3.1.1 服务简介

做为云操作系统的Keystone认证服务,主要提供两个功能:

①用户身份认证:为系统提供是否为合法用户的判断功能。对user的管理和保存,管理user的tenant、role、group、domain等,保存user的存放、验证、令牌管理等。

②服务目录列表:显示系统提供的服务列表。其他服务通过keystone来注册其服务的Endpoint(服务访问的URL),任何服务之间的相互调用,需要经过keystone的身份验证来获得目标服务的Endpoint来找到目标服务。

认证服务中出现的名词介绍及运行方式:

User用户:一个使用OpenStack云服务的人、系统或者服务的数字表示。用户需要登录,然后被分配token去访问资源。用户可以被分配到一个tenant。

Credential用户证据:用来证明用户身份的证据,可以是用户名和密码、用户名和API key,或者一个Keystone分配的身份token。

Authentication身份验证:验证用户身份的过程。Keystone服务通过检查用户的Credential来确定用户的身份。最开始,使用用户名/密码或者用户名/API key作为credential。当用户的credential被验证后,Keystone会给用户分配一个authentication token供该用户后续的请求使用。

Token令牌:一个用于访问OpenStack API和资源的alpha数字字符串。一个token可能在任何时间被撤销(revoke),因此其有效期是有限的。OpenStack中,token是和特定的tenant绑定的,因此如果user如果访问多个tenant的话他就需要多个token。

Tenant租户:一个用于分组或者隔离资源的容器。一个tenant可能对应一个客户、账号、组织或者项目。在OpenStack中,用户至少必须在一个tenant中。tenant容器的可使用资源的限制成为Tenant Quota,它包括tenant内各子资源的quota。

Service服务:一个OpenStack服务,比如Nova、Swift或者Glance等。每个服务提供一个或者多个endpoint供用户访问资源以及进行操作。

Endpoint端点:一个网络可访问的服务地址,通过它你可以访问一个服务,通常是个URL地址。不同region有不同的service endpoint。endpoint告诉也可告诉OpenStack service去哪里访问特定的service。比如,当Nova需要访问 Glance服务去获取image时,Nova通过访问Keystone拿到Glance的endpoint,然后通过访问该endpoint去获取Glance服务。我们可以通过Endpoint的region属性去定义多个region。Endpoint该使用对象分为三类:①admin url给admin用户使用。②internal url给OpenStack内部服务使用来跟别的服务通信。③public url其它用户可以访问的地址。

3.1.2 服务配置信息

创建keystone数据库

进入数据库,运行如下命令。

[root@ljl-controller ~]# mysql -uroot -p000000MariaDB [(none)]> CREATE DATABASE keystone;Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \->   IDENTIFIED BY '000000';Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \->   IDENTIFIED BY '000000';Query OK, 0 rows affected (0.00 sec)

认证服务安装和配置

从yum中安装认证服务包。

[root@ljl-controller ~]# yum install openstack-keystone httpd mod_wsgi

随机数生成10位数。

[root@ljl-controller ~]# openssl rand -hex 104104bb0055496edc5650

配置认证令牌、端点URL、认证API版本。

[root@ljl-controller ~]# export OS_TOKEN=4104bb0055496edc5650[root@ljl-controller ~]# export OS_URL=http://ljl-controller:35357/v3[root@ljl-controller ~]# export OS_IDENTITY_API_VERSION=3

配置keystone.conf文件。

[root@ljl-controller ~]# vi /etc/keystone/keystone.conf[DEFAULT]admin_token = 4104bb0055496edc5650…[database]connection = mysql+pymysql://keystone:000000@ljl-controller/keystone…[token]provider = fernet

初始化身份认证服务的数据库,初始化Fernet keys。

[root@ljl-controller ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone[root@ljl-controller ~]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

进入数据库查看同步是否成功。

[root@ljl-controller ~]# mysql -uroot -p000000MariaDB [(none)]> use keystone;MariaDB [keystone]> show tables;

图3-1 keystone数据库部分信息

配置Apache HTTP服务器

配置httpd.conf文件,添加如下。

[root@ljl-controller ~]# vi /etc/httpd/conf/httpd.confServerName ljl-controller

因为mitaka镜像中本身带有wsgi-keystone.conf文件,所以只需要移动到/etc/httpd/conf.d/目录下,重启HTTP服务即可。

[root@ljl-controller ~]# cp /LJL/mitaka/wsgi-keystone.conf /etc/httpd/conf.d/[root@ljl-controller ~]# systemctl enable httpd.serviceCreated symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.[root@ljl-controller ~]# systemctl restart httpd.service

创建服务实体和API端点变种

创建服务实体和身份认证服务,每个添加到OpenStack环境中的服务要求一个或多个服务实体和三个认证服务中的API端点变种。

[root@ljl-controller ~]# openstack service create --name krystone --description "OpenStck Identity" identity

创建认证服务的三个API端点变种。

[root@ljl-controller ~]# openstack endpoint create --region RegionOne identity public http://ljl-controller:5000/v3
[root@ljl-controller ~]# openstack endpoint create --region RegionOne identity internal http://ljl-controller:5000/v3
[root@ljl-controller ~]# openstack endpoint create --region RegionOne identity admin http://ljl-controller:35357/v3

创建认证服务依赖组合

通过如下命令,创建域。

[root@ljl-controller ~]# openstack domain create --description "liujianlin Domain" default

为了进行管理的操作,创建admin的项目、用户和角色,命令如下。

[root@ljl-controller ~]# openstack project create --domain default --description "Admin Project" admin[root@ljl-controller ~]# openstack user create --domain default --password-prompt admin[root@ljl-controller ~]# openstack role create admin

添加admin角色到admin用户上。

[root@ljl-controller ~]# openstack role add --project admin --user admin admin

创建service项目,使环境中所有服务都含有用户自己的服务项目。

[root@ljl-controller ~]# openstack project create --domain default --description "Service Project" service

常规(非管理)任务应该使用无特权的项目和用户。创建一个演示demo项目和用户。

[root@ljl-controller ~]# openstack project create --domain default --description "Demo Project" demo[root@ljl-controller ~]# openstack user create --domain default --password-prompt demo

创建user角色。

[root@ljl-controller ~]# openstack role create user

添加user角色到demo用户上。

[root@ljl-controller ~]# openstack role add --project demo --user demo user

3.1.3 验证功能状态

用户请求认证令牌

重置环境变量。

[root@ljl-controller ~]# unset OS_TOKEN OS_URL

作为admin用户,请求认证令牌。

[root@ljl-controller ~]# openstack --os-auth-url http://ljl-controller:35357/v3 \>   --os-project-domain-name default --os-user-domain-name default \>   --os-project-name admin --os-username admin token issue

作为demo用户,请求认证令牌,这个命令使用demo用户的密码和API端口5000,这样只会允许对身份认证服务API的常规(非管理)访问。

[root@ljl-controller ~]# openstack --os-auth-url http://ljl-controller:5000/v3 \>   --os-project-domain-name default --os-user-domain-name default \>   --os-project-name demo --os-username demo token issue

创建优化环境变量脚本

前一节中使用环境变量和命令选项的组合通过open stack客户端与身份认证服务交互。为了提升客户端操作的效率,OpenStack支持简单的客户端环境变量脚本即openrc文件。

创建open stack客户端环境变量脚本,创建文件admin-openrc、demo-openrc。

[root@ljl-controller ~]# vi /root/admin-openrcexport OS_PROJECT_DOMAIN_NAME=defaultexport OS_USER_DOMAIN_NAME=defaultexport OS_PROJECT_NAME=adminexport OS_USERNAME=adminexport OS_PASSWORD=000000export OS_AUTH_URL=http://ljl-controller:35357/v3export OS_IDENTITY_API_VERSION=3export OS_IMAGE_API_VERSION=2[root@ljl-controller ~]# vi /root/demo-openrcexport OS_PROJECT_DOMAIN_NAME=defaultexport OS_USER_DOMAIN_NAME=defaultexport OS_PROJECT_NAME=demoexport OS_USERNAME=demoexport OS_PASSWORD=000000export OS_AUTH_URL=http://ljl-controller:5000/v3export OS_IDENTITY_API_VERSION=3export OS_IMAGE_API_VERSION=2

生效脚本并认证令牌

生效脚本文件,请求认证令牌。

[root@ljl-controller ~]# . admin-openrc[root@ljl-controller ~]# openstack token issue

本文由阿里云-掩日编辑,有阿里云服务器、数据库、直播等需求可私信我,官网折上折,阿里更优惠!

————阿里云优惠返现————
      1:官网优惠+返现优惠双享优惠
      2:新老账号都可以,招代理
     咨询:18580699993  (vx同号)

以下为操作流程每步的返回结果图。


本文由阿里云-掩日编辑,有阿里云服务器、数据库、直播等需求可私信我,官网折上折,阿里更优惠!

————阿里云优惠返现————
1:官网优惠+返现优惠双享优惠
2:新老账号都可以,招代理
咨询:18580699993  (vx同号)

Keystone认证服务详细操作流程相关推荐

  1. mysql font连接数据库_MySQL-Front连接数据库的详细操作流程

    今天我们来学习一下MySQL-Front连接数据库的详细操作流程,有不清楚的用户,一起来学习一下吧. MySQL-Front连接数据库的详细操作流程 打开MySQL-Front: 如果你是第一次使用, ...

  2. keystone的详细功能

    keystone的详细功能 keystone的基本概念 User(用户):用户身份认证,一个用户可以关联多个租户, Tenant(租户):相当于用户组的概念,一个Tenant可以容纳多个用户 Role ...

  3. 康耐视3D-DSMax图像采集详细操作流程

    [康耐视DSMax 3D激光位移传感器]康耐视推出的DSMax可用于对被测物体采集3D图像并分析.检测,而且它还是目前市场上扫描速度最快.分辨率最高的3D激光位移传感器.同时,它是市场上唯一能够在全画 ...

  4. Word 2010创建图表的详细操作流程

    Word 2010中内置多种图表模板供用户选择使用,不仅如此,用户还可以根据自身需求创建自定义的图表模板,从而提高工作效率. Word 2010创建图表的详细操作流程如下: 第1步,打开Word201 ...

  5. 主生产计划 操作教程 用友u8_用友财务软件不会操作?超详细操作流程及技巧,收藏...

    我常常在想,身为普通会计的我到底做错了什么? 如果什么都没有做错,那为什么要日复一日地被用友折磨? 试错再试错,太辛苦了!总算对了,感谢我们办公室的李姐,她是我们办公室的大神,经常在工作之余,总结一些 ...

  6. Access denied for use ‘xxxxx‘@‘localhost‘ (suing password : YES)解决方案详细操作流程

    关于Ubuntu出现Access denied for use 'xxxx'@'localhost' (suing password : YES)类的错误解决方案详细操作流程 1. Ubuntu18下 ...

  7. 护考人机对话用计算机吗,@护考生|【最全】人机对话考试详细操作流程来咯!赶紧收藏起来~...

    原标题:@护考生|[最全]人机对话考试详细操作流程来咯!赶紧收藏起来~ 导语:关于2020年的护士资格考试,最近很多小伙伴关心的一个问题就是: 2020年护士资格考试能自己带草稿纸吗?没有稿纸怎么办? ...

  8. Linux安装keystone认证服务,云计算系列:CentOS7.6系统部署安装OpenStack(三)-keystone服务–技术流ken...

    浏览次数: 36,559 keystone做什么 管理用户及其权限 维护 OpenStack Services 的 Endpoint Authentication(认证)和 Authorization ...

  9. (原创)OpenStack服务如何使用Keystone(三)---详细配置Keystone中间件

    (一)Keystone端的操作 (二)如何在OpenStack服务上部署Keystone中间件 (三)详细配置keystonemiddleware 前文我们介绍了如何部署Keystone中间件以及中间 ...

  10. Openstack(二):keystone认证服务

    首先说明安装Opnstack服务安装的一些基本套路: 1.数据库创建 2.安装对应服务的软件包并修改配置文件 3.创建相应的服务并注册api 一.数据库 官方文档https://docs.openst ...

最新文章

  1. asp.net ajax聊天室,ASP.NET MVC4异步聊天室的示例代码
  2. Linux内核补丁升级
  3. 一份平民化的应用性能优化检查列表(完整篇)--转
  4. jconsole工具检测堆内存变化
  5. 指令汇B新闻客户端开发(四) 自动轮播条
  6. datagrid不显示 easy_[Easy UI ]DataGrid 首次进入页面时,不加载任何数据
  7. Netlogo入门(二)
  8. Objective-c包装类
  9. 检测文章相似度的方法?文章原创度检测工具免费
  10. exsi添加gpu卡 v100s和a100 配置直通模式虚机电源启动失败
  11. iOS10 本地通知
  12. 实测 | 分羹无线市场 天融信无线AP究竟有多强?
  13. mongoDB 注册成开启自启动项
  14. 恐怕你确定自己喜欢做什么
  15. hgoi#20190821
  16. Node.js学习6~nodejs报Error: Cannot find module ‘express‘
  17. GIT克隆项目出现:The authenticity of host ‘gitee.com (xxx.xxx.xxx.xxx)‘ can‘t be established.
  18. 高斯日记、猜年龄、世纪末的星期、排他平方数、马虎的算式、振兴中华、组素数、第39级台阶
  19. 【批处理DOS-CMD命令-汇总和小结】-显示文本文件内容(type),对文本文件的整行字符串进行排序(sort)
  20. 亚马逊echo中国使用_您是否需要Amazon Prime才能使用Amazon Echo?

热门文章

  1. 洛谷 P3356 火星探险问题
  2. MediaRecorder之视频录制
  3. idea 中 maven Process terminated
  4. 谱尼软件测试谱尼为网络安全护航
  5. 基于TQ2440的SPI驱动学习(OLED)
  6. 性能调优需要考虑的三大方面
  7. 塞班系统更新服务器,塞班系统又更新了,又更新了,仿佛回到十年前!
  8. 联想thinkpad bios密码破解,t440,450,460,x240,250,260,x1c,yoga,y70,y50。。。。软件解密
  9. 【OpenCV笔记】光流法之金字塔Lucas-Kanade
  10. linux博通网卡驱动怎么安装,ubuntu14.04手动安装博通官方无线网卡驱动时报错,...