數據庫操作時通常都使用實例管理員帳戶(SYSADM)來執行所有數據庫命令,然而從安全的角度考慮則需要創建不同的用戶和/或組,並授予有限的權限集。在本次實驗中,我們將創建一個新的用戶帳戶,然後為它分配特定的特權。
目標
到目前為止,一直使用實例管理員帳戶(SYSADM)來執行所有數據庫命令。這個帳戶對所有實用程序、數據和數據庫對象具有完全訪問權。因此,為了避免無意或有意的數據損失,必須要保護這個帳戶。在大多數情況下,需要創建不同的用戶和/或組,並授予有限的權限集。在本次實驗中,將創建一個新的用戶帳戶,然後為它分配特定的特權。
步驟
1.通過控制面板打開“管理”菜單項,打開“計算機管理”控制台。
2.在窗口左邊的面板中,展開“系統工具”,然後展開“本地用戶和組”文件夾。右擊 “用戶”文件夾並選擇“新建用戶”菜單項。
圖 1. 打開計算機管理中用戶管理
3.在“用戶”對話框中,輸入以下信息(另外參見下圖)。在“用戶名”框中,輸入 customer。在“全名”框中,輸入 Customer1。在“描述”框中,輸入 A typical bookstore customer。在 “密碼” 和 “確認密碼” 框中,輸入 ibmdb2admin。取消 “用戶下次登錄時須修改密碼”選項。最後,單擊“創建”按鈕創建新用戶。
圖 2. 創建一個新用戶
4.確保使用 Control Center (控制中心) 的高級視圖。切換到高級視圖的方法是,從 Control Center (控制中心) Tools 菜單中選擇 Customize Control Center (控制中心) 菜單項,選擇 Advanced (高級) 選項並單擊“確定”按鈕。
圖 3. 打開控制中心高級視圖
5.在 Control Center (控制中心) 左邊面板中的對象樹中,依次展開所有數據庫> EXPRESS > Tables。
6.將所需的特權授予剛才創建的用戶。在 EXPRESS 數據庫的表列表中,右鍵單擊 CUSTOMERS 表並選擇 “特權” 菜單項,這時會顯示 “表特權” 對話框。
圖4. 打開特權菜單項
7.單擊“添加用戶”按鈕並選擇剛才創建的 customer 用戶。單擊 “確定”按鈕關閉 “添加用戶” 對話框。
圖5. 給表添加用戶
8.您會注意到,customer 用戶已經添加到用戶列表中了,但是還沒有分配特權。為了授予這個用戶 SELECT、INSERT、UPDATE 和 DELETE 特權,將所有下拉框改為 Yes。因特網客戶應該能夠查看/添加/更新/刪除他們的帳戶數據。我們不授予這個用戶其他權限,因為他們不需要那些權限。單擊 “確定” 按鈕關閉 “表特權” 對話框並接受所做的修改。
圖6. 授予用戶權限
9.對於 BOOKS 和 SALES 表重復第 6-8 步。對於 BOOKS 表,只授予 SELECT 特權,因為不應該允許客戶修改商店的庫存數據。對於 SALES 表,只授予 SELECT 和 INSERT 特權。客戶不應該有 DELETE 或 UPDATE 特權,因為只有商店職員應該有權修改銷售數據。
10.使用上面創建的用戶 ID 連接數據庫。嘗試從 CUSTOMERS 表中選擇數據,會發生什麼情況?嘗試刪除或更新 SALES 表中的數據,會發生什麼情況?
在本次實驗中,我們只創建了一個用戶;但是,實際的應用程序可能包含許多不同類型的用戶。請您自己試著創建其他用戶並授予他們特權。還可以創建用戶組並向組授予特權,這樣就不必向每個用戶分別授予特權。