Openstack之KeyStone学习(一)

原创 2016年08月31日 13:56:57

Openstack简介:

OpenStack是一个美国国家航空航天局和Rackspace合作研发的云计算软件,以Apache许可证授权,并且是一个自由软件和开放源代码项目。OpenStackIaaS(基础设施即服务)平台,让任何人都可以自行建立和提供云端运算服务。以下是5OpenStack的重要构成部分:1、Nova —计算服务;2.Swift — 存储服务;3.Glance – 镜像服务;4.KeyStone认证服务;5.Horizon – UI服务。

keystone主要提供Identity(认证)、Token(令牌)、Catalog(服务目录)和Policy(安全策略,访问控制)四方面服务:

1.Identity:对用户的身份进行验证,用户的身份凭证通常以用户名和密码的形式呈现,认证服务的同时提供了与该用户相关的元数据的提取;
2.TokenIdentity确认用户身份之后,会给用户提供一个核实该身份并且可以用于请求后续资源的令牌,Token服务则验证并管理用于验证身份的令牌。keystone会颁发两种令牌给用户,一种是与Tenant无关的令牌,另一种是与特定Tenant绑定的令牌;
3.CatalogCatalog服务对外提供一个服务的查询目录即每个服务的Endpoint列表;
4.Policy:一个基于规则的身份验证引擎,通过配置文件来定义各种动作与用户角色的匹配关系

下图为keystone工作流程示例:



KeyStone基本概念

1.User:用户。通过keystone访问OpenStack服务的个人、系统亦或是某个服务,keystone都会通过认证信息(Credential,比如密码等)验证用户请求的合法性,通过验证的用户将会分配到一个特定的令牌,该令牌可以用于后续资源访问的一个通行证。用户必须属于某个特定的域,用户名不一定全局唯一,但是域内唯一。
2.Tenant:租户。租户可以理解为一个组织或者是一个项目,在Nova中,租户可以理解成一组虚拟机的拥有者。用户默认的总是绑定在某租户上,用户访问租户的资源前,必须与该租户关联,并且指定该用户在该租户下的角色。重点关注,目前有疑虑;openstatck中所有的资源应该属于某个特定的Tenant;一个Tenant必须属于特定的域,Tenant名并非全局统一,而是域内统一,如果Tenant没有指定所属的域,则会被添加到default domain中;
3.Groups:一组用户的集合,属于某个特定的域,群组名并非全局唯一,但是域内唯一;
4.Role:角色。一个role可以看做一个ACL集合,openstack中分配给用户的token包含了role列表。被访问的服务会判断它的用户角色以及每个role访问资源或者操作的权限。系统默认使用admin_member_roleUser验证的时候必须带有指定的tenantroles会被分配到指定的tenant。在全局角色中,用户可以对所有的租户执行角色所规定的权限;在租户内的角色中,用户仅可以在当前租户内执行角色规定的权限。角色名全局唯一;
5.Service:服务。根据UserTenantRole一个服务可以确认当前用户是否具有访问其资源的权限。服务对外暴露一个或多个端点,用户只有通过这些端点才可以访问所需资源或者执行某些操作。
6.Endpoint:端点。指一个可以用来访问某个具体服务的网络地址。一般以一个URL来表示一个端点,URL具有PublicInternalAdmin三种权限,Public为全局提供的服务端点,Internal提供内部服务之间的访问,Admin是提供给管理员使用的;
7.Token:令牌。用户通过Credential获取在某个租户下的令牌,以及令牌的颁发时间和有限时间。
8.Credentials:凭证。用户的用户名和密码,或者是用户名和API秘钥,或者是身份管理服务提供的认证令牌
9.Domain:表示一组Tenantsusers的集合。每一个tenantuser只能属于一个domain,但user可以属于多个Tenant

下图为KeyStone管理对象之间的关系:



特征选择 GBDT 特征重要度

Tree ensemble算法的特征重要度计算 集成学习因具有预测精度高的优势而受到广泛关注,尤其是使用决策树作为基学习器的集成学习算法。树的集成算法的著名代码有随机森林和GBDT。随机...

深度学习与计算机视觉(12)_tensorflow实现基于深度学习的图像补全

内容识别填充(译注: Content-aware fill ,是 photoshop 的一个功能)是一个强大的工具,设计师和摄影师可以用它来填充图片中不想要的部分或者缺失的部分。在填充图片的缺失或损坏...

openstack学习之keystone

 keystone项目提供了用户管理,权限管理,用户认证等功能,还提供了ServiceCatalog,即Openstack中所有服务的endpoint。endpoint就是rest api的ba...

[openstack][G版]keystone源码学习

Keystone项目的主要目的是给整个openstack的各个组件(项目)提供一个统一的验证方式。用户管理,身份验证是几乎所有的软件管理都要处理的问题,Keystone对于通常的应用场景所不同的是他要...

通过例子学习 Keystone - 每天5分钟玩转 OpenStack(19)

上一节介绍了 Keystone 的核心概念。 本节我们通过“查询可用 image”这个实际操作让大家对这些概念建立更加感性的认识。...

通过例子学习 Keystone - 每天5分钟玩转 OpenStack(19)

上一节介绍了 Keystone 的核心概念。 本节我们通过“查询可用 image”这个实际操作让大家对这些概念建立更加感性的认识。 User admin 要查看 Project 中的 imag...

OpenStack Keystone

  • 2016年02月19日 17:01
  • 1.63MB
  • 下载

openstack keystone整体架构与功能

关于keystone模块,我将从整体架构与功能,用户信息管理,认证服务3个模块用3篇文章进行分析。 1. keystone的基本功能           keystone作为openstack的I...
  • wsfdl
  • wsfdl
  • 2014年03月05日 23:12
  • 21007

Openstack keystone 安装包

  • 2012年11月23日 13:02
  • 5.9MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Openstack之KeyStone学习(一)
举报原因:
原因补充:

(最多只允许输入30个字)