資料庫系統概論—基礎篇(3)
三.資料庫安全性
1.資料庫安全性概述
資料庫的安全性指保護資料庫以防不合法使用所造成的資料泄露、更改或破壞
2.資料庫安全性控制
2.1用戶身份鑒別
- 靜態口令鑒別
- 動態口令鑒別
- 生物鑒別特征
- 智能卡鑒別
2.2存取控制
- 自主存取控制:給用戶限權(DAC,C1級)
- 強制存取控制:給資料庫物件一定的密級(MAC,B1級)
2.3自主存取控制方法(授權:授予與識訓)
- 授權
Grant 權限
on (型別,表/視圖...) 物件名1,(型別,表/視圖...) 物件名2...
to 用戶1,用戶2...
with grant option;(是否可以傳播該權限)
- 識訓
Revoke 權限
on (型別,表/視圖...) 物件名1,(型別,表/視圖...) 物件名2...
from 用戶1,用戶2...
CASADE/RESTRICT;(是否級聯)
- 創建用戶
CREATE USER 用戶名
with DBA/RESOURCE/CONNECT;
DBA:超級用戶,有所有資料庫物件的限權
RESOURCE:能創建表和視圖
CONNECT:只能在限權內操作
2.4資料庫角色
資料庫角色是一組資料庫操作相關的權限的集合(權限的集合)
#授予
Grant 權限
on (型別,表/視圖...) 物件名
to 角色1,角色2...;
#識訓
Grant 權限
on (型別,表/視圖...) 物件名
to 用戶1,用戶2...;
2.5強制存取控制方法(資料加密)
主體:用戶;客體:資料
- 主體的許可證 >= 客體的密級時,該主體才能讀取相應的客體
- 主體的許可證 <= 客體的密級時,該主體才能寫相應的客體
3.視圖機制
視圖可以隱藏部分資料,控制要查詢的資料是否對用戶是可見的
4.審計
審計功能把用戶對資料庫的所有操作記錄下來放入審計日志
四.資料庫完整性
資料庫完整性是資料庫的正確性和相容性,是為例防止資料庫中存在不符合語意的資料,
1.物體、參照完整性
- 物體:非空唯一,在CREATE TABLE中使用PRIMART KEY定義,(主碼)
- 參照:外碼,參照表的主碼是被參照表的主碼
2用戶自定義完整性
針對某一具體應用的資料必須滿足的語意要求,
- 屬性上的約束(列級)
NOT BULL:列值非空
UNIQUE:列值唯一
CHECK:是否滿足條件(型別 屬性 CHECK(Ssex in('男','女'))性別在男女中選)
- 元組上的約束(表級)
eg:當性別是男,名字不以”Ms.“開頭
建表...
CHECK(Sex = '女' or Sname not like'Ms.%');
3.完整性約束字句
給約束起名字,CONSTRAINT 約束名一起使用
CONSTRAINT 約束名 約束條件;
4.斷言
更一般的約束
#創建
CREATE ASSERTION 斷言名
CHECK字句;
#洗掉
DROP ASSERTION 斷言名;
5.觸發器
由事件觸發的特殊程序(事件條件功能)
#創建
CREATE TRIGGER 觸發器名
BEFORE/ALTER 觸發事件 on 表名
REFRTENCING NEW/OLD ROW AS 變數#NEW/OLD ROW是兩個表(新/舊)
FOR EACH ROW/STATEMENT#行級/列級
WHEN 觸發事件 觸發動作;
#洗掉
DROP TRIGGER 觸發器名 on 表名;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/551875.html
標籤:其他
上一篇:2、etcd單機部署和集群部署
下一篇:返回列表