00:00
大家好,欢迎收看腾讯云数据库小课堂,今天和大家分享一下postco的账号管理体系啊PG账号管理体系到底是怎样子的呢?那我们先来了解一下常见的权限管理模型,可以看到常见的a clr bacbc和PBAC,其中acl访问控制列表啊,用户可以直接拥有这个权限,权限和用户是一一对应的一个关系,在acl的权限模型之下啊权限的管理就是围绕着我们权限列表来设计的,用户可以拥有权限列表当中的多个权限,这个的优势就在于逻辑非常简单,但是缺点就在于它的扩展性比较差,需要维护的那个冗余数据会比较多。RBABAC也是我们现阶段最常用的权限控制管理逻辑,而我们post也是基于此。RBAC它是基于角色的权限控制,支持最小的特权的一个原则,实现我们相应的啊责任分离和我们的数据抽象啊。在RBAC这种权限控制模型之下,用户不会直接去拥有权限,而是去加入某一个角色,而角色去拥有权限,用户和权限是不会有一一对应的关系,而是间接的一个对应关系,用户属于角色,而权限和角色相关,这样子的一个优势啊在于简化了我们用户和权限的一个关系,在中间多了一层更方便的去管理我们的用户的一个分组,并且扩展用户也很简单,只需要把相应的角色赋予相应的用户就可以了。那ABC实际上是基于属性的一个权限控制逻,对于一个资源,对于一个操作主体,对于一些特殊场景以及具体的操作的每一种都会有相应的权限管理啊,就最常见的一个应用。
01:38
啊,就是我们的防火墙,就IP tables,它主要就是规定了啊,哪一些属性的主体可以对哪一些属性的资源,及在哪一些属性的情况下可以进行哪些操作啊,每一步都是一个递进的,一个不判断,当哪一步判断失败,那我们就直接判断错误。ABC的优势就在于可以发挥权限系统的一个灵活性,灵活性的同时那个权限的管理相对来说也就相对较复杂一些,但是力度也会更细了。那么在ABAC和RBAC的发展的一个过程当中,将他们两个来进行结合啊,就诞生了我们的PBAC,就是基于策略的权限控制,在这一种权限控制的逻辑之下,最长最典型的应用就是比如说我们腾讯云的做了这么多啊,我们常见的访问控制,把你的一个权限设计模型,那么post的权限设计模型刚才也讲到了,它是我们RC的这个模型在规当中啊,权限分为两种啊,一种是权限,一种是对象权限,权限主要就是控制我们用户是。
02:38
否可以直接访问我们的数据库。主要控制逻辑是通过我们PG ba.com这个配置文件来进行控制的,它可以控制我们的访问网络段用户数据库,还有访问电权逻辑,就是说MD或者信任或者是拒绝。当用户拥有了实例的访问权限之后,就可以就可以访问到我们数据库实例当中,访问到实例当中之后,我们实例的实例的内部权限才会起相应的作用。内部权限我们分为对象和操作,对象有很多,比如说database啊,S table视图s function trigger等很多对象,每一个对象会拥有一批操作,只要是拥有了对象级别的一些操作,那我们可就可以在相应对象之下,或者是对这个此对象进行相关语句执询,比如说对于我们的table的select,那么意味着我们就可以对这个table进行查询,如果说有table的update权限,那么意味着我们就可以对table进行更新。PG有两种类型,一个是用户,一个是角色。在PG当中,我们user和。
03:38
错,实际上是相似的,并没有什么区别。最关键的从逻辑上来讲,用户和角色之间的区别就在于一个是否有login权限,能登录的我们称之为用户,不能登录的我们就称为角色。BG的对象权限啊,它拥有一些简写,R代表读,就是我们select,意味着我们可以对对象进行一些读取操作,W代表A代表insert代表小,D代表弹除,大代表清空X啊,这个是如果说是针对于表来说的话,X权限就是可以去创建所引或者其键啊。T代表tri大,X代表主要是针对于函数相应的功能,U代表usage,它是可使用很多对象有一建,如说针对C就是可以在去建,一般是作用于代表,我们可以问到这个数据代表临时表,意味着我们可以在某一个下去创建相应的临时表一个权限。
04:38
啊,有两种类型的角色,一是我们的啊系统默认角色,还有一部分是我们用户创建角色,系统默认角色是在数据库最开始预设的一部分角色,它拥有一些相应的系统所赋予的权限功能,剩余的就是我们自定义角色,就是用户所创建出来的用户角色。系统默认角色可以看到我们屏幕上方我们所列的这一些,当前我的示例是PG11这个版本,其他的不同的版本啊,会有相应的一些区别或者是一些新增,这个我们可以看详细的官方文档解释,我们来看一下系统默认角色有哪些?第一个right serve files,意思就是说我们可以通过啊系统的一些函数操数据库的一些函数,对我们操作系统的服务器里边的一些文件进行写入,File,这个意思就是我们可以通过操系统的一些函数读取我们操作系统的一些文件,执行服务器,意思就是我们可以去执行相应的啊服务器上的一些语句,比如说LS,如果说你拥有了超级管理员的权限,那么有可能你可以去执行R,这个是比较危险。
05:38
都会禁让用户去直接使用啊,Single button啊,意思就是我们可以向后端发出一个令啊,终止我们的某一个用户连接S这个权限意味着我们可以去执行一些需要时间有access she这种锁的一些监控,Monitor就是我们监控的一些合,它是一个主角色,它拥有g read or settings or stas和PG sta tables这一些角色的一些权限。那么下面两个也就是读取我们的相关的一些配置信息,以及我们的数据库的一些监控视图相应的数据。public啊是TG的一个默认隐藏角色,代表所有人只要是付给了public这个角色的一些权限,所有用户的角色都会拥有这个角限,同时我们角色还会拥有一些默认的角色属性,我们在创建角色的时候,就可以去指定这一些第一个属性super userr啊,就是超级用户,拥有这个角色属性的用户或者角色啊,可以绕开属。
06:38
所有的对象权限的权限检查啊,Quite意味着当前角色拥有创建数据库的一些权限,Quite rule意味着当前角色拥有创建角色的权限,创建其他角色继承权限,意味着我们当前用户拥有是否能够将当前角色的一些权限或者是其关联角色的权限赋给其他的角色,如果说没有,那么他只能够把角色赋予相应的其他角色或者是用户,如果说没有,他就只有仅仅可以将当前角色或者是关联角色付给其他角色的一个,就没有办法将角色当中的一些权限提取出来再付给其他角色。login啊,意味着当前角色是否可以登录replication啊,复制权限啊,是否允许啊,这个角色创建发布,创建逻辑复制或者流复制等相关的一些功能,复制相关的一些功by pass I ls啊,意味着我们有这个权限的用户或者角色可以绕开我们的表的行级安全策略啊,Ing Li啊,意味着我。
07:38
我们当前这个用户可以同时支持多少个用户的连接啊,下面两个就是一个是设置用户密码和密码的一个国庆时间,以上就是我们所有的角色一个属性权限的赋予和收回,主要是针对于两种类型来进行操作,如果是对针对于角色属性,那我们可以在创建和修改的时候去指定某一个角色有相应的属性,比如啊创建角色角色名后跟我们的权限,如果说想要修改我们角色的属性可out权,比如说user,就是我们加上user,那么对象权我们可以通过些命令来操作了。所有的对象权限我们都通过grant语句来赋予和通过work语句来回收,Grant语句的固定格式就是grant权限on对象,To想要赋予的那个权,那个角色也可以把我们的角色赋给我们的其他角色,或者是用户办的角色角色,然revo回收权限实际上逻辑是一样的,则是需要把to变成。
08:38
Re,权限对象from角色或者角色from角色,好,总结一下,TG的用户和角色是相似的,权限分为两种类型,一个是角色的属性,第二个是对象的权限。啊,角色属性我们可以通过或者来进行创建和修改,对象的权限可以通过和进行和回收。本次视频到此结束,感谢大家,如果说对视频有建议,请在下方留言,也希望大家多多转发点赞,谢谢大家,拜拜。
我来说两句