02_greenplum角色权限及客户端认证管理
一、gp数据库逻辑结构

在GP中,Database(数据库)、Schema(模式)以及Role(角色)三者之间的关系如下:
1、一个数据库下可以有多个模式,一个模式只属于一个数据库。模式在GP中也被称为Namespace,不同数据库之间的模式没有关系,可以重名;
2、语言在使用之间必须创建,一个语言只属于一个数据库;
3、表、视图、索引、序列、函数、必须属于一个模式;
4、一个文件空间可以有多个表空间,一个表空间只属于一个文件空间,文件空间和角色之间没有关系;
5、表空间和表是一对多的关系,一个模式下的表可以分布在多个表空间下;
6、除了文件空间之外,其他的权限管理都是通过角色来实现,在这些层次结构中,用户必须对上一层有访问权限才能访问该层的内容;
二、什么是角色(role)
一、角色
概念:把用户和组的概念包含在内。一个角色可能是一个数据库用户、一个组或者两者兼具。角色可以拥有数据库对象(如表)并且可以那些对象上的特权分配给其他角色来控制对对象的访问角色可以是其他角色的成员,因此一个成员角色能够继承其父角色的对象特权。
每一个Greenplum数据库系统都包含一组数据库角色(用户和组)。这些角色与服务器所属的操作系统管理的用户和组相互独立,不过,为了便于维护操作系统用户名和Greenplum数据库角色名之间的关系,有很多客户端应用使用当前的操作系统用户名作为默认。
1、Role的组成:由用户(User)和组(Group组成);
2、跟OS的role没有关系;
3、User通过Master节点登录和认证的;
4、Role是定义在GPDB系统级别的;
5、初始化SUPERUSERROLE:gpadmin;
三、角色与权限安全的最佳实践
1、保护系统gpadmin的用户;
2、为每个登录的User分配不同的角色;
3、使用组来管理权限从而实现管理组;
4、控制具备SUPERUSER属性的User数量;

浙公网安备 33010602011771号