Firebird数据库
Firebird数据库语言参考-角色
2016-07-06 13:56:37

 

一个角色是一个数据库对象,打包了一组SQL特权的集合.角色实现了在组级存取控制的概念.多种特权被授予给了角色,然后角色可以授予给一个或多个用户,或撤消。

 

用户授予一个角色,必须提供这个角色在他的登录凭证中,以便使用相关的特权。被授予该用户的任何其他权限不受登录角色的影响。一个用户不支持同时用多个角色登录。

 

在这一部份创建和删除角色的任务被讨论。

 

创建角色REATE ROLE
作用: 创建一个新的角色对象
用于: DSQL, ESQL
语法:

 

 

表 5.45. CREATE ROLE语句参数

CREATE ROLE语句创建一个新的角色对象,而随后可以授予一个或多个特权。
角色的名称必须是唯一的在当前数据库角色名称中。

 


 

任何连接到数据库的用户都能创建角色。用户创建的角色用户本身为角色的所有者.

 

例如:创建一个名为SELLERS的角色:

 

参阅: DROP ROLE, GRANT, REVOKE

 

修改角色ALTER ROLE

 

ALTER ROLE在数据对象规范create-alter-drop中没有位置,因为角色没有属性能被修改.它的实际效果是改变的一个性数据库属:Firebird用它来为Windows管理员登录时自动假设管理员特权启用和禁用的能力,。

这个过程能影响的只有一个角色:系统生成的角色RDB$ADMIN存在于每个ODS版本为 11.2 或更高版本的数据库中。有几个因素涉及到启用这一功能。
 

详细参阅安全章节中的AUTO ADMIN MAPPING .

 

删除角色DROP ROLE

 

作用: 删除一个角色
用于: DSQL, ESQL
语法:

 

 

语句DROP ROLE删除一个存在的角色,它只带有单个参数,角色的名称。一旦角色被删除,被授予角色的所有用户和对象整套的特权被吊销

 

由其所有者或管理员,可以删除角色

 

例如:删除一个名为SELLERS的角色:

 

参阅: CREATE ROLE, GRANT, REVOKE