00:01
欢迎大家继续收看上硅谷的Linux云计算视频,我是汪洋老师。那这节课呢,我们继续往后去看,上节课呢,给大家讲了我们的Linux安全集群里面的第一个篇章,也就是我们认证,那接下来我们要看第二种就是我们的授权建券。好。当认证通过以后呢,并不意味着你就有访问对应资源的一些,呃。可能了,对吧,我们还要经过我们所谓的健全,健全通过以后呢,才有访问具体的一些对象的能力好。那首先我们看一下它的一个解释说明,上面认证过程只是为了确保通讯双方,对方是可信的,可以相互通信,对吧,你俩认识。就像我们之前说的什么相亲那样,对吧?你俩认识,但不一定你俩就要在一起,对吧?在这里也是一样的,只代表你俩能够相互通讯而已。但是到底能不能访问哪些资源的权限,还是要根据我们的健全的结果去看好。而借权是确定请求的对方有哪些资源的权限?IPSSO呢?目前支持以下的几种授权策略,那可以通过我们的IPSO的启动参数。
01:19
Model去设置我们的方式,也就是健全的方式。第一个是我们的always内代表表示拒绝所有的请求,那这个一般在生态环境中肯定不会去用,对吧?没有什么意义了,包括always alone允许所有的请求。不需要进行所谓的授权流程,那直接呢通过下一步对吧?好跳出此环节,那这两个肯定都是在一些测试的时候,我们可能会去尝试一下,对吧,正常的生态环境中肯定是不允许通过这种方式的,好,那下一个呢是ABC。那这个是我们老版本中采用默认采用的这么一种方案,叫基于属性的访问控制。
02:01
好,表示使用用户配置的授权规则,对用户进行匹配控制,也就是一般来说会定义一个属性的仿织访问类型,那如果你这个用户有这个属性的话,那就能够访问对应的一些资源,那它呢并不是说不好,而是说它吃起来太繁杂,我们需要定义一长串的一些属性才可以,所以现在已经淘汰了,并且ABC呢,我们在修改完成以后并不能直接生效,需要注意一下。那下一个呢,叫Webb。那通过调用外部的receip服务对用户进行授权,也就是在集群外部对我们的K8S进行所谓的健全。那这个怎么说呢?这几个都是我们的,要不就是不好当做测试版,要不呢就是一个历史版本,比如aacc,那我们现在最常用的是RBAC,也就是基于角色的访问控制,那其实角色这个概念,我们之前在我们的open sta中已经给大家去讲解过一些对应的概念了,对吧?如果你拥有这个角色相当于优先拥有了某些权限,那在这里呢,拥有哪些角色呢?就相当于拥有了访问某些资源的权限。
03:14
好,那像这种历史啊或者测试啊,我们就不去给大家详细介绍了,没有什么意义,那我们就看现在最流行的,或者是基本上都是默认选择的这么一种方式啊BAC对吧,基于角色的访问控制。好,那基于角色的访问控制呢,是在我们的Co ne的1.5版本中引用的,那之前的默认策略是AC,现行呢,已经成为默认的标准。相对于其他访问控制有以下的权限,第一个对集群中的资源和非资源均有完整的覆盖,资源比如说我们deployment,比如说我们pod,比如说我们的CPU啊,内存啊等资源,这些都属于资源。那非资源呢,说的是一些语言数据信息,比如当年这个pod的状态,那这就是一个非资源对吧?好,RBAC呢,都可以去授予对应的访问的权限,覆盖非常全面,基本上全部覆盖完毕。
04:11
只要你能想到的,那下一个呢,就是整个啊BAC呢,有几个ipi对象完成,同其他的ipi对象一样,可以通过我们的库CL的API进行操作,那比如是在这里的web号Webb。那他呢,在集群内部就没办法通过我们的库CD还要进行操作,对吧?所以在管理起来的话有一点不便,那对于RBAC来说呢,它就像管理我们的资源对象一样,能够进行所谓的对应的授权赋予。好,下一个可以在运行时候进行调整,不需要重启我们的IPSSO,那这典型的讲的就是我们的AC修改完成以后,需要重启我们的IPSSO,进行我们所谓的修改生效比较费劲,对吧?好,那所以RBAC呢,拥有这么以下的这么一些好处或叫优点,所以现在已经成为了一个现行标准,这是合理的。
05:05
好,那RBAC的ipi资源对象说明在我们的RBAC中呢,引入了四个新的顶级的资源对象,或叫一些新的概念,它分别是我们的roll class banding和classing。那一个是角色集群角色,角色绑定和集群角色绑定是种对象类型,其实它都可以是通过我们的库CT的ipi操作的,就像我们之前说过对吧,像使用其他的资源一样进行操作。我们在这里可以看到我们的一些我们的原数据,包括我们的班理之间的关系,对吧?好,那我们之前给大家提说过一件事情,就是K8S采用的是IP协议进行所谓的CS结构的开发,那它呢,讲白来说是一个four风格的这么一个编程接口,对吧?好,那在这种编程接口下呢话,它会有一些操作的动作类型,比如create get update等等,Change记的对吧?好,那比如我们create对的一个资源是炮的,那就代表创建一个新建一个炮的操作,对吧?好,那这些动作呢,会。
06:12
被赋予成我们的RO,也就是我们的角色。比如我有个创建pod的角色,那它可能叫做create pod这么一个角色名义对吧?然后再进行我们所谓的肉斑ing,肉斑ing的含义就是把我们的这里的一个角色赋予给用户,或者是主,或者是我们的sa。那这个呢,就是我们的一个肉和肉拌定的这么一个过程。好。那当然了,这里还要给大家讲概念,就是肉class,肉banny class banny它们之间的对立关系。好,我们过来看一下。
07:00
首先呢,假设这是我们的一个肉,这个肉的集群呢,是我们的red pot,比如red pot,我们可以看一下我们的,读一下我们泡中的信息,那我还有一个class肉,这是我们的肉,对吧,肉角色。还有一个是我们的卡德。那这就代表了,比如还是我们的red part。号,那现在是一个什么含义呢?对于肉来说,它是一个名称空间级别的,也就意味着如果把它赋予给default空间级别,那比如一个张三用户,我们过来看一下。好,这是一个UR。张三,张三呢?如果把这个肉赋予给张三了?把这个肉赋予给我们的张山,在这个时候,他会让你去指定一个名称空间,那比如是我们的default名称空间。
08:05
好,那这个过程呢,其实就是我们的肉斑顶。那。如果我现在还有一个角色,还有一个角色,比如叫李四。那我还要去创建一个,比如是我们的,呃,另一个名字空间,可能叫做TEST1的这么一个肉,然后呢,我们再进行把肉扳定,把这个所谓的。这么一个肉赋予给我们呢,尤了里斯。那大家会发现,如果我想在不同的名族空间级别下去创建对应的一些,比如同一个动作都是毒炮的,对吧?那我需要创建很多个肉,太费劲了,那所以可以怎么办呢?我先创建一个class肉,Class z的含义就是能够读我们集云下的所有名人空间里面的这么一个pod的信息,对吧?然后呢,我再进行所谓的肉ing,而不是进行classing。
09:17
也就意味着我在这里。有一个王五。或者是什么所谓的造六。对吧,有很多用户。他们都需要去读对应名称空间下的这么一个角色,那在这里呢,我就可以直接进行所谓的肉斑领操作。哎,我通过肉班定。把class赋予给我们的王五或赵六。相当于这是一个资源的下放,对吧。好。那这里代表的含义就是。在我们肉baning的时候,我们要指定名称空间对吧,给他指定对应的名空间,它指定对应的名称空间,那对应的含义,虽然我们这里的王五和赵六拥有我们的class肉,但是不好意思啊,我给你绑定的时候,绑定的是肉半定。
10:12
能理解我的意思吗?并不是class肉板定,如果这里进行的是一个class的肉板。这里进行的是一个class班,你班开发给了比如我对吧,我就是我们的集群管理者,比如叫汪幺,好,那在这里呢,我们去进行所谓的class班ing以后。去把这个我们read port的class通过class finding的方式绑定给汪汪洋,那这个角色代表的含义就是能够读我们当前K8集群中的所有的炮的信息,需要注意一下,也就意味着并不是肉对应的就是肉baning,可能对吧,Class肉对应的也是肉baning。
11:04
需要注意一下这么一个概念,好一个资源的下探,对吧?那回过来我们继续往后看,需要注意的是K8S并不会提供我们的用户管理,那么用户组合,我们的sa指定的用户又是从哪里来的呢?这个需要注意一下哈。在我们的其他的一些,比如我们的open star,你会发现我们有创建用户的操作,对吧?在我们的K8S里没有创建用户的命令。那它的用户的命令是在我们的。定义CA证书的时候就已经提供的,那在这里我们可以看到这是一个我们的证书请求的这么一个节省格式,好,这里的CNCN就是我们的用户,这里的我们内幕的。O字段就是我们的主需要注意一下,也就意味着在进行我们的证书请求的时候,在这里填写的我们的国家名就是你的用户名。
12:00
填写的我们的。我们的组织就是我们的主,需要大家注意一下,那K8S在读取到你的证书信息的时候,会把这里的两个字段给它提取出来,当做你的用户名和主。好。那这里也会给大家进行了一个解释说明了,对吧?IPSSO,我会把客户端证书的CN字段当做europeur name的O字段当做我们的group light使用我们的TLS的booing认证的时候,IPSSO可以使用boopping的token或者是token or开ing film验证我们的token,那讲白来说就是一个IPS或者认证过程,对吧?好,无论哪一种CU都会为我们的token绑定一个默认的用户名和主。Pod在使用我们的sa的时候的token中的GWT也会保存我们的用户信息,用户信息好,有了用户信息以后,再创建一个角色或叫角色绑定集群角色或集群角色绑定的资源对象就可以完成权限的绑定了,那这个也是我们后边要给大家做的一件事情,就是在最后我会带大家去创建一个用户,比如叫div的用户,对吧?只能去管理我们的div的空间,这可能是我们在生活环境中需要去用到的这么一个功能,对吧?带大家从到尾的把这个功能给它实现一下好。
我来说两句