程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 帶您深入了解oracle權限管理

帶您深入了解oracle權限管理

編輯:Oracle數據庫基礎

Oracle權限管理同樣是在創建數據庫角色之後賦予相應的權限,下面對Oracle權限管理作了詳盡的闡述,如果您對Oracle權限管理方面感興趣的話,不妨一看。

一、創建角色
Create role clerk identifIEd by bicentennial;
以上命令創建一個名為clerk的角色,他的密碼為bicentennial,當角色被授予某個用戶時,必須使用密碼進行驗證。如果不指定identifIEd子句,則數據庫使用not identifIEd,這時激活角色不需要認證。

二、角色賦權

1.授予角色系統權限和角色
如果要給某個角色授權,你必須需要具有以下權限:
 如果要授予系統權限,你自已必須被授與此權限時,包括Admin Option或擁有GRANT ANY PRIVILEGE系統權限。
 如果授與角色,你必須被授予與此角色時包括Admin Option或擁有GRANT ANY ROEL 系統角色。
Grant create session to jward;
a)授予Admin Option
Grant new_dba to michal with admin option;
如果一個用戶或角色被授權的同時指定with admin option子句,則有以下效果:
i.該用戶或角色可以將此權限賦與任何其他用戶,或從其他用戶回收此權限。
ii.這個用戶或角色可以將此Oracle權限管理權傳遞給任何用戶。
iii.被授予角色的用戶可以修改或drop角色。
b)在賦權的同時創建用戶
Oracle允許你在grant的同時創建一個新用戶,如果你通過一個identifIEd by子句指定一個密碼,而用戶名/密碼不存在數據庫中,一個新用戶就將被創建。
c)Grant connect to ssmith identifIEd by p1q2r3;

2.授予object角色
如果你要將某個object的權限授予某個用戶,你必須符合以下條件:
 你擁有指定的object
 你擁有GRANT ANY OBJECT PRIVELEGE系統權限
 你被賦與此Object權限包括WITH GRANT OPTION。
Grant select,insert,delete om emp to jfee,tsmith;
Grant all on emp to jfee;
a)授予Grant Option
如你指定with grant option,被授權的用戶將獲得以下權限:
i被授權的用戶可以授予任何用戶此對像的權限
ii如果被授權的用戶擁有Create view或Create any vIEw系統權限,則用戶可以在此表上創建一個視圖,同時賦權給其他用戶訪問。

3.在列上授權
你可以在單獨的列上授予用戶插入、修改、刪除權限:
Grant insert (acct_no) on accounts to scott;

三、回收角色權限

1.回收系統權限
任何擁有指定系統權限的ADMIN OPTION或擁有權限管理權限的用戶都可以從任何用戶上回收指定權限
Revoke create table from tsmith;
這裡要注意,ADMIN OPTION不能作為權限單獨回收。

2.回收Object權限
為了回收Object權限,必須符合以下條件:
 此權限是由你之前賦與用戶或角色的
 你擁有GRANT ANY OBJECT PRIVILEGE權限
注意一個擁有GRANT OPTION的用戶,如果Object對像被回收,則所有由它賦權的用戶的相應權限都將被回收
Revoke all on dept from human_resource;

四、賦權與回收的生效時間
關於系統權限或Object權限的賦權與回收都是立即生效的。
將角色同授予某個用戶或從用戶回收將在下一次新建session時生效,除非使用Set 指定。
在session中,用戶可以使用set role來改變role
Set role ckerk identified by bicentennial; 如果用戶有密碼則必須使用identifIEd by 指定
關閉所有角色
Set role none

五、指定用戶缺省權限
當用戶登陸時,Oracle自動將用戶缺省角色中的權限賦與用戶。
Alter user jane default role payclerk,pettycash

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved