更新时间:2026-07-03 GMT+08:00
分享

权限介绍

权限表示用户访问某个数据库对象(包括表、视图、函数、模型等)的操作(包括增、删、改、查、创建等)是否被允许。

Aura的权限管理分为两种场景:

  • 数据对象权限

    将数据库对象(表和视图、指定字段、数据库、函数、模式等)的相关权限授予特定角色或用户。GRANT命令将数据库对象的特定权限授予一个或多个角色。这些权限会追加到已有的权限上。

  • 用户权限

    将一个角色的权限授予一个或多个其他用户。在这种情况下,每个角色或用户都可视为拥有一个或多个数据库权限的集合。

原理介绍

Aura通过Database、Schema和数据对象权限实现层级权限管理。

  • Database之间无法直接互访,通过连接隔离实现彻底的权限隔离。各个Database之间无共享资源,可实现连接隔离、权限隔离等。用户和角色在整个服务范围内是共享的,但是各Database间的数据并不共享。即用户可以连接任何数据库,但当连接成功后,任何用户都只能访问连接请求里所声明的数据库。
  • Schema隔离的方式共用资源较多,可以通过GRANT与REVOKE语法便捷地控制不同用户对各Schema及其下属对象的权限,从而赋给业务更多的灵活性。每个数据库包括一个或多个Schema。每个Schema包含表、函数等其他类型的对象。用户要访问包含在指定Schema中的对象,需要被独立授权。
  • 对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和删除对象。其他用户要访问具体的数据库对象,例如table1,需要被授予table1的SELECT权限。
图1 权限原理

相关文档