成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

全面講解CLR安全性

開發(fā) 后端
文章主要介紹了CLR安全性和CLR提供給它運行的.NET代碼和它運行的主機4種服務(wù),代碼存取安全性的簡介。希望對大家有幫助。

大家都知道CLR是公共運行庫語言,現(xiàn)在給大家分析一下關(guān)于CLR安全性,代碼存取安全性的原理機制。

一、 CLR安全性

在第一篇中,我們已經(jīng)討論了宿主于和在SQL Server內(nèi)執(zhí)行的.NET代碼的安全環(huán)境-從SQL Server的角度來觀察SQLCLR代碼模塊。但是CLR使用其自己的安全模型。一旦SQL Server同意進行所有的許可權(quán)檢查并且允許代碼執(zhí)行,那么這種模型就會"強制介入"。僅僅因為它能夠執(zhí)行并不意味著它能夠做它想做的任何事情。

CLR提供給它運行的.NET代碼和它運行的主機許多服務(wù)。這些服務(wù)包括:
1)類型安全檢查-校驗代碼能夠以良好定義的方式來存取內(nèi)存結(jié)構(gòu);
2)基于角色的安全-根據(jù)由誰運行代碼;
3)代碼存取安全-在這種情況下,許可權(quán)的授予是基于代碼特征而不是基于誰在運行代碼;
4)應(yīng)用程序域-它提供在宿主進程中實現(xiàn)安全執(zhí)行地帶。

在數(shù)據(jù)庫中的所有具有相同所有者的程序集都被加載到同一個AppDomain中,不管它們被安裝到哪個數(shù)據(jù)庫中。在一個AppDomain中的每一個程序集都能夠通過反射找到另外每一個其它程序集。既然它們具有相同的所有者,所以SQL Server不必執(zhí)行它自己的權(quán)限檢查,這有助于性能的改進。但是這些措施并不能解決實際存在的代碼存取安全問題。

CLR還強制實行宿主保護屬性(HPA)-允許一個宿主(在此情況下,是指SQL Server)控制允許SQLCLR代碼使用.NET框架的指定部分。其實,在可靠性方面,還有除了安全性外的其它方面的內(nèi)容。

二、CLR安全性之代碼存取安全性

CLR提供的最重要的服務(wù)之一是代碼存取安全性(CAS)。CAS的基本原則是,為代碼賦予特權(quán),而不是針對用戶。如果你已習(xí)慣于Windows或SQL Server模式的把許可權(quán)賦予用戶和登錄而不是它們正在執(zhí)行的代碼,這聽上去似乎有些奇怪。但是,就算SQLCLR代碼在一個管理用戶的安全上下文下執(zhí)行,它也可能不具有所有可用的許可權(quán)。事實上,在SQL Server內(nèi)部執(zhí)行的SQLCLR代碼幾乎一定不會擁有所有許可權(quán)-這稱為"完全信任"。

下面是一些有關(guān)于CAS工作的基本知識。當(dāng)加載一個程序集以響應(yīng)一個SQLCLR存儲過程、函數(shù)或其它代碼模塊的調(diào)用時,由CLR負責(zé)搜集證據(jù)。它使用該證據(jù)來把該程序集指派給一個或多個代碼組。每一個被指派的代碼組都有一個通過某種運行時刻安全策略(使用會員條件來決定代碼被指派到哪里)指派的權(quán)限集。一種權(quán)限相應(yīng)于操作被保護的內(nèi)容的一種權(quán)力。總之,代碼要求調(diào)用者必須擁有某種許可權(quán)才可以執(zhí)行特定的行為。

如果這些對于你來說都是陌生概念,那么你需要首先對開發(fā)安全的應(yīng)用程序的這些極其重要的部分有個透徹了解為好。而且,對于理解SQLCLR代碼在執(zhí)行時所具有的許可權(quán)來說,理解CAS是最關(guān)鍵的。

那么,SQL Server是如何把SQL Server和CLR安全環(huán)境融合到一起的呢?要理解的第一事情是,這些系統(tǒng)保護著兩個資源集合。第一個集合包含SQL Server對象和數(shù)據(jù)。SQL Server的安全環(huán)境保護對它自己的對象的存取,甚至包括對它所宿主的SQLCLR代碼的保護。

CLR保護對于其它一切的存取。這"其它一切"是指什么呢?是指在SQL Server實例外部的資源,包括磁盤文件、注冊表設(shè)置、其它的數(shù)據(jù)庫、網(wǎng)絡(luò)資源和Web服務(wù)。這意味著,對于保護在它的宿主SQL Server實例內(nèi)的任何內(nèi)容來說,CAS什么也沒有做。

現(xiàn)在,讓我們稍作停頓再作進一步考慮。讓我們先搞明白,哪種安全系統(tǒng)保護哪些關(guān)鍵內(nèi)容。當(dāng)然,我們也可以用另一種方式來描述同樣的事情:在SQL Server內(nèi)授予的許可權(quán)保護它的所有的數(shù)據(jù)和對象以免為任何類型的執(zhí)行代碼所調(diào)用,而不管這些代碼是用T-SQL或是用SQLCLR編寫。CLR的CAS保護對于SQL Server外部所有資源的存取。

這樣以來,一個必然的結(jié)論就是:對于保護一個SQL Server實例的對象或數(shù)據(jù)來說,CAS什么也不沒有做。

【編輯推薦】

  1. 運用SQL SERVER 2005 CLR解決XML Showplan實例
  2. .Net Compact Framework CLR設(shè)計系列之JIT編譯器講解
  3. 全面分析CLR與操作系統(tǒng)關(guān)系
  4. CLR Via C#教程之裝箱和拆箱講述
  5. CLR VIA C#教程之基元類型 值類型 引用類型介紹
責(zé)任編輯:田樹 來源: 中國網(wǎng)絡(luò)
相關(guān)推薦

2010-05-17 16:26:36

IIS安全

2010-04-08 13:29:27

Windows Emb

2010-02-06 10:26:55

Android進程

2011-03-25 09:46:16

Informix數(shù)據(jù)庫安全性安全審計

2009-11-30 09:41:38

2010-01-05 18:08:11

2013-12-06 13:39:18

TechEd2013

2009-11-16 16:25:36

2011-03-22 14:35:23

Oracle數(shù)據(jù)庫安全措施

2009-10-21 09:35:10

Windows 7安全性能

2012-12-26 10:53:26

2009-11-23 09:07:14

2011-01-04 16:20:26

linux安全性

2009-09-17 18:27:40

CLR是什么

2010-03-16 17:53:23

2009-12-07 16:48:33

WCF 安全性

2009-12-22 18:52:06

WCF安全性

2011-08-11 15:20:45

路由器安全

2013-01-11 14:00:18

云存儲云計算云安全

2019-03-12 18:00:33

httpWeb安全Javascript
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 看片网站在线 | 91精品国产一区二区三区 | 中文一区 | 一区二区三区四区在线 | 免费看91 | 久久精点视频 | 欧美成人在线网站 | 在线播放国产一区二区三区 | 久久天天综合 | 日本黄色大片免费 | 一级毛片在线播放 | 欧美一区二区在线观看 | 亚洲成人免费观看 | 精品国产乱码久久久久久丨区2区 | 精品国产一区二区三区久久影院 | 精品粉嫩aⅴ一区二区三区四区 | 欧美性受xxxx | 国产福利在线视频 | 国产999精品久久久久久 | 国产成人免费视频网站高清观看视频 | 久久成人综合 | 国产精品久久久久久久久久免费看 | 日韩a| 午夜精品一区二区三区在线视频 | 日韩在线欧美 | 国产精品高潮呻吟久久av黑人 | 欧美日本亚洲 | 香蕉视频91 | 91大神在线资源观看无广告 | 日本黄色的视频 | 手机av在线 | 午夜影视大全 | 免费在线一区二区 | 亚洲精品二区 | 日韩伦理电影免费在线观看 | 亚洲成av人片在线观看无码 | 中文字幕精品一区久久久久 | 亚洲精品91 | 在线观看国产www | 午夜网站视频 | 小视频你懂得 |