Greenplum中角色权限及客户端认证管理
角色权限及客户端认证管理 GP数据库逻辑结构 在GP中,Database(数据库)、Schema(模式)以及Role(角色)三者之间的关系如下所示: 一个数据库下可以有多个模式,一个模式只属于一个数据库。模式在GP中也被称为Namespace,不同数据库之间的模式没有关系,可以重名; 语言在使用之前必须创建,一个语言只属于一个数据库; 表、视图、索引、序列、函数必须属于一个模式; 一个文件空间可以有多个表空间,一个表空间只属于一个文件空间,文件空间和角色之间没有关系; 表空间和表时一对多的关系,一个模式下的表可以分布在多个表空间下; 除了文件空间之外,其他的权限管理都是通过角色来实现,在这些层次结构中,用户必须对上一层有访问权限才能够访问该层的内容; 什么是角色(role) Role的组成:由用户(User)和组(Group)组成; 跟OS的role没有关系; User通过Master节点登录和认证的; Role是定义在GPDB系统级别的; 初始化SUPERUSERROLE:gpadmin。 角色与权限安全的最佳实践 保护系统gpadmin的用户; 为每个登录的User分配不同的角色; 使用组来管理权限从而实现管理组; 控制具备SUPERUSER属性的User数量。 创建Role 创建用户User Role 使用CREATE ROLE创建一个User Role,语法如下所示: