資料庫複習5 安全性

2021-07-03 06:44:38 字數 2325 閱讀 5753

如果說完整性是針對授權使用者的資料庫保護措施,那麼安全性就是針對非授權使用者的資料庫保護措施

安全性問題涉及的層面很多,非法使用者可以從以下各層面對資料庫的竊取或篡改:

層面竊取或篡改行為

應對措施

資料庫系統

獲取高階使用者資料庫許可權

身份驗證,許可權和可獲取資料對等

作業系統

獲取作業系統root許可權想幹啥就能幹啥,不僅僅限於對資料庫的操作了

提公升作業系統安全級別

網路通過網路竊聽和身份偽裝也能竊取線上機密資料

身份驗證和加密傳輸

物理物理上竊取和破壞儲存裝置

機櫃上鎖和其他安全防護,備份措施

一般資料庫安全性管理從三個角度入手:

許可權管理屬於自定義式(discretionary)的訪問控制,還有一種機制是強制(mandatory)訪問控制(從安全模型、資料物件標籤等角度)

前面提到的檢視算是一種許可權管理機制(使用者訪問符合授權的檢視),除此之外用授權圖來表示許可權管理等級也是常用方法(使用者和dba均參與,略)

概念性的部分結束,下面進入複習基礎的sql資料庫安全管理操作

(1)授權

sql基本授權語句的語法如下,執行授權語句的使用者必須已經獲取相應操作的授權權力才能授權(dba有所有權力):

name

or view name> to

list>;

包括了:

可以是以下三種格式:

角色(role)是sql-99中引入的概念,它用於使用者組別許可權管理許可權層次管理(by the way,這兩個是根據我理解自己造的詞)

我們先看乙個role分配許可權的例子:

create role worker;

create role manager;

grant

select

on staff_account to worker;

grant

update, insert, delete

on staff_account to manager;

grant worker to manager;

grant worker to u1, u2, u3;

grant manager to u0;

create role worker;create role manager;建立普通員工和經理兩個角色,接著授予普通員工在表staff_account上的select許可權,然後授予經理在表staff_account上的update、insert和delete許可權

接下來grant worker to manager;是角色間的授權,也就是把worker的所有權力都賦予manager,然後最後授予u1、u2、u3普通員工的角色以及授予u0經理的角色(即賦予他們相應角色的權利)

那麼上例中,

使用者組別許可權管理是指把現實身份相同的u1、u2、u3分成一組,直接分配給他們worker的權力。那麼如果新來乙個普通員工u4就不必再去思考賦予給他什麼權力而是直接授予他worker的身份即可。涉及多個表的不同的許可權分配可能會很複雜,我們只用對同乙個組別的統一的身份授權,再去管理使用者身份即可管理複雜的許可權分配。

而許可權層次管理是利用使用者現實身份的層次關係,借助面對物件設計中繼承的思想來劃分許可權的層次,讓許可權層次清晰分明的管理方法。具體到上例來說就是經理也是員工,只是是特殊身份的員工,那麼manager身份的人可以繼承worker身份已經分配的權力。許可權層次管理的好處在於讓我們對待manager角色時只需要考慮他的特殊許可權即可。

另外需要注意的是,授予關於檢視的許可權並不意味著授予其基本表的響應許可權

(2)取消授權

sql取消授權的基礎語法是:

name

or view name> from

list> [restrict|cascade];

和和上小節定義一致,而restrict(限制)和cascade(級聯)字尾的含義和我們在學習外來鍵時的含義相同:restrict就是不向後傳播,cascade就是說使用者x授予y許可權a,一旦revoke了x的a許可權那麼y的a許可權也被取消

(3)sql許可權管理的侷限性

sql的許可權管理有自己的缺陷,其中主要有:

還有乙個常見的資料庫安全管理措施叫做審計跟蹤(audit trail),即dbms在特殊檔案或資料庫中記錄每個使用者的具體操作,那麼dba可以檢視記錄是否越權等,在資料庫恢復中我們也經常使用審計跟蹤的手段(見後續章節)

資料庫安全性

訪問控制 確保只授權給有資格的使用者訪問資料庫的許可權,令未授權的人員無法接近資料庫 訪問控制機制主要包括使用者許可權和合法許可權檢查 定義使用者許可權,並將使用者許可權登記到資料字典中 合法許可權檢查 每當使用者發出訪問資料庫的操作後,資料庫管理系統會查詢資料字典,對合法許可權檢查 定義使用者許可...

資料庫 資料安全性

確保只授權給有資格的使用者訪問資料庫的許可權,同時令所有未被授權的人員無法接受資料,這主要通過資料庫系統的訪問控制機制實現。訪問控制主要包括定義使用者許可權和合法許可權檢查兩部分。1 定義使用者許可權,並將使用者許可權登記到資料字典中 2 合法許可權檢查。c2級的資料庫管理系統支援自主訪問控制,b1...

資料庫的安全性

非授權使用者對資料庫的惡意訪問和破壞 資料庫中重要或敏感的資料被洩露 n黑客和敵對分子千方百計盜竊資料庫中的重要資料,一些機密資訊被暴露。n資料庫管理系統提供的主要技術有強制訪問控制 資料加密儲存和加密傳輸等。n審計日誌分析 安全環境的脆弱性 n資料庫的安全性與計算機系統的安全性緊密聯絡 l計算機硬...