WEB开发网
开发学院数据库MSSQL Server 剖析SQL Server2005 SQLCLR代码安全性 阅读

剖析SQL Server2005 SQLCLR代码安全性

 2006-08-07 09:14:56 来源:WEB开发网   
核心提示:提要 在SQL Server 2005内运行.NET框架代码是一件令人激动的事情还是一种威胁?本系列文章将全面探讨这类SQLCLR代码的安全问题,以便开发人员和DBA都能够有所借鉴,剖析SQL Server2005 SQLCLR代码安全性,一、 引言编写运行于宿主在任何环境下的CLR中的.NET代码的主要优点之一是代码

提要 在SQL Server 2005内运行.NET框架代码是一件令人激动的事情还是一种威胁?本系列文章将全面探讨这类SQLCLR代码的安全问题,以便开发人员和DBA都能够有所借鉴。

一、 引言

编写运行于宿主在任何环境下的CLR中的.NET代码的主要优点之一是代码存取安全(CAS)。

CAS提供了一种基于代码的而不是基于用户的认证模式以预防各种代码的入侵问题。但是,这种安全模式如何与SQL Server 2005自己的新的增强的安全特征共存呢?默认情况下,你的.NET代码是比较安全的;但是,这两种安全模式很容易发生冲突而且容易给你带来一些问题。在本篇中,我们将简短地分析CAS幕后有关概念和在SQL Server 2005中新引入的一些安全特征;然后,在后面的几篇中分析如何实现在利用SQL Server所提供的高级可编程特征的同时,使这两种系统协同工作。

好消息是,为了实现SQL Server所提供的安全系统和通用语言运行时刻库协同工作,微软已经提供了一定的工具来实现代码控制。但是,也存在许多有趣的问题!

能够用C#,VB或任何其它.NET语言编写存储过程及其它代码模块一直被长期期待,而这正是SQL Server 2005最激动人心的特征之一。开发人员和DBA最终都能够冲破存在于扩展存储过程的Transact-SQL(T-SQL)和C++中的羁绊,而用一种真正的具有高度生产力的语言编写数据库代码!

同时,在数据库服务器的内存空间中运行.NET代码的前景吓坏了某些人,尤其是一些负责保护数据完整性并且确保这些服务器昼夜运行的DBA们。运行一些开发人员的代码(能够完全存取.NET框架和Win32 API)的想法导致许多DBA坚持认为,对运行于服务器中的这样的代码进行维护根本超出他们的能力之外。

通过在会议上进行演讲并进行大量培训活动,以及我向同学和客户提问"是否在服务器上的.NET代码吓坏了他们及其原因"。最终得到下面一些典型的备受关注的问题:

1 2 3 4 5  下一页

Tags:剖析 SQL Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接