昨天我們提的如何建立一個使用者,給予系統權限與資料庫物件權限。
今天這篇稍微說明使用GRANT、ROVAKE指令與ROLE的使用。
GRANT and ROVAKE:
我們能夠使用GRANT指令授予使用者權限,也能使用ROVAKE指令回收使用者的權限:
ADMIN OPTION能用來授予與回收系統權限,而GRANT OPTION授予資料庫物件權限。
兩者的差別在於,前者授予的權限,不會因為中間授予者被的權限被回收,而導致終端權限授予者權限被回收;
而後者會因為中權限授予者的權限被回收,而導致終端權限受權者權限被回收。
舉個例子:
系統管理者給user A CREATE TABLE的權限,userA又給user B CREATE table權限,
今天系統管理者把user A的權限回收後,不影響user B CREATE table的權限。
反之,
user A給予user B select employee table的權限,user B 也給予user C select employee table的權限,一但user A回收user B的權限,user C權限也一樣會被回收。
語法:
GRANT privileges ON database_object TO user
ROVAKE privileges ON database_object TO user
附註:系統權限包含比較全域或CREATE..等等權限,而資料庫物件權限包含select,update..等物件指令。
ROLE:
role可以方我們管理權限,跨系統權限與物件權限,讓權限管理更有彈性更方便。
我們下面來建立Role與指定role給使用者。
一、建立role
1.開啟Enterprise Manager,點選伺服器,角色。
2.進入角色,可以看到角色清單。我們點選右邊建立。
3.進入建立角色畫面,輸入角色名稱。認證部份可以設定密碼,我們這次操作不設定。
4.點選角色。角色可以授予角色的權限,我們可以點選右邊編輯清單按鈕。
5.編輯清單部分,可以選取目前可用的角色給新建立的角色。
6.點選系統權限,可以看見預設沒有任何系統權限。我們可以點選右邊編輯清單新增系統權限。
7.點選編輯清單後,可以選取可用的系統權限給目前的角色。選取完成後,我們點選右邊確定按鈕
8.在物件權限,我們可以點選右邊選取物件類型的下拉選單,點選右邊新增按鈕新增。
我們點選表格後,點選新增。
9.進入新增表格物件權限,可以看見選取表格物件,點選右邊按鈕即跳出新視窗,可以進行查詢與選取表格物件。
下方可以選取可用的權限。
10.我們選取HR綱要,點選執行;然後選擇job與job_history表格,點選確定。
11.我們選取全部可用的權限,點選確定,完成物件權限。
12.點選用戶群組權限,可以看見預設沒有認和群組權限,我們可以點選編輯清單新增群組權限。
13.進入清單,可以選取可用的用戶群組。
14.完成以上設定,選取確定後`完成新增角色。
二、指定role給使用者
1.點選伺服器,點選角色
2.進入編輯後,我們點選角色,然後點選右邊編輯清單
3.我們選取尚一篇新增的durantest角色,點選編輯。
4.我們選取剛剛建立的角色duranrole角色,點選右邊確定
5.加入後,點選右邊套用,完成指定角色給使用者。
6.我們開啟Sql developer測試
7.選擇HR資料表,即可以看到該資料表內容。完成整個流程
--
11:57 平安上壘 !!