DB2 - 角色
简介
角色是一个数据库对象,它对多个权限进行分组,可以使用 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>
示例:[向角色"sales"添加管理表"shope.books"的权限]
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.
角色层次结构
为了创建角色的层次结构,每个角色都被授予另一个角色的权限/成员资格。
语法: [在此语法之前创建一个名称为"Production"的新角色]
db2 grant role <roll_name> to role <role_name>
示例:[将角色"sales"的权限提供给另一个角色"production"]
db2 grant sales to role production