更新时间:2024-09-13 GMT+08:00
分享

数据库访问实现权限分层

GaussDB(DWS)中可以使用Database和Schema实现业务的隔离,区别在于:

  • Database之间无法直接互访,通过连接隔离实现彻底的权限隔离。各个Database之间共享资源极少,可实现连接隔离、权限隔离等。
  • Schema隔离的方式共用资源较多,可以通过GRANT与REVOKE语法便捷地控制不同用户对各Schema及其下属对象的权限,从而赋给业务更多的灵活性。

从便捷性和资源共享效率上考虑,推荐使用Schema进行业务隔离。建议系统管理员创建Schema和Database,再赋予相关用户对应的权限。

  1. 每个数据库包括一个或多个Schema。每个Schema包含表、视图、函数等其他类型的对象。
  2. 用户要访问底层的对象,必须先赋予上层对象的权限。
  3. 用户要创建或者删除Schema,需要首先被授予Database的CREATE权限。
  4. 用户要访问包含在Schema中的table1,需要首先被授予Database的CONNECT权限,再被授予Schema的USAGE权限,最后授予table1的SELECT权限。

了解更多请参见GaussDB(DWS)如何实现业务隔离

图1 权限分层

相关文档