角色是一个数据库对象,组织可以通过使用 GRANT 语句分配给用户,组,PUBLIC或其他角色多重权限。
对角色的限制
- 角色不能拥有数据库对象。
- 授予权限和角色到组在创建以下数据库对象不会考虑。
- 软件包包含静态SQL
- 视图
- 物化查询表(MQT)
- 触发器
- SQL例程
创建并授予成员角色
语法:[创建一个新的角色]
db2 create role <role_name>
例如:[创建一个名为’sales’增加了一些新表的作用,通过某个用户或组来管理]
db2 create role sales
输出:
DB20000I The SQL command completed successfully.
从授予DBADM作用于特定的表
语法:[授予的角色权限表]
db2 grant select on table <table_name> to role <role_name>
例如:[添加的权限来管理表“shope.books”以角色’sales’]
db2 grant select on table shope.books to role sales
输出:
DB20000I The SQL command completed successfully.
安全管理员授予角色所要求的用户。 (在使用此命令时,需要创建用户。)
语法:[将用户添加到角色]
db2 grant role <role_name> to user <username>
例如:[添加用户“mastanvali’一个角色’sales’]
db2 grant sales to user mastanvali
输出:
DB20000I The SQL command completed successfully.
角色层次
创建层次结构的角色,每个角色被授予的权限/籍着另一个角色。
语法:[ 语法之前创建一个“生产”的名字一个新的角色 ]
db2 grant role <roll_name> to role <role_name>
例如:[ 提供一个角色“sales”,以另一个角色“production”权限 ]
db2 grant sales to role production