概述
資料庫的不安全因素
- 非授權使用者對資料庫的惡意存取和破壞
- 資料庫中重要或敏感的資料被洩漏
- 安全環境的脆弱性
資料庫的安全性控制
使用者身份鑒别
- 靜态密碼鑒别
- 動态密碼鑒别
- 生物特征鑒别
- 智能卡鑒别
存取控制
- 存取控制機制主要包括定義使用者權限和合法權限檢查兩部分
- C2資料庫管理系統支援自主存取控制
- B1級的資料庫管理系統支援強制存取控制
自主存取控制方法
- 使用者權限的組成要素:資料庫對象、操作類型。
- 定義存儲權限稱為授權
- 在關系資料庫系統中,存取控制的對象包括:資料本身、資料庫模式。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TP3F2b5wGZyQ3RihmSYVmeaNTYrhmMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL5EjM5QzMyMjM2ATMxkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
權限的授予、收回
- 資料的操作權限
- grant
grant select # ,.. on table student #,.. to u1,u2; [with grant option]#可以把擁有的權限授予其他使用者,不予許循環授權
- revoke
revoke insert on table SC from public# public:所有使用者 [cascade|restrict]; # 預設為cascade,即級聯删除
- grant
- 資料庫模式的權限
- 隻有系統的超級使用者才有權建立一個新的資料庫使用者。
- 資料庫使用者的權限類型:
- CONNECT:隻能登陸資料庫 #預設
- RESOURCE:建立基本表和視圖
- DBA:建立使用者、模式、基本表、視圖等
create user username [with][dba|resource|connect];
資料庫角色
- 資料庫角色是被命名的一組與資料庫操作相關的權限,角色是權限的集合。
- 權限 --> 角色 --> 使用者
- 角色的建立
create role <name>;
- 給角色授權
grant select,insert .. #權限 on table t1.. #對象類型 對象名 to role1,role2.. #角色
- 将一個角色授予其他的角色或使用者
grant role1,role2.. to role 3,role4.. [with admin option]#能夠把獲得的權限授予其他使用者
- 角色權限的回收
revoke delete on table student to R1
視圖機制
- 給不同的使用者定義不同的視圖,把資料對象限制在一定範圍内,實作部分資料的隐藏。
- 間接地實作支援存儲謂詞的使用者權限定義。
審計
- 審計功能把使用者對資料庫的所有操作自動記錄下來放入審計日志中。
- audit | noaudit :設定/取消審計功能
#對sc表結構 或 修改sc表資料的操作進行審計 audit alter update on sc;