背景信息
默认情况下,GaussDB的用户可分为两类:系统管理员和普通用户。
用户及其权限
用户 | 权限 |
系统管理员 | 具备数据库的最高权限、所有系统权限和对象权限,权限类型的详细信息请参见表2。 |
普通用户 | 可以连接GaussDB默认的数据库postgres,并访问其中默认的系统表和视图。除此之外还具有对所有数据库的登录权限以及所有函数的执行权限。普通用户只能通过系统管理员使用CREATE/ALTER USER的方式来给予其系统权限,但自身可以通过GRANT语句指定对象权限。 |
权限类型
分类 | 描述 | ||
系统权限 | 系统权限又称为用户的属性,主要包括SUPERUSER,CREATEDB,CREATEROLE,AUDITADMIN,LOGIN,可以在创建用户或修改用户时指定这些属性。 说明: 在安装GaussDB或者初始化数据库时,会自动生成一个与-U参数指定的用户同名的系统管理员。不建议再创建其他系统管理员。 | ||
对象权限 | 对象权限是指在表、视图、索引、序列、函数等数据库对象上执行特殊操作,对象权限包括SELECT、INSERT、UPDATE、DELETE等。 | ||
角色 | 角色是一组权限的集合,可以将一个角色的权限赋予其他角色和用户。 角色只有是对象权限的集合才有意义,因为其他角色和用户无法被赋予系统权限。 |
不同帐户的规划原则及创建方法
帐户类型 | 说明 | 创建方法 |
系统管理员 | 含义:具有SUPERUSER权限的帐户。 规划原则:使用现有的系统管理员帐户,不建议再创建一个系统管理员。 | 这三类帐户创建方式类似,以创建审计管理员user_audit为例,命令格式如下: CREATE USER user_audit WITH AUDITADMIN IDENTIFIED BY "1234@abc"; |
安全管理员 | 含义:具有CREATEROLE权限的帐户。 规划原则:建议只建立一个仅具有CREATEROLE权限的安全管理员。 | |
审计管理员 | 含义:具有AUDITADMIN权限的帐户。 规划原则:建议只建立一个仅具有AUDITADMIN权限的审计管理员。 | |
对象操作员 | 含义:默认不具有任何权限,但是可以连接GaussDB默认的数据库postgres,并访问其中默认的系统表和视图的帐户。 规划原则:首先创建角色,再将用户加入此角色,则用户具有角色的对象权限。 | 以创建角色role1具有表films的查询权限,再创建用户user_read加入角色role1,拥有相同对象权限为例,具体操作步骤如下。 创建角色role1。 CREATE ROLE role1 IDENTIFIED BY "abc@1234"; 为角色role1添加对表films的查询权限。 GRANT SELECT ON TABLE films TO role1; 创建对象操作员user_read加入角色role1中。 CREATE USER user_read IN ROLE role1 PASSWORD "123@abcd"; |