一、Keystone的概述

Keystone是Openstack的组件之一,用于为Openstack家族中的其它组件成员提供统一的认证服务,包括身份验证,令牌的发放和校验,服务列表,用户权限的定义等。Openstack中任何组件均依赖与Keystone提供的服务。

二、Keystone的功能

  • 用户与认证:用户权限与用户行为追踪。

  • 服务目录:为每个组件服务提供一个可用的服务目录和相应的API入口端点。

三、Keystone基本概念

  • User

使用服务的用户,可以是人,服务或者系统,只要是使用了openstack服务的对象都可以称为用户。当User对OpenStack进行访问时,Keystone会对其身份进行验证。

  • Project

租户,可以理解为一个人、项目或者组织拥有的资源的合集。在一个租户中可以拥有很多个用户,这些用户可以根据权限的划分使用租户中的资源。

  • Token

指的是一串比特值或者字符串,用来作为访问资源的令牌。Token中含有可访问资源的范围和有效时间。

  • Role

角色,用于分配操作的权限。角色可以被指定给用户,使得该用户获得角色对应的操作权限。安全包含两部分:Authentication(认证)和 Authorization(鉴权)

  • Service

Openstack Service,即Openstack中运行的组件服务。nova,glance都是属于一个服务,需要在keystone上进行创建,指定类型。创建服务有一个服务,就创建一个endpoint,会根据服务类型去查找那个服务。Service 决定每个 Role 能做什么事情 ,Service 通过各自的 policy.json 文件对 Role 进行访问控制

  • Endpoint

一个可以通过网络来访问和定位某个Openstack Service的地址,通常是一个URL。例如,Nova需要访问Glance服务去获取Image时,Nova通过访问Keystone拿到Glance的Endpoint,然后通过访问该Endpoint去获取Glance服务,我们可以通过Endpoint的region属性去定义多个region。Endpoint该使用对象分为三类:

  1. Admin URL:给admin用户使用,被从常规的访问中分离。
  2. Internal URL:Openstack内部服务使用来跟别的服务通信,只能被局域网访问。
  3. Public URL:其它用户可以访问的地址,可以被全局访问。
  4. User 通过 Endpoint 访问资源和执行操作
  • Credentials

用于确认用户身份的凭证。

  • Authentication

确定用户身份的过程。

如果把宾馆比作为Openstack,那么宾馆的中央管理系统就是Keystone,入住宾馆的人就是User 。在宾馆中拥有很多不同的房间,房间提供了不同的服务(Service)。

在入住宾馆前,User需要给出身份证(Credential),中央管理系统(Keystone)在确认User的身份后(Authenticaiton),会给你一个房卡(Token)和导航地图(Endpoint)。

不同VIP(Role)级别的User,拥有不同权限的房卡(Token),如果你的VIP(Role)等级高,你可以享受到豪华的总统套房。

User拿着房卡(Token)和地图(Endpoint),就可以进入特定的房间去享受不同的Services。每一个服务(Services)中都拥有着一些特定资源(Project),例如,按摩服务中可以使用的精油种类和数量。User可以根据自己的权限来使用这些资源。

四、总结Keystone常见错误

401 #验证失败,keystone相关用户账户密码设置错误,时间不同步,或者输入的项目名称不对
403 #可能未初始化OS_token变量,需要使用source命令使其生效,也可能是配置的配置文件未生效,需要重启相关服务
409 #keystone创建用户,用户已存在
500 #服务器内部错误,服务配置有问题,看日志,检查配置
503 #keystone相关账户密码设置有问题,请将相关的glance账户删除,重新创建即可
服务故障 #相关服务没有起来

Keystone的配置/etc/keystone/keystone.conf总结:
①由于Keystone需要使用数据库,需要配置数据库的连接
②由于需要将token存储到memcache,减少对数据库的访问,需要配置memcached服务器地址和端口
③由于tonken的生成是基于某种算法,此处选用的是fernet方式,需要配置令牌提供者为fernet
④在选用memcache作为缓存token的方式,需要配置驱动方式(driver)

(三)云计算技术学习--OpenStack之KeyStone相关推荐

  1. (七)云计算技术学习--OpenStack之Cinder和Swift

    目录 一.存储知识 1.存储技术 2.存储方式 二.Cinder介绍 1.Cinder核心组件 2.Cinder设计思想 三.Swift介绍 1.Swift工作组件 2. Swift数据模型 3.Sw ...

  2. (五)云计算技术学习--OpenStack之Neutron

    一.Neutron概述 Neutron是 OpenStack项目中负责提供网络服务的组件,它基于软件定义网络的思想,实现了网络虚拟化下的资源管理.Neutron 的设计目标是实现网络即服务(Netwo ...

  3. (八)云计算技术学习--OpenStack之Heat

     一.Heat简介 Heat 是一套业务流程平台,旨在帮助用户更轻松地配置以 OpenStack 为基础的云体系.利用Heat应用程序,开发人员能够在程序中使用模板以实现资源的自动化部署.Heat能够 ...

  4. (一)云计算技术学习--基础概念

    目录 Linux的用户管理 Yum 命令 Python SELinux vsftpd etcd Session.Cookie.Token LNMP VMware Docker Kubernetes(K ...

  5. (一)云计算技术学习--虚拟化vSphere学习

    虚拟化的工作原理是直接在物理服务器的硬件或主机操作系统上面运行一个称为虚拟机管理程序(Hypervisor)的虚拟化系统.通过虚拟机管理程序,多个操作系统可以同时运行在单台物理服务器上,共享服务器的硬 ...

  6. 大学计算机云计算ppt,云计算技术在大学计算机应用大赛中的应用分析

    摘 要:随着科技不断的进步,计算机逐渐朝着智能化发展,功能得到不断的强化,为计算机爱好者们的研究提供了很多便利条件.如今计算机应用已经渗透到了各行各业,方便了人们的工作和生活.在大学校园中计算机应用大 ...

  7. 华为网络技术学习打卡8(云计算大数据,openstack,docker)

    云计算 产生背景(云计算的驱动力) 技术驱动( 需求驱动(海量的数据信息给现阶段设备带来巨大的压力,云计算技术可以降低成本 商业模式转变( 其他方面,海量的数据及信息.各种各样的终端设备也促使着现阶段 ...

  8. 云计算技术分享:linux云计算课程学习大纲

    云计算是分布式计算.并行计算.效用计算.网络存储.虚拟化.负载均衡.热备份冗余等传统计算机和网络技术发展融合的产物.千锋云计算课程融合产品运维与云计算运维量大热门方向,学员可胜任Linux高级运维工程 ...

  9. 云计算需要学习哪些内容 为什么要学容器技术

    云计算需要学习哪些内容?为什么要学容器技术?云计算是一门新兴热门技术,包含的内容很多,而容器技术是其中的重点.有人好奇为什么要学习容器,它具有哪些价值?下面就给大家讲解一下. 容器的价值可以从两个角度 ...

  10. 学习云计算技术前景在哪里?云计算技术发展趋势

    学习云计算技术前景在哪里?云计算技术发展趋势在哪里呢?随着云计算技术的日趋普及,学习云计算会是自己越来越有价值.Linux云计算是一种未来性的技术,是一种更加高效的互联网行为方式,能够使人们在更短的时 ...

最新文章

  1. Android中Intent传递对象的两种方法(Serializable,Parcelable)
  2. HaoheDI让ETL变得简单
  3. iphone4 短信截获
  4. 命名管道实现进程的信息传递【mkfifo函数、open函数】
  5. 10个你应该了解的Git命令(以及Git省时小窍门)
  6. source insight 深色主题配置文件
  7. LeetCode题解——Palindrome Number
  8. 兼容性所有浏览器的透明CSS设置
  9. 随记:Linux下LVM安装配置及使用
  10. echarts 词云图
  11. 华为5G产品大配套,火星人光电互联大科普
  12. C. The Intriguing Obsession[组合数学]
  13. 畅邮(DM Pro)-一款强悍、纯净而稳定的重量级电子邮箱客户端(支持分发、追踪)...
  14. ecshop数据结构
  15. 参加Google Developer Day 2009归来,互联网营销
  16. 【数据结构】动态规划——找零钱问题解析(含c++和python代码)
  17. 区块链 Fisco bcos 智能合约(22)-全面的性能分析工具
  18. dockers迁移容器数据的方法
  19. 可视化智能预警为生产运行保驾护航
  20. 全力以赴地完成书稿中

热门文章

  1. JCR分区与中科院分区
  2. log4j日志设置error级别以上
  3. 中小企业物流配送管理系统SSM开发MYSQL数据库javaweb项目j2ee实现
  4. Windows/Mac系统MySQL,MySQL驱动下载和安装
  5. 台达内部速度指令_【2017年整理】台达B2伺服电机参数设定.doc
  6. 计算机桌面维护面试题,100 | 运维常见面试题
  7. windows 搭建HTTP文件服务器(Nginx 方式)
  8. html制作网页案例代码
  9. 在python中、下列代码的输出是什么-智慧树知到《Python程序设计基础》章节测试答案...
  10. 北京圣思园Java教学视频全集迅雷下载