我是靠谱客的博主 顺心高跟鞋,最近开发中收集的这篇文章主要介绍DB2(三)——权限(authentication),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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

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

    • DBADM
    • SECADM
    • LOAD

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

db2 get authorizations     ---9.7

[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参数控制。

[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分配给一个组:

db2 update dbm cfg using SYSCTRL_GROUP group_name

授予/撤销数据库级权限

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

获得dbadm权限

db2 grant dbadm on database to group db2groupq

获得LOAD权限

db2 grant load on database to user xinzhuang
db2 grant insert on table sales to user xinzha

最后

以上就是顺心高跟鞋为你收集整理的DB2(三)——权限(authentication)的全部内容,希望文章能够帮你解决DB2(三)——权限(authentication)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部