创建用户
使用CREATE USER语句创建用户,用户帐户可以具有默认角色和表空间限制等限制。本节内容包括:
创建用户的权限
被授予CREATEROLE系统权限的用户可以创建用户。
新用户的默认权限
创建新用户帐户时,默认此用户有连接(LOGIN)数据库的权限。
用户名的限制
创建指定用户名的用户时,请注意命名名称是否唯一等限制,而且用户名的长度不可以大于63字节。
用户密码
使用PASSWORD关键字为用户设置密码。
用户的默认角色
用户建立连接后即具有默认角色的所有权限。
创建用户的权限
已被授予CREATE ROLE 的系统权限的用户可以创建用户帐户。如果要创建自己有权创建用户的用户,需要授予CREATEROLE权限,例如:
ALTER USER test CREATEROLE;
CREATEROLE是一种特殊系统权限,不允许转授。通常只有数据库管理员或安全管理员具有此系统特权。
新用户的默认权限
创建新的用户帐户时,应允许此用户访问数据库。
使用 CREATE USER 语句创建新的用户帐户。例如:
```bash
CREATE USER test WITH PASSWORD '123456';
新建用户默认有LOGIN权限,也可以使用sql授予用户连接权限,例如:
```bash
ALTER USER test LOGIN;
用户名的限制
为用户帐户指定名称时,需要注意一些限制。
用户名的唯一性
每个数据库中的用户名都是唯一的,不能创建同名的用户账号。在创建用户前,您可以通过系统视图 sys_user 查询当前数据库已存在的用户账号。
用户名的大小写
KingbaseES数据库不区分用户名大小写,默认用户名称都会转成小写。
用户密码
KingbaseES使用PASSWORD关键字为用户账户设置密码,密码使用单引号括起来。例如:
CREATE USER test WITH PASSWORD '123456';
用户的默认角色
用户建立连接后即具有默认角色的所有权限,新建用户没有设置默认角色时,其默认角色为空。用户可通过 SET ROLE 语句改变当前生效的角色,通过 ALTER ROLE 语句修改用户的默认角色。
修改用户
ALTER USER语句可以修改用户帐户,本节内容包括:
关于修改用户
修改管理员和普通用户的密码
修改sso和sao用户的密码
关于修改用户
在大多数情况下,您可以使用 SQL 语句修改用户,例如,用户可以修改自己的密码。修改用户访问控制一般影响的是新建会话,而不会影响当前会话。例如,将test用户的连接数限制设置成1000:
ALTER USER test CONNECTION LIMIT 1000;
修改管理员和普通用户的密码
一般情况下,系统管理员可以修改所有普通用户密码。普通用户可以修改自己的密码,但不能修改其他用户的密码,除非有CREATEROLE权限。使用ALTER USER PASSWORD语句修改密码,例如:
–授予权限
ALTER USER test CREATEROLE;
–修改管理员密码
ALTER USER system PASSWORD 'system12345';
–修改普通用户密码
ALTER USER test PASSWORD '123';
当数据库开启三权分立状态后, sso_update_user_enable 参数处于打开状态时,只有sso 和普通用户本身可以更改普通用户的密码。系统管理员只能修改超级用户,或超级用户权限选项。
修改sso和sao用户的密码
安全管理员(sso)和审计管理员(sao)的用户密码只能由自己修改。