我是靠谱客的博主 顺心高跟鞋,这篇文章主要介绍DB2(三)——权限(authentication),现在分享给大家,希望可以做个参考。

  DB2定义了一个权限层次结构,用于将一组预先确定的管理权限授予用户账号组(group)。这些管理权限包括能够对数据库进行备份、更改配置参数、查看表数据等等。权限级别控制执行数据库管理器维护操作和管理数据库对象的能力。
  DB2授权控制数据库安全策略的以下方面:

  • 用户被授予的权限级别
  • 允许用户运行的命令
  • 允许用户读取或修改的数据
  • 允许用户创建、修改和删除的数据库对象
      DB2中共包括两类权限:实例级和数据库级权限。
  • 实例级权限

    • SYSADM 系统管理员
    • SYSCTRL 系统控制
    • SYSMAINT 系统维护
    • SYSMON 系统监视
      这些权限只能分配给组
  • 数据库级权限

    • DBADM
    • SECADM
    • LOAD

用户可以通过以下命令来判断自己拥有哪些权限和数据库级特权

复制代码
1
2
db2 get authorizations ---9.7
复制代码
1
2
[db2inst1@db22 adm]$ db2 "SELECT substr(AUTHORITY,1,30) as AUTHORITY, D_USER, D_GROUP, D_PUBLIC, ROLE_USER, ROLE_GROUP, ROLE_PUBLIC, D_ROLE FROM TABLE (SYSPROC.AUTH_LIST_AUTHORITIES_FOR_AUTHID ('DB2INST1', 'U') ) AS T ORDER BY AUTHORITY"

结果如图:

AUTHORITYD_USERD_GROUPD_PUBLICROLE_USERROLE_GROUPROLE_PUBLICD_ROLE
ACCESSCTRLYNNNNN*
BINDADD (允许用户在数据库中创建新的包)NNYNNN*
CONNECT (允许用户连接数据库)NNYNNN*
CREATETAB (允许创建表)NNYNNN*
CREATE_EXTERNAL_ROUTINE (允许用户注册外部例程-用C或java写的例程)NNNNNN*
CREATE_NOT_FENCED_ROUTINENNNNNN*
CREATE_SECURE_OBJECTNNNNNN*
DATAACCESSYNNNNN*
DBADMYNNNNN*
EXPLAINNNNNNN*
IMPLICIT_SCHEMA 允许用户在尙不存在的模式中创建对象(自动创建模式)NNYNNN*
LOADNNNNNN*
QUIESCE_CONNECT(允许用户连接处于quiesced状态的数据库)NNNNNN*
SECADMYNNNNN*
SQLADMNNNNNN*
SYSADM*Y*****
SYSCTRL*N*****
SYSMAINT*N*****
SYSMON*N*****
WLMADMNNNNNN*

可以看到db2inst1用户所在的组是有SYSADM权限的

授予/撤销实例级权限

获得SYSADM权限

  DB2中的SYSADM权限就像是unix上的root权限。SYSADM用户能够对其他用户授予或撤销特权或权限。只允许SYSADM 用户更新DBM CFG文件。SYSADM 权限由DBM CFG中的SYSADM GROUP参数控制。

复制代码
1
2
[db2inst1@db22 ~]$ db2 get dbm cfg | grep -i sysadm SYSADM group name (SYSADM_GROUP) = DB2IADM1

获取SYSCTRL权限

  SYSCTRL用户可以对实例中的任何数据库执行的命令示例如下所示:

  • db2start/db2stop
  • db2 create/drop databse
  • db2 create/drop tablespace
  • db2 backup/restore/rollforward database
  • db2 runstats (针对任何表)
  • db2 update db cfg for database dbname

  拥有SYSADM权限的用户使用以下命令将SYSCTRL分配给一个组:

复制代码
1
db2 update dbm cfg using SYSCTRL_GROUP group_name

授予/撤销数据库级权限

  数据库级权限包括DBADM、CONNECT、CREATETAB 、SECADM和LOAD。

获得dbadm权限

复制代码
1
db2 grant dbadm on database to group db2groupq

获得LOAD权限

复制代码
1
2
db2 grant load on database to user xinzhuang db2 grant insert on table sales to user xinzha

最后

以上就是顺心高跟鞋最近收集整理的关于DB2(三)——权限(authentication)的全部内容,更多相关DB2(三)——权限(authentication)内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部