00:01
大家好。欢迎大家继续收看上硅谷的Linux云计算视频,我是汪洋老师。那这节课呢,我们就学习一下我们的open star中最重要的一个主见之一,也就是我们keyone任政府。我们之前也说过对吧,那对于整个open来说呢,它是一个框架。每种不同的组件都是由不同的团队去携手开发的。那怎么去把它并入在一个完整的一个结构中,我们需要有一个统一的机制。那认证的也是其中一个最重要的机制之一,对吧。那所以对于我们的kiss来说呢?每个组件。在去交互或者是被交互的过程中,都需要到keyone去完成对应的认证,才能执行对应的功能。所以它的重要性是不言而喻的,对吧,那这节课呢,我们就好好的去学习一下。
01:00
首先对于keystone来说呢?我们先去讲一下它的组件之间的说明信息,包括它的一些呃,相关的一些概念啊,对吧,一些名词的解释。我们再去讲一下第二段,再去讲一下我们的不同组件之间的沟通方式,以及用户跟我们的caseone怎样去完成它的认证。那第三部分呢,再大家去构建一下我们的keyone服务,对吧?好,我们一个一个去看。首先第一个组件说明。那我们要知道K4它存在的意义是什么,对吧?那你这样才能更好的去掌握它。那什么又是key stone呢?Key stone是我们的open in identity service项目的一个名称,也就是这是它的项目名,这是它的软件名,对吧?好,是一个负责身份管理和授权的组件。从我们刚开始就在就在说对吧,他是提供一个标准的身份认证。
02:00
这肯定是没问题的,大家应该都能听得懂。好。第二个主要功能,实现用户的身份认证没问题,基于角色的权限管理,这个比较重要。这里需要大家了解一个概念,就是角色这个概念,你可以把它理解为是一个权限的集合。我用过什么角色,就拥有了某种权限。其open其他组件的访问地址和安全策略管理。这里需要注意一下访问地址。举个例子。怎么去理解这个东西?那我现在呢,有很多组件,比如有我们之前提到的nova。然后呢,有我们的Galaxy,有我们的新的,有我们的牛创,有我们的keys顿对吧等等。Nova cinder。流创。还有什么呢?还有我们的GC。好,那这些组件它们之间是安装在不同机器的。
03:05
那有个问题了,每个人他在安装的不同机器,它的IP地址肯定都不一样,对吧。那如果我现在有个用户。我说,哎,我要想去访问牛创。去创建一台虚拟机。那用户在去访问纽创的过程中就会有一定的问题,什么问题呢?就是我怎么知道他的IP地址。你说这简单,你在用户上告诉他不就行了吗。你说哎,只要找我们的牛创,你就找什么什么什么一个IP地址。好,那如果我要找新的呢?你说再告诉他呗,那如果我们要在用户的某种接口里都写死了的话。不具后期更改能力的话,那我们整个框架是不是就固定了。那如果有一天我需要扩容了,我再扩一台,再扩一台我们的nova出来,那你应该怎么找他?
04:03
所以我们的用户并不是直接去找到目的地址,而是直接找我们的K顿。Keystone上面会有对应的,你要访问某种服务,你应该怎么走一个标准的路径?那后期如果你要升级维护的话,你只需要把这个路径进行更新即可。相当于什么?相当于我们去酒店,酒店大堂上面是不是有个大牌子,牌上面画了整个楼的分布图,你哪个房间在哪里,你只要去访问这个牌子,你是不是就知道你到你的房间应该怎么去走?那如果有一天酒店装修了,把里面的房间都打乱了,那是不是重新更新一下这个牌子即可?这应该很好理解对吧,好。安全策略管理也是基于角色的权限管理,对吧,就是你如果没有这个特定的功能或权限的话,你是不允许访问的,这个比较容易理解,好,这是case。
05:04
什么是keyone?讲白来说就这么两句话对吧?好,为什么需要?这个其实我们不写出来,大家应该心里也有数了,对吧,因为。如果想完整的回答他问,因为我们的整个open,它是一个框架,是一组项目,而不是单个项目,我们需要给这一组项目提供一个统一的验证方式。这句话我们一直一直一直在强调。对吧,主要就是这个目的。大家只要是涉及到认证功能的,自己都别开发了,都找我。有轮子了,为什么还要造轮子呢?是这个意思吧,并且你造出来人呢,是不不匹配啊,不统一啊,不兼容啊。那你是一个认证过程,他是一个认证过程,我们怎么结合在一起呢?这样的话应该大家比较好理解。
06:01
对吧。那接下来我们去主要看一下我们的keyone的功能。对于K功能来说,我们从刚才的话里面提出来两个比较重要的东西,一个是用户管理,一个是服务目录管理。用户管理,我们又统称为3A服务。也就账户身份认证和授权。管理账户,进行身份认证,颁发授权,这就是我们kissone的第一个用户管理它的重要功能。这三个名词我应该不需要解释了,对吧?好,第二个服务目录管理需要给大家解释一下什么叫服务目录。那比如我去,我去一个呃,商场。商场呢,会在一楼竖一个大牌子。一一楼什么小商品家电?比如就叫家电对吧。
07:01
好。像比如男装。3L女装4L什么幼儿休闲区对吧,一般是这样的,我们都能见得到啊。那对于整个商场来说,它的这个大牌子呢,其实就是我们的服务目录管理。也就是我用户过来以后,我怎么知道你上面能给我提供哪些服务。大牌上是不是写的清清楚楚啊?那如果我想去访问的话。那是不是也告诉你啊,电梯在哪里,怎么走,那你是不是就可以直接去访问到它。这就是我们的服务目录管理,把当前的所有的功能给我们展现出来,比如对于我们K4来说呢,它会写什么?比如nova,你要想访问我们的计算服,它的一个。端点是多少?这里我说的端点其实就是一个URL的路径。
08:07
这里呢,是通过API接口的方式进行我们互相之间的调用的。应用程序变成接口对吧。并且走的是一个itp协议的应用程序编程接口,一般来说,我们之前像这种ipi,像我们的CS结构的访问,一般走的是不是都是TCP啊?对于我们open star来说,它走的是HTP的ipi接口,编程模式叫风格。有兴趣的话可以简单了解一下,毕竟咱们不是开发,对吧,好。那下一个,比如我们的lay。他又会来了一个URL。那比如我们的牛创对吧,他又来一个幺幺。比如新的等等。也就意味着只要是当前open star给我们提供的功能,它的对应的访问端点信息,也就是访问的URL地址,都会经过我们的keyone被保存下来。当然这个讲讲是保存,其实是我们管理员去声明。
09:02
当然我们的open star是一个框架,并不会把这里的所有的角色都安装上,那它安装了哪些角色,那是不是就是能够我们的用户提供了哪些功能呢?对吧,两个核心功能,用户管理服务目录管理。这个可以理解为是做认证的,这个可以理解为是告诉我们用户你到哪里去访问服务的。Over。那下一个我们看一下。认证服务中的一些关键字。第一个EUR用户一个人系统或服务在open中的数字表现。人系统服务。这里的人讲白了说就是我们。去访问这个三体系的用户。我们把它叫做一个人对吧,好系统系统的一些组件,系统的一些服务。
10:04
都在opens star中一个数字表现。也就意味着这里并不是什么所谓的一个图片啊,或者怎么怎么样,对吧,是通过一个ID,我们把它叫做什么。你也可以把它理解为是一串字符串。那这个字串呢,代表的就是我们的某个用户。已经登录用户会分配令牌环疑访问资源。分配令徘徊,这又是我们open star体系中比较重要的、有特点的这么一个结构。在传统的一些服务上,比如我们去访问一些,呃,淘宝啊,京东啊,对吧,都会让我们输入对应的用户名和密码。也就是我们会拿着用户名加密码的方式当做我们的认证结构去访问后面的一些服务。那在我们的open star中呢,它是通过。
11:04
访问其他服务的话,它是通过一个叫另拍环的认证机制去访问的,你可以怎么理解呢?比如。我们去爬山。爬山,这是不是有个售票厅啊?到售票厅的时候,我先花钱买。并且给他身份证去认证一下,你到底是不是我们的合法用户,对吧,万一是一个什么在逃犯呢,对吧,好给他钱,20块钱买了一张全票,比较便宜是吧,那这个全票。这个全票再去,我们去爬山的时候会经过各个景点,每个景点的时候,他会在验证你的身份证和钱吗?并不是,而是验证的是你手里的这张票。这样说的话应该比较好理解对吧,那这个票呢,就是我们在open star中的令牌环。只不过这个票是一个实体,令牌环是一组。
12:02
字符串。没问题吧?用户可以直接分配给特定的租户。就想隶属于每个组。主一般有什么功能啊。讲白来说,我们分组是不是就是把他们通过功能性给区分开来。那也就意味着我们的组相当于就是特定权的集合喽。是这个意思吧。好,那也就意味着在我们的R体系中,出户等同于主的功能,需要大家理解一下,等会我们再去看主的概念,对吧?好,下一个凭证。用于确认用户身份的数据,可以是用户名、密码,可以是用户名,可以是IP的K,或者是由身份证颁发的令牌,还讲白来说,这就是一个中间产物,对吧,中间产物好下一个认证。
13:05
确认用户的过程,这是一个过程,过程代表词对吧,这个没什么好解释的,这个相信大家比我懂,对吧?好,下一个token令牌。这刚才我们也说过了,用于访问open ipi和资源的字母数字的字符串,并且一个临时令牌可以随时撤销,并且持续一段有效的时间,这个需要大家注意一下。已登录的用户分配令牌环,这个分配的令牌环并不是跟着你一辈子的。需要大家注意一下。每隔一段有效期之后,这个令牌环就会无意义,就会消失,它的作用就像你购买的票,上面会写上,啊,这个票的有效期为哪几天?令牌环也是一样。希望大家注意啊,它是有有效期的。那么接下来我们继续往后看出火,一个组织或孤立的资源的容器。
14:05
一个组织或孤立资源的容器。什么是租户呢?你可以理解为比如我上大街上。什么有宾馆什么什么什么叉叉叉,宾馆有叉叉叉,烧烤店有叉叉叉,什么游乐园。我刚才说的叉叉叉什么什么什么的,都是我们的住户,也就是可以给我们提供某种功能的这么一些。集合。好租户和可以组织和或隔离的认证对象,根据服务运营的要求,一个租户可以映射到我们的客户账户、组织或项目,这个可能现在理解起来还比较难,对吧?那等会我们去敲一些我们的代码去演示的话,那你可能就比较容易去理解了。我们就先看到这里租户的含义,就先看到这里下一个service。服务。
15:01
这个应该更容易去理解了,对吧,Nova计算符。Swap。对象存储服务,这也是我们第一个版本中唯一拥有的两个服务,对吧?好,Galaxy镜像服务提供一个或多个端点供用户资源访问和执行操作,你说为什么要提供多个啊?因为有不同的角色,比如我们的管理员,你要去访问这个端点,我普通用户访问这个端点,我内部的一些我们的组件你访问这个端点,这里我说的端点是不是就是一个URL路径?希望大家理解对吧,好,下一个端点。一个用于访问某个服务可以通过网络进行的访问地址,通常是一个URL地址。那讲白来来说,是不是就是访问的一个原来路径啊,对吧,这就叫做端点,当端点是唯一确定到我们的一个服务的,一个服务是可以有多个端点的。
16:04
听清楚了一个URL路径,一般来说对应一个端点。那一个我们的端点可以有多个URL路径。这个希望大家理解一下这个多对多啊,单对多的概念,对吧,好下一个。Z角色定制化,包含特定用户权限或者是特权的权限集合。你用什么角色?我是管理员角色。那管理员是不是对于整个我们的框架来说,是不是处于至高无上的地位,没有人比他更有意义,对吧?好,那你是什么角色?我是老师,那老师的功能是什么?授课管理学生,那管理学生是不是就是他的权限和特权的集合呢?这个应该很好理解对吧?好,下一个keyone c,也就是我们的命令行管理工具。
17:01
我们之前也说过了,它是一个基于HTTV协议的CS的结构,那既然是CS的结构,就分为客户端和服务器端。那客户端在这里呢,有多种方案对吧?有我们的Java开发的,有Python开发的。还有一些什么所谓的构语言开发的。这些客户端呢,都能去访问到我们对应的。S的结构,也就是服务器短,希望大家理解好。那这个呢,就是我们讲的一些关键字的一些集合了,希望大家把这些关键字好好的理解一下,那接下来我们继续往后去看。那我们刚才讲的关键字还是比较多的,对吧,那怎么去很好的把这些关键字给它组合在一起,联系一起呢?我们拿一个日常生活中的一个比较常见的案例给大家举例,就是我们去住宾馆。那这里呢,用户呢,就是一个张三,张三要去住宾馆。住宾馆的时候,我们会有对应的认证,对吧?啊,你带身份证了吗?带拿着身份证给我看一下,会放在他的一键身份证的机器上,看你是否成年啊,对吧,是否是一些在逃犯啊,我为什么会老讲在逃犯啊,对吧?好,那讲白的说就是认证,认证你这个人没有污点以后呢。
18:18
他会让你再去交钱对吧,交钱肯定是必须的,那当然我们在这里的open star体系中呢,是不需要交钱的,或者是交钱是在我们的认证之前的,对吧?好凭证也就身份证,身份证验证的过程呢,就是验证身份证过程。验证成功以后啊,你这个人没问题,那接下来我在open star环境中呢,我会给你颁发,颁发一个叫token叫令牌环,对吧,那在现实生活中呢,它就是一张房卡。那后期我进出这个酒店,它的一个认证的标识就是你这个房卡,而不是在去拿身份证重新去刷,对吧,这个很好理解。
19:00
那对于租户来说呢,就是宾馆。为什么是这个宾馆呢?因为宾馆是一组功能的集合。对吧,他可以给我们提供吃饭,可以给我们提供按摩,可以给我们提供健身游泳等等。那刚才我说的那些功能是不是就是我们想相当于是服务对吧,服务住宿餐饮的。那自主服务的提升提供的集合呢,就是我们的宾馆。也就是我们对应的租户。那如果我想去吃饭了,也就是享受餐饮的这个服务。那我应该怎么办呢?去看它的访问的端点。也就是服务目录的管理,我们会得到一个路径,比如啊,坐电梯你到二楼,二楼中间的位置就是我们的吃饭区。餐饮区。那这个是不是相当于就是一个路径,对于open star环境中来说,它相当于就是一个端点。
20:00
好,每个宾馆都会有对应的功能的,或叫做角色的分级。比如你是总总统套房级别的。你是一个什么普通的单人间?还是你是一个普通的连单人间都不具备的来访者,他们的等级肯定是不一样的,比如他是L一级,L2级,L3级,L一级可能去访问一些我们的什么宾馆里的一些。不好的项目是吧,比如赌博啊,大保健啊等等,对吧?那只要你认为L1级别你都能去访问,L2级别呢,你只能做一些正常的项目,比如去游泳啊,健身啊,吃饭啊,L3级别你只能去到你的朋友的房间里,你们去聊聊天,仅此而已。这就是我们的一个角色的划分,在我们的生产环境中或者日常环境中,它叫VIP的等级,对吧,那在我们的生产环境中呢,我们就把它叫做角色。这个就是我们的open stack环境中它的一些关键字,以及我们的日常生活中它的关音字的对应关系。
21:08
相信大家应该比较好的去理解了,对吧?好,那这节课呢,简单的给大家讲了一下我们的KSO的一些它的意义。以及它的一些功能,包括它的一些关键字的说明。那希望大家好好的把它整理一下。那这节课呢,我们就先讲到这里,我们下节课再见。
我来说两句