DB2安全角色及权限明细

 

DB2授权控制数据库安全计划的以下方面:
● 用户被授予的权限级别
● 允许用户运行的命令
● 允许用户读取和/或修改的数据
● 允许用户创建、修改和/或删除的数据库对象


授权由特权组和高级数据库管理程序(实例级)维护和实用操作组成。在DB2可用的5种权限中,SYSADM、SYSCTRL和SYSMAINT 是实例级权限。这意味着它们的范围包含实例级命令以及针对这个实例中的所有数据库的命令。这些权限只能分配给组;可以通过DBM CFG文件分配这些权限。
针对特定数据库的DBADM 和LOAD 权限可以分配给用户或用户组。可以使用GRANT命令显式地分配这些权限。注意,任何提到组成员关系的地方都假设在操作系统级上已经定义了这些用户和组名。
[示例]-[取得权限列表]:
db2 get authorizations

 


获得SYSADM 权限
DB2 中的SYSADM 权限就像是UNIX 上的根权限或Windows 上的Administrator 权限。对一个DB2 实例拥有SYSADM 权限的用户能够对这个实例、这个实例中的任何数据库以及这些数据库中的任何对象发出任何DB2 命令。
他们还能够访问数据库中的数据以及对其他用户授予或撤消特权或权限。只允许SYSADM 用户更新DBM CFG 文件。
SYSADM 权限由DBM CFG 文件中的SYSADM_GROUP 参数控制。
[示例]-[向db2grp1 组授予SYSADM 权限]:
db2 update dbm cfg using SYSADM_GROUP db2grp1

 


获得SYSCTRL 权限
拥有SYSCTRL 权限的用户可以在实例中执行所有管理和维护命令。但是,与SYSADM 用户不同,他们不能访问数据库中的任何数据,除非他们被授予了访问数据所需的特权。SYSCTRL 用户可以对实例中的任何数据库执行的命令示例如下:
● db2start/db2stop
● db2 create/drop database
● db2 create/drop tablespace
● db2 backup/restore/rollforward database
● db2 runstats(针对任何表)
● db2 update db cfg for database dbname
[示例]-[拥有SYSADM 权限的用户可以使用以下命令将SYSCTRL 分配给一个组]:
db2 update dbm cfg using SYSCTRL_GROUP group name


 

获得SYSMAINT 权限
拥有SYSMAINT 权限的用户可以发出的命令是拥有SYSCTRL 权限的用户可以发出的命令的子集。SYSMAINT 用户只能执行与维护相关的任务。
拥有SYSMAINT 权限的用户不能创建或删除数据库或表空间。他们也不能访问数据库中的任何数据,除非他们被显式地授予访问数据所需的特权。
[示例]-[拥有SYSADM 权限的用户可以使用以下命令将SYSMAINT 权限分配给一个组]:
db2 update dbm cfg using SYSMAINT_GROUP group name


 

获得DBADM 权限
DBADM 权限是一个数据库级权限,而不是实例级权限。DBADM 用户对一个数据库有几乎完全的控制能力。DBADM 用户不能执行某些维护或管理任务,比如:
● drop database
● drop/create tablespace
● backup/restore database
● update db cfg for database db name
但是,他们可以执行以下任务:
● db2 create/drop table
● db2 grant/revoke(任何特权)
● db2 runstats(任何表)
DBADM 用户还被自动地授予对数据库对象及其内容的所有特权。


 

获得LOAD 权限
LOAD 权限是一个数据库级权限,所以它可以被分配给用户和用户组。顾名思义,LOAD 权限允许用户对表发出LOAD 命令。当用大量数据填充表时,LOAD 命令通常用来替代插入或导入命令,它的速度更快。根据您希望执行的LOAD 操作类型,仅仅拥有LOAD 权限可能还不够。可能还需要表上的特定特权。

 

 

你可能感兴趣的:(DB2安全角色及权限明细)