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> 
    
    例子:[将管理表'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. 
    
  • 角色层次结构

    为了为角色创建层次结构,每个角色都被授予另一个角色的权限/成员资格。
    语法:[在此语法之前创建一个名为“production”的新角色]
    
    db2 grant role <roll_name> to role <role_name>
    
    例子:[将角色“销售”的权限提供给另一个角色“生产”]
    
    db2 grant sales to role production