国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

SQL Server 安全性管理的途徑

2024-08-31 00:49:38
字體:
來源:轉載
供稿:網友

    當在服務器上運行sql server 時,我們總是要想方設法去使sql server 免遭非法用戶的侵入,拒絕其訪問數據庫,保證數據的安全性。sql server 提供了強大的內置的安全性和數據保護,來幫助實現這種理所當然的要求。從前面的介紹中我們可以看出sql server 提供了從操作系統,sql servere, 數據庫到對象的多級別的安全保護。其中也涉及到角色、數據庫用戶、權限等多個與安全性有關的概念。在本書前面我們也暗示過存儲過程和觸發器在保護數據安全性上不可小視的作用。現在我們面臨的問題就是如何在sql server 內把這些不同的與安全性有關的組件結合起來,充分地利用各種組件的優點,考慮到其可能存在的缺點來揚長避短,制定可靠的安全策略。使sql server 更健壯,更為“不可侵犯”。

    下面我們將介紹幾種安全性管理策略,您應該做的就是看懂并理解這些策略方法,然后將它們簡單地結合到一起就可以了。

14.6.1 使用視圖作為安全機制
在游標和視圖一章我們已經提到視圖可以做為一種安全機制的主要原因在于視圖是一張虛表,而且它是由查詢語句來定義的,是一個數據結果集,通過視圖,用戶僅能查詢修改他所能看到的數據,其它的數據庫或表對于該用戶既不可見也無法訪問。通過視圖的權限設置,用戶只具有相應的訪問視圖的權限,但并不具有訪問視圖所引用的基本表的相應權限。
    通過使用不同的視圖并對用戶授予不同的權限,不同的用戶可以看到不同的結果集,可以實現行級或列級的數據安全性。下面的幾個例子說明了視圖是如何實現數據安全性。

14.6.2 使用了行級、列級別安全性的視圖
例14-18: 在該例中某一銷售點只能查看它自己的銷售信息。我們使用pubs 數據庫中的sales 表。
首先創建視圖


14.6.3 視圖與權限結合
    如果將訪問視圖的權限授予給用戶,這樣即使該用戶不具有訪問視圖所引用的基本表的權限,但其仍可以從中查看相應的數據信息。
    視圖與權限相結合究竟能帶來什么好處呢?下面我們舉一個例子來進行說明。首先假設用戶a 對sales 表的payterms 列沒有select 權限,對其它列有且僅有select 權限,如果要查看其它銷售信息不能使用這樣的語句:

select * from sales
而必須指出其余列的列名。這就要求用戶了解表的結構,通常來說讓用戶了解表結構是一件很不聰明的事,那么如何解決這一問題呢?

很簡單如果創建一個視圖view1, 該視圖包含除payterms 列外的所有列,并且將 select 權限授予用戶a, 這樣用戶a 就可以執行語句:select * from view1, 從而查看到銷售信息。

14.6.4 使用存儲過程作為安全機制
    如果用戶不具有訪問視圖和表的權限,那么通過存儲過程仍能夠讓其查詢相應的數據信息,實現的方法很簡單,只要讓該用戶具有存儲過程的exec 權限就可以了。當然要確保該存儲過程中包含了查詢語句。比如可創建下面的存儲過程:
create procedure selsales as
select * from sales
然后將存儲過程的exec 權限授予用戶,當用戶執行該存儲過程時就可以查看到相應信息。
使用存儲過程的優點在于不必對視圖和表的訪問權限進行分配。

本章小結
    本章主要討論了sql server 的安全性管理問題。涉及到數據庫用戶、角色、權限等作為一名系統管理員或安全管理員,在進行安全屬性配置前,首先要確定應使用哪種身份認證模式。要注意恰當地使用guest 用戶和public 角色,并深刻了解應用角色對于實現數據查詢和處理的可控性所展示出的優點。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿拉善右旗| 许昌县| 石泉县| 嵊泗县| 桂阳县| 梧州市| 吴江市| 盐边县| 康乐县| 广德县| 靖宇县| 黄梅县| 沂水县| 永泰县| 彰化县| 建水县| 射洪县| 微山县| 朝阳区| 南丹县| 扬州市| 米林县| 望江县| 封丘县| 同德县| 馆陶县| 杭州市| 齐齐哈尔市| 阿尔山市| 达州市| 常山县| 哈巴河县| 永济市| 乌鲁木齐市| 井冈山市| 津市市| 柞水县| 商都县| 芦溪县| 东乡县| 乃东县|