成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

講解Oracle數據庫提供的多種安全性措施

數據庫 Oracle
安全問題是很多數據庫公司十分關注的問題,當然Oracle數據庫也不例外,數據庫的安全一直都是人們關注的重心所在,本文將會為大家講解Oracle數據庫的安全措施。

導讀:Oracle數據庫的安全措施主要有三個方面,一是用戶標識和鑒定;二是授權和檢查機制;三是審計技術(是否使用審計技術可由用戶靈活選擇);除此之外,Oracle還允許用戶通過觸發器靈活定義自己的安全性措施。下文中將會為大家做更為詳細的解析。

一、用戶標識和鑒定

  在Oracle中,最外層的安全性措施是讓用戶標識自己的名字,然后由系統進行核實。Oracle允許用戶重復標識三次,如果三次未通過,系統自動退出。

二、授權與檢查機制

  Oracle的權限包括系統權限和數據庫對象的權限兩類,采用非集中的授權機制,即DBA負責授予與回收系統權限,每個用戶授予與回收自己創建的數據庫對象的權限。

  Oracle允許重復授權,即可將某一權限多次授予同一用戶,系統不會出錯。Oracle也允許無效回收,即用戶沒有某種權限,但回收此權限的操作仍算成功。

  1. 系統權限

  Oracle提供了80多種系統權限,如創建會話、創建表、創建視圖、創建用戶等。DBA在創建一個用戶時需要將其中的一些權限授予該用戶。

  Oracle支持角色的概念。所謂角色就是一組系統權限的集合,目的在于簡化權限管理。Oracle除允許DBA定義角色外,還提供了預定義的角色,如CONNECT,RESOURCE和DBA。

  具有CONNECT角色的用戶可以登錄數據庫,執行數據查詢和操縱。即可以執行ALTER TABLE,CREATE VIEW,CREATE INDEX,DROP TABLE,DROP VIEW,DROP INDEX,GRANT,REVOKE,INSERT,SELECT,UPDATE,DELETE,AUDIT,NOAUDIT等操作。

  RESOURCE角色可以創建表,即執行CREATE TABLE操作。創建表的用戶將擁有對該表的所有權限。

  DBA角色可以執行某些授權命令,創建表,對任何表的數據進行操縱。它涵蓋了前兩種角色,此外還可以執行一些管理操作,DBA角色擁有最高級別的權限。

  例如DBA建立一用戶U1后,欲將ALTER TABLE,CREATE VIEW,CREATE INDEX,DROP TABLE,DROP VIEW,DROP INDEX,GRANT,REVOKE,INSERT,SELECT,UPDATE,DELETE,AUDIT,NOAUDIT等系統權限授予U1,則可以只簡單地將CONNECT角色授予U1即可:

  GRANT CONNECT TO U1;

  這樣就可以省略十幾條GRANT語句。

  2. 數據庫對象的權限

  在Oracle中,可以授權的數據庫對象包括基本表、視圖、序列、同義詞、存儲過程、函數等,其中最重要的是基本表。

  對于基本表Oracle支持三個級別的安全性:表級、行級和列級。

  (1)表級安全性

  表的創建者或者DBA可以把表級權限授予其他用戶,表級權限包括:

  ALTER:修改表定義
  DELETE:刪除表記錄
  INDEX:在表上建索引
  INSERT:向表中插入數據記錄
  SELECT:查找表中記錄
  UPDATE:修改表中的數據
  ALL:上述所有權限

  表級授權使用GRANT和REVOKE語句。

  (2)行級安全性

  Oracle行級安全性由視圖實現。用視圖定義表的水平子集,限定用戶在視圖上的操作,就為表的行級提供了保護。視圖上的授權與回收與表級完全相同。

  例如,只允許用戶U2查看Student表中信息系學生的數據,則首先創建信息系學生的視圖S_IS,然后將該視圖的SELECT權限授予U2用戶。

  (3)列級安全性

  Oracle列級安全性可以由視圖實現,也可以直接在基本表上定義。

  用視圖定義表的垂直子集就可以實現列級安全性,方法與上面類似。

  直接在基本表上定義和回收列級權限也是使用GRANT和REVOKE語句。目前Oracle的列級權限只有UPDATE,回收列級UPDATE權限時,Oracle不允許一列一列地回收,只能回收整個表的UPDATE權限。例如,

  GRANT UPDATE(Sno,Cno)ON SC TO U2;

  把對SC表中Sno列和Cno列的UPDATE權限授予U2用戶。

  REVOKE UPDATE ON SC FROM U2;

  回收了U2用戶對SC表中Sno列和Cno列的UPDATE權限。

  在Oracle中,表、行、列三級對象自上而下構成一個層次結構,其中上一級對象的權限制約下一級對象的權限。例如當一個用戶擁有了對某個表的UPDATE權限,即相當于在表的所有列都擁有了UPDATE權限。

  Oracle對數據庫對象的權限采用分散控制方式,允許具有WITH GRANT OPTION的用戶把相應權限或其子集傳遞授予其他用戶,但不允許循環授權,即被授權者不能把權限再授回給授權者或其祖先。

  Oracle把所有權限信息記錄在數據字典中,當用戶進行數據庫操作時,Oracle首先根據數據字典中的權限信息,檢查操作的合法性。在Oracle中,安全性檢查是任何數據庫操作的第一步。

#p#

三、Oracle的審計技術

  在Oracle中,審計分為用戶級審計和系統級審計。用戶級審計是任何Oracle用戶可設置的審計,主要是用戶針對自己創建的數據庫表或視圖進行審計,記錄所有用戶對這些表或視圖的一切成功和(或)不成功的訪問要求以及各種類型的SQL操作。

  系統級審計只能由DBA設置,用以監測成功或失敗的登錄要求、監測GRANT和REVOKE操作以及其他數據庫級權限下的操作。

  Oracle的審計功能很靈活,是否使用審計,對哪些表進行審計,對哪些操作進行審計等都可以由用戶選擇。為此,Oracle提供了AUDIT語句設置審計功能,NOAUDIT語句取消審計功能。設置審計時,可以詳細指定對哪些SQL操作進行審計。例如,

  對修改SC表結構或數據的操作進行審計可使用如下語句:

  AUDIE ALTER,UPDATE ON SC;

  取消對SC表的一切審計可使用如下語句:

  NOAUDIT ALL ON SC;

  在Oracle中,審計設置以及審計內容均存放在數據字典中。其中審計設置記錄在數據字典表SYS.TABLES中,審計內容記錄在數據字典表SYS.AUDIT_TRAIL中。

四、用戶定義的安全性措施

  除了系統級的安全性措施外,Oracle還允許用戶用數據庫觸發器定義特殊的更復雜的用戶級安全措施。例如,規定只能在工作時間內更新Student表,可以定義如下觸發器,其中sysdate為系統當前時間: CREATE OR REPLACE TRIGGER secure_student
  BEFORE INSERT OR UPDATE OR DELETE
  ON student
  BEGIN
  IF (TO_CHAR (SYSDATE, 'DY') IN ('SAT', 'SUN'))
  OR (TO_NUMBER (SYSDATE, 'HH24') NOT BETWEEN 8 AND 17)
  THEN
  raise_application_error
  (-20506,
  'You may only change data during normal business hours.'
  );
  END IF;
  END;

  觸發器一經定義便存放在數據字典中。用戶每次對Student表執行INSERT,UPDATE或DELETE操作時都會自動觸發該觸發器,由系統檢查當時的系統時間,如果是周六或周日,或者不是8點至17點,系統會拒絕執行用戶的更新操作,并提示出錯信息。

  類似的,用戶還可以利用觸發器進一步細化審計規則,使審計操作的粒度更細。

  綜上所述,Oracle提供了多種安全性措施,提供了多級安全性檢查,其安全性機制與操作系統的安全機制彼此獨立,數據字典在Oracle的安全性授權和檢查以及審計技術中起著重要作用。安全技術是在不斷更新著,一代比一代技術更為強大,如果大家有更好的安全維護方法,隨時歡迎大家與我分享。

【編輯推薦】

  1. Oracle數據庫自動增長列的實現過程
  2. 輕松解決Oracle數據庫的服務啟動問題
  3. 數據訪問由SQL Server遷移向Oracle數據庫的問題整理
責任編輯:迎迎 來源: 希賽網
相關推薦

2009-04-13 10:06:58

Oracle安全管理

2011-03-25 09:46:16

Informix數據庫安全性安全審計

2009-11-20 16:23:58

Oracle數據庫安全

2011-05-26 09:46:21

Oracle數據庫安全

2011-05-25 14:11:50

Oracle安全

2010-05-07 17:56:10

Oracle數據庫安全

2011-01-19 11:07:43

2010-04-14 17:19:51

Oracle數據庫

2009-06-25 09:46:04

2011-05-25 10:37:03

Oracle數據庫安全

2010-04-29 15:33:12

Oracle數據庫

2011-02-28 10:57:56

2009-12-29 17:40:33

2011-03-31 09:40:46

2009-10-23 10:50:04

CLR安全性

2015-05-05 15:53:01

2021-07-21 15:05:06

數據庫數據庫安全技術

2015-03-27 13:02:17

Azure SQL D微軟云數據庫

2010-05-17 16:26:36

IIS安全

2012-01-05 09:45:31

微軟云數據庫SQL Azure
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区在线免费观看 | 中文字幕在线视频精品 | 国产一区二区三区在线 | 精品少妇一区二区三区日产乱码 | 青青激情网 | 97精品视频在线观看 | 欧美日韩国产一区二区三区 | 黄色国产在线视频 | 欧美极品视频在线观看 | 欧美视频免费在线 | 伊人网99| av性色| 看片国产| 欧美一级艳情片免费观看 | 三级在线观看 | 精品久久香蕉国产线看观看亚洲 | 国产精品久久久久久久免费大片 | 国产一区二区在线免费观看 | 一级片免费观看 | 日本羞羞影院 | 成人免费视频一区二区 | 国产天天操 | 男女网站免费 | 91精品国产91久久久久久吃药 | 99精品一区二区 | 日批免费在线观看 | 成人在线精品视频 | 一级片网址| 网络毛片 | 天天干在线播放 | 午夜影院在线观看 | 在线视频 欧美日韩 | 久久成人精品视频 | 亚洲一区综合 | www.亚洲| 国产精品一区二区久久 | 午夜在线影院 | 二区视频 | 九九爱这里只有精品 | 免费成人毛片 | 九色 在线|