資料庫安全性與完整性(一)
資料庫安全性
問題
- 資料庫的特點之一是資料共享,但是資料共享必然帶來安全性問題,
- 資料庫系統中的資料共享不能是無條件的共享,
資料庫安全性控制
用戶表示與鑒別
系統提供的最外層的安全保護措施,
-
用戶標識
系統核對口令以鑒別用戶身份,為了防止口令的竊取會有各種防御措施來預防,典型的有生物識別,口令計算函式,
存取控制
作用在DBMS級別的安全措施
- 定義用戶權限
- 合法權限的檢查
實作方法
- 通過SQL 的 GRANT REVOKE 陳述句實作,
- 用戶權限組成:
- 資料物件
- 操作型別
- 授權:定義用戶可以在哪些資料庫物件上鏡像哪些型別的操作
| 物件 | 操作型別 |
|---|---|
| 模式(schema) | CREATE SCHEMA |
| 基本表(table) | CREATE TABLE,ALTER TABLE |
| 視圖(view) | CREATE VIEW |
| 索引(index’) | CREATE INDEX |
| 資料(基本表和視圖) | SELECT,INSERT,UPDATE,DELETE,REFERENCES,ALL PRIVILEGES |
| 屬性列 | SELECT,INSERT,UPDATE, REFERENCES,ALL PRIVILEGES |
操作陳述句
GRANT
GRANT <權限>[,<權限>]…
? [ON <物件型別> <物件名>]
? TO <用戶>[,<用戶>]…
? [WITH GRANT OPTION];
授權
- DBA,
- 是資料庫的創建者,
- 擁有權限的用戶,
接受
- 一個或者多個具體的用戶,
- PUBLIC (全體用戶),
WITH GRANT OPTION;
- 指定,可以再授予,
- 沒有,不能傳播,
- 不允許回圈授權,A->B->C->A
grant select,insert
on table `student`,`grade`
to `t1`,`t2`;
grant all priviliges
on table student,course
to t1,t2;
grant select
on table student,grade
to public;
grant all priviliges
on table student,course
to t1,t2
with grant option;
REVOKE
除 TO->FROM 基本語法格式與 GRANT 陳述句相同,不再贅述
- 對于權限傳播的用戶權限識訓在FROM陳述句之后+“CASCADE”即可,
revoke all priviliges
on table student
from t1
cascade
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/275415.html
標籤:其他
上一篇:Web漏洞——sql注入常見型別
