Oracle系統中使用者權限的賦予,查看和管理(2)

來源:互聯網
上載者:User

在Oracle資料庫中,使用者的許可權分為兩種(在這裡我們不討論dba或oper的許可權,只考慮普通使用者的許可權),分別是System Privilege系統許可權 和User Table Privilege使用者資料表許可權.

1.首先,建立使用者,以下幾條命令可以建立一個使用者,前提是必須以DBA的身份登入(如果你不是DBA,不要看下去了):

create user DB_USER identified by DB_USER_PW '建立使用者DB_USER,密碼為DB_USER_PW

grant create session to DB_USER '給使用者建立會話的許可權

grant resource to DB_USER

2.當使用者建立後,會自動在Oracle資料庫系統中產生屬於該使用者的Scheme (可以理解為所有屬於該使用者的表,視圖....等對象的集合).

該使用者可以將對這些對象的存取權限賦予其它的系統使用者.

3.該使用者用sqlplus登入後,以下命令可以看到該使用者的許可權(該部分取自於CNOUG網站):

本使用者讀取其他使用者物件的許可權:
  select * from user_tab_privs;
本使用者所擁有的系統許可權:
  select * from user_sys_privs;

ORACLE資料庫使用者與許可權管理

ORACLE是多使用者系統,它允許許多使用者共用系統資源。為了保證資料庫系統的安全,資料庫管理系統配置了良好的安全機制。

2. 1 ORACLE資料庫安全性原則

建立系統級的安全保證
系統級特權是通過授予使用者系統級的權利來實現,系統級的權利(系統特權)包括:建立資料表空間、建立使用者、修改使用者的權利、刪除使用者等。系統特權可授予使用者,也可以隨時回收。ORACLE系統特權有80多種。

建立對象級的安全保證
對象級特權通過授予使用者對資料庫中特定的表、視圖、序列等進行操作(查詢、增、刪改)的權利來實現。

建立使用者級的安全保證
使用者層次安全性保障通過使用者口令和角色機制(一組權利)來實現。引入角色機制的目的是簡化對使用者的授權與管理。做法是把使用者按照其功能分組,為每個使用者建立角色,然後把角色指派給使用者,具有同樣角色的使用者有相同的特權。

2.2 使用者管理

ORACLE使用者管理的內容主要包括使用者的建立、修改和刪除

使用者的建立
SQL>CREATE USER jxzy

>IDENTIFIED BY jxzy_password

>DEFAULT TABLESPACE system

>QUATA 5M ON system; //供使用者使用的最大空間限額

使用者的修改
SQL>CREATE USER jxzy

>IDENTIFIED BY jxzy_pw

>QUATA 10M ON system;

刪除使用者及其所建對象
SQL>DROP USER jxzy CASCADE; //同時刪除其建立的實體

2.3系統特權管理與控制

ORACLE 提供了80多種系統特權,其中每一個系統特權允許使用者執行一個或一類資料庫操作。

授予系統特權
SQL>GRANT CREATE USER,ALTER USER,DROP USER

>TO jxzy_new

>WITH ADMIN OPTION;

回收系統特權
SQL>REVOKE CREATE USER,ALTER USER,DROP USER

>FROM jxzy_new

//但沒有級聯回收功能

顯示已被授予的系統特權(某使用者的系統級特權)
SQL>SELECT*FROM sys.dba_sys_privs

2.4 對象特權管理與控制

ORACLE對象特權指使用者在指定的表上進行特殊操作的權利。這些特殊操作包括增、刪、改、查看、執行(預存程序)、引用(其它表欄位作為外鍵)、索引等。

授予對象特權
SQL>GRANT SELECT,INSERT(office_num,office_name),

>UPDATE(desc)ON office_organization

>TO new_adminidtrator

>WITH GRANT OPTION;

//級聯授權

SQL>GRANT ALL ON office_organization

>TO new_administrator

回收對象特權
SQL>REVOKE UPDATE ON office_orgaization

>FROM new_administrator

//有級聯回收功能

SQL>REVOKE ALL ON office_organization

>FROM new_administrator

顯示已被授予的全部對象特權
SQL>SELECT*FROM sys.dba_tab_privs

2.5 角色的管理

ORACLE的角色是命名的相關特權組(包括系統特權與對象特權),ORACLE用它來簡化特權管理,可把它授予使用者或其它角色。

ORACLE資料庫系統預先定義了CONNECT 、RESOURCE、 DBA、 EXP_FULL_DATABASE、 IMP_FULL_DATABASE五個角色。CONNECT具有建立表、視圖、序列等特權;RESOURCE具有建立過程、觸發器、表、序列等特權、DBA具有全部系統特權;EXP_FULL_DATABASE、 IMP_FULL_DATABASE具有卸出與裝入資料庫的特權。

通過查詢sys.dba_sys_privs可以瞭解每種角色擁有的權利。

授予使用者角色
SQL>GRANT DBA TO new_administractor

>WITH GRANT OPTION;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.