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