Db2 简明教程

DB2 - Roles

Introduction

角色是一个可以分配给用户、组、PUBLIC 或其他角色的多个权限的数据库对象,这通过使用 GRANT 语句来实现。

Restrictions on roles

  1. 角色无法拥有数据库对象。

  2. 在创建以下数据库对象时,不会考虑授予组的权限和角色。包含静态 SQL 的包视图物化查询表 (MQT) 触发器 SQL 例程

Creating and granting membership in roles

Syntax: [创建新角色]

db2 create role <role_name>

Example : [创建名为“sales”的新角色以添加某些表,这些表将由某些用户或组管理]

db2 create role sales

Output:

DB20000I The SQL command completed successfully.

Granting role from DBADM to a particular table

Syntax: [向表授予角色的权限]

db2 grant select on table <table_name> to role <role_name>

Example : [向角色“sales”添加管理表“shope.books”的权限]

db2 grant select on table shope.books to role sales

Output:

DB20000I  The SQL command completed successfully.

安全管理员向必需用户授予角色。(在你使用此命令之前,你需要创建用户。)

Syntax: [向角色添加用户]

db2 grant role <role_name> to user <username>

Example : [向角色“sales”添加用户“mastanvali”]

db2 grant sales to user mastanvali

Output:

DB20000I  The SQL command completed successfully.

Role hierarchies

要为角色创建层级结构,需要向每个角色授予权限/成员资格,以便与另一个角色关联。

Syntax: [在此语法之前,创建一个名为“production”的新角色]

db2 grant role <roll_name> to role <role_name>

Example : [向另一个角色“production”提供角色“sales”的权限]

db2 grant sales to role production