银行

数据库的USERSPACE1表空间revoke 问题

将数据库的USERSPACE1给revoke1.以实例用户db2inst1连接数据库: db2 connect to dbname 2.查看权限 db2 "select * from sysibm.systbspaceauth where TBSPACE='USERSPACE1'"|moreGRANTOR  GRANTEE   GRANTEETYPE TBSPACEID   USEAUTH&nb...显示全部
将数据库的USERSPACE1给revoke
1.以实例用户db2inst1连接数据库: db2 connect to dbname

2.查看权限
db2 "select * from sysibm.systbspaceauth where TBSPACE='USERSPACE1'"|more


GRANTOR  GRANTEE   GRANTEETYPE TBSPACEID   USEAUTH    TBSPACE                                                                                                                  
SYSIBM     PUBLIC         G                    2                Y              USERSPACE1

db2 "revoke use of tablespace userspace1 from public"    --撤销         
---这样的话:db2inst1用户对这个表空间'USERSPACE1'也没有操作的权限了

想实现的需求是:除了db2inst1这个实例用户,其它用户都不能在这个表空间上建表收起
参与13

查看其它 10 个回答lauyatsao的回答

lauyatsaolauyatsao软件开发工程师江苏南京
DB2中不存在用户和用户组的管理,是由操作系统层面来管理的,DB2中的public组可以理解为虚拟的,公共的,以区别于操作系统中的实际的用户组;
DB2中存在三种形式的权限:管理权限、特权和 LBAC 凭证。
实例用户实际上位于管理权限中的sysadm,也是纳入实例参数sysadm_group的配置,这里缺省的就是实例用户所属的组;
数据库创建时缺省所赋的权限和特权(DB2 V9之后create db增加的restrictive参数)以及数据库对象创建时缺省的特权赋予。
实际上将public组在系统缺省的用户表空间userspace1上的use特权revoke掉之后基本可以保证普通用户无法在数据库中创建表,如果需要的话,可以考虑schema和tablespace级别的具体的特权的grant,即权限最小化的安全控制;
互联网服务 · 2012-11-14
浏览1182

回答者

lauyatsao
软件开发工程师江苏南京

lauyatsao 最近回答过的问题

回答状态

  • 发布时间:2012-11-14
  • 关注会员:2 人
  • 回答浏览:1182
  • X社区推广