简化DB2 9.7的安全模型

来源:互联网 发布:淘宝优惠券怎么成代理 编辑:程序博客网 时间:2024/06/06 10:18

原文地址:http://lpetr.org/blog/archives/simplify-the-db2-9-7-security-model

开始学习DB2 9.7, 在此版本中,DB2的安全模型与以往不同。安全管理员(SECADM)已从数据库管理员(DBADM)中分离了出来,并且不再默认具有查看数据权限。这样的默认安全机制在实践中是非常好的,特别是部署数据库用于金融产业。但是,对于一个新手来说,这样的设置就显得麻烦了。
在WinXP中,默认以SYSTEM用户打开控制中心时会遇到这样的错误:

SQL0551N  "SYSTEM" does NOT have the required authorization OR privilege TO perform operation "SELECT" ON object "LEONSP.ACT".    SQLSTATE=42501

让我们通过赋予各种权限来补救这样的错误。
打开DB2命令行窗口。
用已经具有权限的用户连接数据库,比如我的是leonsp:

db2 connect TO samptest user leonsp USING password 

然后给SYSTEM赋予所有的权限:

db2 GRANT  DBADM, SECADM, CREATETAB, BINDADD, CONNECT, CREATE_NOT_FENCED_ROUTINE, IMPLICIT_SCHEMA, LOAD, CREATE_EXTERNAL_ROUTINE, QUIESCE_CONNECT ON DATABASE  TO USER system 

当你在你的Windows上安装DB2的时候有没有创建DB2ADMIN或者一些其他的ID?让我们同样赋予所有的权限:

db2 GRANT  DBADM, SECADM, CREATETAB, BINDADD, CONNECT, CREATE_NOT_FENCED_ROUTINE, IMPLICIT_SCHEMA, LOAD, CREATE_EXTERNAL_ROUTINE, QUIESCE_CONNECT ON DATABASE  TO USER db2admin

如此这般,你应该就不会再看到SELECT权限错误了。但是请注意,最好不要在生产环境中做这样的权限操作,因为这样做的话会导致安全性比默认的还低。

0 0
原创粉丝点击