角色简介
角色是拥有同类数据库权限的集合,在用户权限复杂但可进行归类的系统中,可采用角色的管理方式进行权限管理,这样同类权限的用户可通过授予角色的方式获取权限,避免多用户授权的繁复操作。
用户拥有的权限确定其能对数据库进行哪些操作,权限可分为库级权限、模式级权限、表级权限、列级权限。由于数据库中对象很多,为每个用户设置细致的权限控制项目会显得十分复杂,考虑到一个数据库中的各个用户对数据库的操作权限在大多数应用场景下是可分类的,即某些用户具有相同的权限集合,而另一些用户具有另一种相同的权限集合。因此,用户在数据库中拥有的权限大致可由其在实际工作中担任的角色来确定。
虚谷数据库设立角色机制是为了方便权限管理,在虚谷数据库中可创建多个角色,一个用户可以加入一个或多个角色,从而继承所加入的角色组的权限,用户最终拥有的权限是其拥有的权限以及加入到的一个或多个角色具有的权限的合成权限。继承权限是从父对象传播到子对象的权限。继承权限可以简化管理权限的任务,能够一次完成权限分配,使子对象拥有父对象的所有权限。比如在虚谷数据库中,需要对多个对象授予相同权限时,可以创建一个角色,对角色授予此权限,然后为角色指定成员用户。其中的角色就是父对象,所有在这个角色下的成员用户即为子对象。同样如需更改所有角色成员的权限,仅更改角色权限即可。如需要单独更改一个用户权限,将此用户从角色中移除,单独授权即可。角色删除后,原角色成员中用户拥有的权限被回收,仅拥有单独授予的权限或者归属于其他角色的权限。