簡介
Technology Explorer for IBM DB2 (TE) 是針對 DB2 for Linux®, UNIX®, and Windows® 的一個開源、輕量級、基於 Web 的控制台,在一個圖形界面中提供了許多 DB2 特性。本文將向您介紹如何在 Technology Explorer 中使用 db2auth 安全插件來控制 DB2 的用戶和組身份驗證。本文還將討論如何在 TE 中實現對 db2auth 插件的支持。
了解 db2auth
db2auth 插件的優勢和注意事項如下:
db2auth 使用 DB2 數據來存儲身份驗證信息,而不借助外部身份驗證存儲庫,比如操作系統或 Kerberos。對於大多數用戶而言,這意味著不需要創建新的操作系統用戶帳戶。默認的 DB2 for Linux, UNIX, and Windows 程序包會將身份驗證與授權分開,這通常借助以下外部身份驗證機制得以實現:
操作系統
輕量級目錄訪問協議(Lightweight Directory Access Protocol,LDAP)
Kerberos
db2auth 允許更加順利地從其他數據庫軟件(比如 MySQL,它也是將身份驗證信息存儲在數據庫中)遷移到 DB2。
db2auth 會限制 DB2 最初所提供的安全性。在安裝插件之前,需要考慮數據庫所需的安全級別,或者考慮是否應該只采用這種方式從其他數據庫軟件臨時遷移到 DB2。
對於使用 DB2 的外部應用程序(包括 TE),此插件允許直接控制用戶和組身份驗證。這有助於實現用於控制用戶和組身份驗證信息的模塊。
維持用戶和組將更加輕松,因為一切都可以使用 SQL 在 DB2 中進行控制(借助插件所創建的存儲過程)。
預封裝應用程序中所使用的用戶和組信息可以與應用程序數據一同分布在 DB2 數據庫中。將身份驗證和成員信息存儲在表中更便於管理員查看它們。
db2auth 插件的工作原理
db2auth 插件將所有用戶、密碼和組信息都存儲在數據庫中。在初始設置時,它會創建一個 DB2AUTH 模式,以及三個表:USERS、GROUPS 和 GROUP_MEMBERSHIP。
TUSERS 表存儲用戶 ID(唯一的名稱)、密碼、(MD5 散列值)、密碼過期日期、帳戶是否已被鎖定以及失敗登錄次數。
GROUPS 表存儲組 ID(唯一的名稱)。
GROUP_MEMBERSHIP 表存儲組 ID 和用戶 ID,它們表示用戶在組中的成員。
該插件還將創建存儲過程,用於添加、刪除和修改用戶、組以及組成員信息。
db2auth 為何不是標准的 DB2 身份驗證選項
易用性與安全性總是存在某種權衡關系。解除身份驗證與授權之間的隔閡的後果是安全性更低。用戶帳戶和密碼(散列值)將直接存儲在數據庫中。以下信息將存儲在 db2auth_key.txt 平面文件中:
存儲 DB2AUTH 模式及其三個表的數據庫的名稱
SYSADM_GROUP 配置參數所指向的組名稱
管理員的用戶名
對遠程數據庫使用 db2auth 插件時,管理員的密碼(非散列值)
db2auth 插件的文檔將闡述如何隱藏和加密文件,這提供相對有限的安全性
理解 TE 對 db2auth 的支持
db2auth 插件允許使用命令行接口來控制身份驗證信息。TE 支持提供了一個易於使用的圖形用戶界面。只需要少許單擊操作,管理員便可以創建和刪除用戶和組、修改組成員以及更改用戶密碼。該模塊還提供了包含用戶、組和成員信息的三個表的圖形表示。
模塊的需求
必須正確安裝和運行 db2auth 插件。所有安裝和設置步驟都包含在 db2auth 的 readme 文檔中。
如何在 TE 中設置插件
在 TE 中,使用管理員身份連接到授權數據庫(詳見 db2auth_key.txt)。
進入 Tools 菜單,並從下拉菜單中選擇 Db2auth Plugin Control。模塊首先將通過運行以下查詢來檢查系統中是否已經安裝了 db2auth 插件: SELECT COUNT(*) FROM SYSIBMADM.DBMCFG WHERE GROUP_PLUGIN = DB2AUTH。然後,模塊檢查是否存在 DB2AUTH.USERS 表。如果 TE 未找到這兩者,則會提醒用戶,並且不會加載模塊。
加載模塊之後,您會看到頁面垂直分為兩個面板。您還會看到四個選項卡,其中分別包含不同的表。這些選項卡包括:
用戶:此選項卡顯示 DB2AUTH.USERS 表中除密碼之外的所有內容。其中包括添加用戶、刪除用戶以及更改用戶密碼的菜單選項。您將在各行中看到一個用於刪除該行用戶的圖標。還一個用於更改各用戶密碼的圖標。圖 1 顯示了用戶選項卡。
圖 1. 用戶選項卡
查看原圖(大圖)
組:此選項卡顯示 DB2AUTH.GROUPS 列中列出的所有組。其中包括用於添加和刪除組的菜單選項。每行都有一個用於刪除該行組的圖標。圖 2 顯示了組選項卡。
圖 2. 組選項卡
組成員:此選項卡顯示 DB2AUTH.USERS、DB2AUTH.GROUPS 和 DB2AUTH.GROUP_MEMBERSHIP 表生成的所有 “用戶-組” 映射。對於不屬性任何組的用戶,其組 ID 將顯示為 null。對於沒有任何用戶的組,該行的用戶 ID 將顯示為 null。其中包含用於添加用戶、添加組以及編輯成員的菜單選項。各行都有一個用於刪除該行所代表的成員的圖標。圖 3 顯示了組成員選項卡。
圖 3. 組成員選項卡
查看原圖(大圖)
Master View:與組成員選項卡相類似,這個選項卡顯示 DB2AUTH.USERS、DB2AUTH.GROUPS 和 DB2AUTH.GROUP_MEMBERSHIP 表生成的所有 “用戶-組” 映射。但是,在 Master View 選項卡中,管理員可以完成另外三個選項卡能完成的所有操作,包括添加用戶、刪除用戶、添加組、刪除組、編輯成員和更改密碼。圖 4 顯示了 Master VIEw 選項卡。
圖 4. Master VIEw 選項卡
查看原圖(大圖)
所有四個選項卡在用戶 ID 或組 ID 旁邊的各行都包含一個人像圖標。該圖標將從底部面板提取授權信息(如果該用戶 ID 和用戶 ID 存在於 SYSIBMADM.AUTHORIZATIONS 表的 AUTHID 字段中),這表示用戶或組已被賦予明確的權限。圖 5 顯示了底部面板。
圖 5. 底部面板
查看原圖(大圖)
結束語
本文描述使用 db2auth 插件的優點和缺點,以及如何設計和使用用於支持該插件的 TE 模塊。您還了解了 TE 提供的用戶界面,以及如何在該用戶界面中導航。