講解Oracle資料庫提供的多種安全性措施 (1)
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使用者。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1384/viewspace-264866/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 講解Oracle資料庫提供的多種安全性措施 (2)Oracle資料庫
- Oracle資料庫中表的四種連線方式講解Oracle資料庫
- Oracle資料庫中的多種SCN彙總Oracle資料庫
- 詳解使用Role來保護Oracle資料庫的安全性Oracle資料庫
- Oracle資料庫系統的安全性(轉)Oracle資料庫
- 資料庫Delete的多種用法資料庫delete
- 帶你快速瞭解Oracle資料庫提供的恢復機制Oracle資料庫
- Oracle12c多租戶資料庫 - PDB資料庫的unplug及plug 1Oracle資料庫
- 循序漸進講解Oracle資料庫的完整性概念Oracle資料庫
- 詳細講解Oracle資料庫管理員的工作職責Oracle資料庫
- 詳細講解Oracle資料庫中不同的恢復特性Oracle資料庫
- Oracle安全性管理採取的基本措施簡介Oracle
- Oracle 資料庫的眾多 “NAME”Oracle資料庫
- sqlplus 命令登入 Oracle資料庫的多種方法DXNASQLOracle資料庫
- 資料庫安全性資料庫
- 資料庫實驗五 資料庫的安全性資料庫
- SQL:資料庫的安全性SQL資料庫
- 讓Django支援多種資料庫Django資料庫
- 建立oracle資料庫(1)Oracle資料庫
- MySQL 資料庫 ALTER命令講解MySql資料庫
- 瞭解oracle資料庫體系結構(1)Oracle資料庫
- 講解Oracle資料庫冷備份恢復的具體步驟Oracle資料庫
- Oracle資料庫安全資源-1Oracle資料庫
- Oracle資料庫的四種啟動方式Oracle資料庫
- 講解Linux資料庫安裝Linux資料庫
- 資料庫基礎知識講解資料庫
- 新建Oracle資料庫三種方法Oracle資料庫
- 轉載“啟動\關閉Oracle資料庫的多種方法”--來自百度#OracleOracle資料庫
- SYSAUX表空間滿對資料庫的影響以及解決措施UX資料庫
- 資料庫效能優化有哪些措施?資料庫優化
- 提高資料庫安全性的辦法資料庫
- SQL SERVE 的資料庫安全性研究SQL資料庫
- 支援多種資料庫型別的遷移工具資料庫型別
- 多種方式讀取 MySQL 資料庫配置MySql資料庫
- Spring Boot MyBatis配置多種資料庫Spring BootMyBatis資料庫
- 如何快速的瞭解某種資料庫資料庫
- NoSQL資料庫的分散式演算法講解SQL資料庫分散式演算法
- Oracle 資料庫的各種狀態和模式Oracle資料庫模式