資料庫系統概論 資料庫安全

2021-10-09 21:33:44 字數 3200 閱讀 2033

摘自《資料庫系統概論》–王珊

2、revoke

授權使用者的許可權可以由資料庫管理員或其他授權者用revoke語句收回,revoke的語句一般格式為

revoke 《許可權》 on 物件型別 《物件名》 from 【使用者】

把使用者 u4 修改學生學號的許可權收回

revoke update(sno)on tbale student from u4

revoke select on school.student from 'student'@'localhost'

收回學生本地select許可權

revoke select on *.* from 'student'@'localhost';

注意:如果student授權給其他使用者,當管理員收回student的許可權時,會級聯(cascade)收回student授權的使用者

,這裡預設值是cascade,有的資料庫管理系統預設為restrict,將自動執行級聯操作。如果u6或u7還從其他使用者處

獲得許可權,則他們任然具有此項許可權,系統只收回直接或間接從u5處獲得的許可權。

3、建立資料庫模式的許可權

grant 和 revoke 語句向使用者授權或收回對資料的操作許可權。對建立資料庫模式一類的資料庫物件的授權則由資料庫管理員

在建立使用者時實現。

create user語句一般如下。

create user [with][dba|resource|connect]

**只有系統的超級使用者才有權建立乙個新的資料庫使用者。

**新建立的資料庫使用者有三種許可權 dba | resource | connect。

**create user命令中如果沒有指定建立新使用者的許可權,預設該使用者擁有connect許可權。擁有connect許可權的使用者不能建立新使用者,

不能建立模式,不能建立基本表,只能登陸資料庫。由管理員或其他使用者授予他應有的許可權,根據獲得的授權情況,他可以對資料庫進行

許可權範圍內的操作。

**擁有resource許可權的使用者能建立基本表和檢視,成為所建立物件的屬主,但不能建立新的使用者。資料庫物件的屬主可以使用grant

語句把該物件身上的許可權授予其他的使用者

**擁有dba許可權的使用者是系統中的超級使用者,可以建立新的使用者、建立模式、建立基本表和檢視等;

不好使:grant dba to user1

#4.2.5 資料庫角色

資料庫角色是被命名的一組與資料庫操作相關的許可權,角色是許可權的集合。

1、角色的建立

create role 《角色名》

建立的角色為空,沒有任何內容,可以用greant為角色授權

2、給角色授權

grant 《許可權》《許可權》 on 物件 to 角色

3、將角色授予其他的使用者

grant 《角色1>《角色2> to 《角色3>【《使用者1>】with admin option

該語句把角色授予某使用者,或授予另乙個角色,這樣這個角色就擁有所有其他使用者授予他的許可權

4、角色許可權收回

revoke 《許可權》 on 物件 from 角色

使用者可以收回角色的許可權,從而修改角色擁有的許可權

【例】通過角色來實現將一組許可權授予乙個使用者,

①先建立乙個角色r1.

create role r1

②然後使用grant語句使角色r1擁有student表的select,insert,updata許可權。

grant select,insert,update on student to r1;

③將這個角色授予user1,user2,user3,使他們具有角色r1所包含的全部許可權。

grant r1 to user1,user2,user3,

④當然,也可以一次性的通過r1來收回 user1的三個許可權

revoke r1 from user1,

⑤角色許可權修改。

##4.3檢視機制

還可以為不同的使用者定義不同的檢視範圍,把資料物件限制在一定的範圍內,也就是說,通過檢視吧要保密的資料

對無權訪問的使用者隱藏起來,從而自動對資料提供一定程度的安全保護

【例】建立計算機系學生的檢視,把對該檢視的select許可權授予user1,把該檢視上的所有操作授予張明

/*先建立檢視*/

create view cs_student

asselect * from student where sdept ='cs';

/*user1只能檢索計算機系學生的資訊*/

grant select from cs_student to user1

/*系主任具有檢索和增刪改計算機系學生資訊的所有許可權*/

grant all privileges on cs_student to 系主任

2、審計功能

基本功能

提供多套審計規則

提供審計分析和報表功能

審計日誌管理功能

3、audit語句和noaudit語句

audit語句用來設定審計功能,noaudit用來取消審計功能。

審計一般分為使用者級審計和系統級審計,

使用者級審計,主要針對使用者對自己建立的資料庫表或檢視

進行審,記錄所有使用者對這些表的操作。

系統級審計只能由資料庫管理員設定,用以監測成功或者失敗的登入要求、監測授權和收回操作以及

其他資料庫級許可權下的操作

【例】對修改sc表結構或修改sc表資料的操作進行審計

audit alter,updata on sc

【例】取消對 sc的一切審計

noaudit alter,update on sc

審計設定以及審計日誌一般都儲存在資料字典中。必須把審計開關開啟(即把系統引數

audit_trail設為 true)才可以在系統表sys_audittrail中看到審計資訊。

資料庫安全審計系統提供了一種事後檢查的安全機制

mysql 8 , 開啟審計

檢視設定

show global variables like 'log_timestamps';

show global variables like '%general%'

設定開啟審計

set global general_log = off;

set global log_timestamps =system;

資料庫系統概論 緒論 資料庫系統概論(一)

1.1 資料庫系統概論 1.1.1 資料庫系統概論 1.資料 描述事物的符號記錄稱為是資料 資料的解釋叫做語義,他與資料時密不可分的 記錄是計算機中表示和儲存資料的一種格式或者乙個方法 2.資料庫 把資料以一定的格式存放在計算機儲存裝置上的倉庫就是資料庫 共享性 有組織 永久儲存是資料庫的三大特徵 ...

資料庫系統概論 資料庫安全性

資料庫的安全性是指保護資料庫以防止不合法的使用所造成的資料洩露 更改或破壞。所謂計算機系統安全性,是指為計算機系統建立和採取的各種安全保護措施,以保護計算機系統中的硬體 軟體及資料,防止其因偶然或惡意的原因使系統遭到破壞,資料遭到更改或洩露等。計算機系統的安全性問題可以分為三大類 技術安全類 管理安...

資料庫系統概論

資料庫系統概論 1 現實世界的資料化過程 現實世界是由實際存在的事物組成的。每種事物都有無窮的特性,事物之間有著錯綜複雜的聯絡。資訊世界是現實世界在人腦中的反映。現實世界中的事物和事物特性在資訊世界中分別反映為實體和實體的屬性。資訊世界是由實體組成的,每種實體都有自己有限的屬性。本質上說,實體是由有...