如何从DB2撤消Windows管理员用户的权限?

时间:2008-11-06 02:18:27

标签: db2

在IBM DB2 v.9窗口上,当有人通过Server \ Administrator用户连接到数据库时 DB2数据库会自动接受并授予该用户所有权限吗? 但是,在某些情况下,服务器的环境管理员不需要查看数据库中的每个数据。那么如何防止管理员使用连接到数据库?

5 个答案:

答案 0 :(得分:1)

在9.5及更早版本中,这是不可能的,因为运行实例的帐户是SYSADM。管理员还可以重置至少本地帐户密码并获取对它们的访问权限,从而使实例所有者帐户无法更改。

但是在9.7及更高版本中,实例所有者将无法再访问数据。一种选择是升级到9.7。此外,您可以为应用程序使用的连接设置AD帐户。本地管理员无法更改为这些凭据。

但是,管理员最终还是可以访问(通常是未加密的)数据库文件。您可以主要改进安全性的管理方面。

答案 1 :(得分:0)

默认情况下,DB2数据库是使用授予public的CONNECT权限创建的。如果要限制某些用户进行连接,则需要执行

GRANT CONNECT ON DATABASE TO <user1>, <user2>, ...

然后从PUBLIC

撤销CONNECT权限
REVOKE CONNECT ON DATABASE FROM PUBLIC

答案 2 :(得分:0)

嗯......很多时候我尝试使用此命令撤销,但是当我通过管理员帐户连接到数据库时,DB2将自动再次授予管理员权限。

我会再次尝试确保。

答案 3 :(得分:0)

我不认为在正常情况下这是可能的,因为管理员在sysadm组。

我能想到的选项(但尚未尝试过)包括:

  • 将sysadm组设置为其他组(“db2 update dbm cfg using sysadm_group blah”)。在这样做的时候检查文档是否有警告和陷阱,因为我确定有一些。
  • 停止使用OS身份验证。使用其他安全插件(仅限8.2及更高版本)。这会将身份验证以及群组移动到新位置(例如LDAP服务器)。然后,您只需将管理员添加到新位置,尤其是不要再次将管理员添加到sysadm组。

答案 4 :(得分:0)

在Windows上,数据库管理器配置参数SYSADM_GROUP控制在实例级别具有SYSADM权限的用户。当SYSADM_GROUP为空(在Windows上为默认值)时,DB2默认使用本地计算机上的Administrators组。

要解决此问题,您可以在Windows中创建新组,然后修改SYSADM_GROUP的值以使用此新组。确保运行DB2 Service的ID属于此新组。进行此更改后,Administrators组的成员将不再具有SYSADM权限。

正如Kevin Beck所说,你也可能想要考虑限制数据库的CONNECT权限,因为默认情况下,PUBLIC会授予CONNECT权限。

相关问题