华为云云数据库GaussDB权限设计规范_云淘科技

业务使用前必须由root用户为业务创建DATABASE、SCHEMA和USER,然后再赋予相关用户对应对象的权限。

如果该用户不是该schema的owner,要访问schema下的对象,需要同时给用户赋予schema的usage权限和对象的相应权限。

DATABASE、SCHEMA和USER名使用小写。

由于数据库默认会把对象名称转为小写,连接串里面如果出现大写的对象名无法连接到数据库。如create user MyUser;创建的用户,无法使用user=MyUser连接到数据库,需要用user=myuser才能连接到数据库。为了避免混淆,一律使用小写。

合理对角色和用户赋权,应使用最小化权限原则。

表1 数据库对象权限及说明

对象

权限

说明

数据库

DATABASE

CONNECT

允许用户连接到指定的数据库

TEMP

CREATE

允许在数据库里创建新的模式

模式

SCHEMA

CREATE

允许在模式中创建新的对象

USAGE

允许访问包含在指定模式中的对象,若没有该权限,则只能看到这些对象的名字。

函数

FUNCTION

EXECUTE

允许使用指定的函数,以及利用这些函数实现的操作符

表空间

TABLESPACE

CREATE

允许在表空间中创建表,允许在创建数据库和模式的时候把该表空间指定为缺省表空间。

TABLE

INSERT,DELETE UPDATE,SELECT

允许用户对指定表进行增删改查操作

TRUNCATE

允许执行TRUNCATE语句删除指定表中的所有记录。

REFERENCES

创建一个外键约束,必须拥有参考表和被参考表的REFERENCES权限

通过角色而不是用户来管理权限。

使用角色管理权限,即在角色中配置权限,再将角色赋予用户。

通过角色管理权限,更便于多用户、用户变更等场景下的权限管理。例如:

角色和用户为多对多关系,一个角色可以赋予多个用户,修改角色中的权限,被赋予角色的用户权限就可以同时更新。
删除用户时,不会影响到角色。
新建用户后可以通过赋予角色快速获取所需权限。

在删除指定数据库时,应回收用户对该数据库的CONNECT权限,避免删除时仍然存在活跃的数据库连接而失败。

父主题: 数据库设计规范

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家