华为云云数据库GaussDB权限设计规范_云淘科技
业务使用前必须由root用户为业务创建DATABASE、SCHEMA和USER,然后再赋予相关用户对应对象的权限。
如果该用户不是该schema的owner,要访问schema下的对象,需要同时给用户赋予schema的usage权限和对象的相应权限。
DATABASE、SCHEMA和USER名使用小写。
由于数据库默认会把对象名称转为小写,连接串里面如果出现大写的对象名无法连接到数据库。如create user MyUser;创建的用户,无法使用user=MyUser连接到数据库,需要用user=myuser才能连接到数据库。为了避免混淆,一律使用小写。
合理对角色和用户赋权,应使用最小化权限原则。
对象 |
权限 |
说明 |
---|---|---|
数据库 DATABASE |
CONNECT |
允许用户连接到指定的数据库 |
TEMP |
– |
|
CREATE |
允许在数据库里创建新的模式 |
|
模式 SCHEMA |
CREATE |
允许在模式中创建新的对象 |
USAGE |
允许访问包含在指定模式中的对象,若没有该权限,则只能看到这些对象的名字。 |
|
函数 FUNCTION |
EXECUTE |
允许使用指定的函数,以及利用这些函数实现的操作符 |
表空间 TABLESPACE |
CREATE |
允许在表空间中创建表,允许在创建数据库和模式的时候把该表空间指定为缺省表空间。 |
表 TABLE |
INSERT,DELETE UPDATE,SELECT |
允许用户对指定表进行增删改查操作 |
TRUNCATE |
允许执行TRUNCATE语句删除指定表中的所有记录。 |
|
REFERENCES |
创建一个外键约束,必须拥有参考表和被参考表的REFERENCES权限 |
通过角色而不是用户来管理权限。
使用角色管理权限,即在角色中配置权限,再将角色赋予用户。
通过角色管理权限,更便于多用户、用户变更等场景下的权限管理。例如:
角色和用户为多对多关系,一个角色可以赋予多个用户,修改角色中的权限,被赋予角色的用户权限就可以同时更新。
删除用户时,不会影响到角色。
新建用户后可以通过赋予角色快速获取所需权限。
在删除指定数据库时,应回收用户对该数据库的CONNECT权限,避免删除时仍然存在活跃的数据库连接而失败。
父主题: 数据库设计规范
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家