資料庫課堂筆記5 資料庫安全

2021-09-05 08:44:54 字數 2555 閱讀 6451

保護資料庫,防止因使用者非法使用資料庫造成資料洩露、更改或破壞

資料保密是指使用者合法地訪問到機密資料後能否對這些資料保證不洩密。

通過制訂法律道德準則和政策法規來保證。

保護計算機系統中的硬體、軟體及資料,防止其因偶然或惡意的原因使系統遭到破壞,資料遭到更改或洩露等。

立體防禦:進不來、看不見、搞不掉、跑不了

具有connect特權的使用者可以與資料庫連線,能根據授權進行資料庫中資料的查詢、更新,能建立檢視。

具有resource特權的使用者除具有connect特權外,還能建立表、索引,修改表結構,能將自己建立的資料物件的訪問權授予其他使用者或從其他使用者那兒收回,對自己建立的資料物件能進行跟蹤審查。

具有dba特權的使用者能進行所有的資料庫操作。

授權就是賦予使用者一定的運算元據物件的權利。

授權可以由dba授予,也可以由資料物件的建立者授予

grant }

on [table] tablename|viewname

to [public|user_name]

[with grant option]

all privileges是所有許可權的總稱

資料物件可以是基本表,也可以是檢視

使用者名稱可以代表單一使用者也可以代表一組使用者,當代表一組使用者時我們稱為角色。public是所有資料庫使用者的總稱;

with grant option,受權者可以將此許可權轉授給其他使用者;

乙個使用者如果是表的建立者,他就自動擁有了對所建立表的所有權利以及將該錶權利授予其他使用者的權利,而且不能取消。

授權例項

假定使用者wangping建立了表recipedetail, medicine, recipemaster,並且wangping執行如下授權命令。

grant select on recipedetail to lixia;

grant select on recipemaster to lixia with grant option;

grant update(mprice) on medicine to wanghao;

grant reference(mno)on medicine to zhangyang;

grant insert,delete on recipedetail to mengfan with grant option;

lixia能夠對recipedetail和recipemaster執行查詢語句,並能將recipemaster的查詢許可權授予dengtian:

grant select on recipemaster to dengtian;

wanghao只能修改medicine表中的mprice列的值。

檢視授權示例:假定醫院的一位員工jian希望能看到患者到科室看病的資訊,但他不具有查閱醫生處方的許可權,即他沒有對recipemaster表的授權。

(1)create view recipe-doctor as

(select pname,ddeptno

from recipemaster,patient,doctor

where patient.pno= recipemaster.pno and

recipemaster.dno=doctor.dno);

(2)grant select on recipe-doctor to jian;

(3)jian可以執行如下查詢語句:

select * from recipe-doctor

建立角色

cretae role admin;

對角色授權:同使用者授權一樣

grant select on recipemaster to admin;

grant admin to lixia;

create role manager;

grant admin to manager;

grant manager to wanghao;

收回許可權格式

revoke [with grant option for]}

on [table] tablename|viewname

from [public|user_name]

[restrict|cascade]

示例:若wangping在授權後,發現使用者的許可權分配不恰當,就可以執行如下命令收回部分使用者的操作許可權:

revoke select on recipedetail from lixia;

revoke update(mprice)on medicine from wanghao;

revoke grant option for select on recipemaster from lixia;

restrict與cascade

從乙個使用者那裡收回許可權可能導致其他使用者也失去該許可權。這一行為稱為級聯**cascade。在大多數資料庫系統中,級聯**是預設行為 。

可以指定restrict方式:revoke select on recipemaster from lixia restrict;

資料庫課堂筆記

返回table create function sc inf sdept varchar 10 name varchar 10 return table as select stu.sc.course.from sc stu,course where stu.sno sc.sno and sc.cn...

資料庫課堂筆記6 資料庫恢復技術

概念 事務是使用者定義的乙個資料庫操作序列,這些操作要麼全做要麼全不做,是乙個不可分割的工作單位 在關聯式資料庫中,乙個事務可以是一條sql語句 一組sql語句或整個程式乙個應用程式可以包含多個事務。原子性 一致性 隔離性 永續性事務的執行時,後像 ai 在事務提交後才寫入資料庫 不同時刻的處理 恢...

資料庫安全

先分3點從全域性來看 對作業系統的安全需求 防止對dbms的非法訪問和修改,保護儲存的資料 檔案的安全性,對資料庫使用者的認證 對資料庫系統本身的安全需求 使用者認證管理 訪問控制 審計,資料庫的穩定性,保證資料的安全性與完整性,完善的恢復功能,資料加密 對資料庫應用系統的安全需求 訪問控制 認證管...