2008-11-06 142 views
3

在IBM DB2 v.9窗口上,當有人通過Server \ Administrator用戶 連接到數據庫時,DB2數據庫將自動接受並授予此用戶的所有權限? 但是,在某些情況下,服務器的環境管理員不需要查看數據庫中的每個數據。那麼如何防止管理員使用連接數據庫?如何從DB2撤銷​​Windows管理員用戶的權限?

回答

0

默認情況下,創建DB2數據庫時授予公共的CONNECT權限。如果你想從連接限制某些用戶,你需要做的

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

然後從PUBLIC

REVOKE CONNECT ON DATABASE FROM PUBLIC 
0

烏姆撤銷連接權限......很多次我嘗試用這個命令撤銷,但當我通過管理員帳戶連接到數據庫時,DB2將自動授予管理員權限。

我會再次嘗試確認。

0

因爲Administrator在sysadm組中,所以在正常情況下我不認爲這是可能的。

選項我能想到的(但沒試過)包括:

  • 的SYSADM組設置爲別的東西( 「使用SYSADM_GROUP嗒嗒DB2更新DBM CFG」)。這樣做時請檢查文檔中的警告和陷阱,因爲我確定有一些。
  • 停止使用操作系統認證。使用不同的安全插件(僅限8.2和更高版本)。這會將身份驗證以及羣組移動到新位置(如LDAP服務器)。然後,您不要將管理員添加到新位置,特別是不要再將管理員添加到sysadm組。
1

在9.5及以上,因爲您的實例運行所使用的帳戶是SYSADM這是不可能的。此外,管理員可以重置至少本地帳戶密碼並訪問它們,使實例所有者帳戶變爲無用。

但是,在9.7及更高版本中,實例所有者將無法再訪問數據。一種選擇是升級到9.7。此外,您可以爲應用程序使用的連接設置一個AD帳戶。本地管理員不一定能夠更改爲這些憑據。

不過,管理員最終可以訪問(通常是未加密的)數據庫文件。你大多可以改進安全性的管理方面。

0

在Windows上,數據庫管理器配置參數SYSADM_GROUP控制在實例級別具有SYSADM權限的人員。當SYSADM_GROUP爲空(因爲是Windows上的默認值),那麼DB2默認使用本地機器上的管理員組。

要解決此問題,您可以在Windows中創建一個新組,然後修改SYSADM_GROUP的值以使用此新組。確保DB2服務所運行的標識屬於這個新組。進行此更改後,Administrators組的成員將不再具有SYSADM權限。

正如Kevin Beck所述,您也可能想要考慮限制數據庫的CONNECT權限,因爲默認情況下CONNECT權限授予PUBLIC。