在這一篇,我們會談到有關oracle的使用者授權與角色管理。
在oracle,我們除了能授權使用者登入、新增、刪除、修改的權限,也能依據不同的使用者,設定可以看見的資料庫物件。
下列為oracle權限設定相關名詞說明:
1.權限(privileges)的設定可以可控制使用者所能執行的操作;
2.角色(role)是一群相似權限設定所組成的設定,可以給一群使用者(或其他的角色)一樣的權限。
3.概況(profiles)記錄資料與資源使用的限制。
4.配額(quota)記錄使用者可以控制的資源,記錄被給予的tablesepace,
使用者帳號(user account):
是記錄能夠存取資料庫的使用者的重要資訊,包含下列資訊:
一、唯一性
二、授權方法(如密碼登入、生物、憑證..等)
三、預設的表格空間(記錄使用者物件相關資訊)
四、能使用的佔存空間
五、使用者基本資料
六、所屬於的使用者群組
七、鎖定狀態
SYS與SYSTEM說明:
SYS:
1.擁有所有管理者操作的權限(SYSDBA)
2.用來啟動或關閉資料庫,擁有維護權限。
3.傭有data dictionary與automatic workload repository(AWR)
SYSTEM:
1.被授予預設DBA ROLE
2.沒有SYSDBA的權限
這些屬於DAB的帳號,不能被移除,
DBA帳號不是用來進行一般存取資料庫或操作物件所使用,而是用來維護與管理資料庫的時候才使用。所以對於一般使用者,我們應該給予其他角色或帳號。
下列我們示範如何建立使用者:
1.開啟Enterprise Manager,點選伺服器
2.點選使用者,進入使用者管理畫面。我們可以點選右邊建立按鈕來建立一個新使用者。
4.進入一般畫面,輸入名稱、認證方式、密碼與確認密碼;
下方可以設定預設資料表空間與贊存資料表空間;最下方我們選取解除鎖定,等等才能測試登入。
5.我們點選角色,目前看到預設connect的角色;我們能點右邊編輯清單設定角色。
6.角色選取頁面,我們可以選曲我們要的角色。
7.在系統權限頁面,我們可以看到預設沒有任何項目。我們可以點選右邊編輯清單選取權限
8.在選取系統權限,可以看到權限分類相當的細,CRUD各個資料物件(table, index,cluster...等)。
但這邊屬於系統權限,一般來說開給一般使用者存取資料庫不需要設定系統權限,而是設定使用者需要的資料表或資料庫物件。
9.在物件權限內,域設也是沒有任和權限;我們點選右邊物件類型的下拉選單,點選新增。
我們點選表格後,點選新增。
10.進入編輯畫面,上方可以選擇表格,下方可以選擇需要的操作(inset,update...等)。
11.點選選取表格物件後,會出現另一個視窗,可以依據綱要搜尋資料表,一一選取開放的資料表給使用者。
我們選取幾個資料表完成設定。
12.選擇配額,我們可以看到目前該使用者物件tablespace使用狀況
13.選擇用戶群組權限,預設也是沒有任何群組。我可以點選右邊編輯清單進行編輯。
14.在修改用戶群組,我們可以選曲我們需要的用戶群組。
15.最後點選代理主機使用者,預設也是沒有項目,我們可以點選右邊新增代理主機使用者。
16.完成所有設定後,我們點選右邊確定後即建立一個新的帳號。
畫面上方提示使用者已經順利建立物件。
接著我們可以使用SQL Developer進行測試:
1.輸入帳號密碼登入,可以登入。
2.測試一下我們剛剛開的select權限...完成
--
今天終於有睡飽了 >_________<