WEB开发网
开发学院数据库MSSQL Server 探讨SQL Server 2005的安全策略 阅读

探讨SQL Server 2005的安全策略

 2007-05-15 09:33:26 来源:WEB开发网   
核心提示: SQL Server 2005的另外一个新特征是允许你改变一个存储过程的执行上下文,你可以通过用EXECUTE AS语句来改变执行上下文进而控制这些数据库对象是以哪些用户身份执行的,探讨SQL Server 2005的安全策略(4),EXECUTE AS语句支持下列选项:EXECUTE A

SQL Server 2005的另外一个新特征是允许你改变一个存储过程的执行上下文。你可以通过用EXECUTE AS语句来改变执行上下文进而控制这些数据库对象是以哪些用户身份执行的。EXECUTE AS语句支持下列选项:

EXECUTE AS CALLER

EXECUTE AS USER='user name'

EXECUTE AS SELF

EXECUTE AS OWNER

EXECUTE AS CALLER是默认选项,这时一个存储过程是以调用用户的身份执行的。使用EXECUTE AS USER选项时,存储过程则用你指定的用户身份执行。当你使用EXECUTE AS SELF时,存储过程用创建者的身份执行。最后,你可以使用EXECUTE AS OWNER来执行存储过程,其身份是该对象的所有者。

四、密码学技术

当你在某一应用程序中使用密码学技术时,你必须设法对密钥(或是一非对称算法的私人密钥或是一对称算法的共享密钥)进行管理。SQL Server 2005提供了两个选项来管理用户密钥:

用户自己管理密钥

由SQL Server为你管理密钥

当你自己管理密钥时,SQL Server用存在于数据库中的一给定口令字来存储对称密钥,这时你必须把该口令字保存在一个秘密的地方。而当由SQL Server来替你管理密钥时,它使用服务主键和数据库主键技术。图4展示了这一概念背后的思想。

图4.SQL Server 2005中的服务和数据库主键

正如你所见,这个服务主键处于服务器级别上。该键在SQL Server安装过程中被创建并且通过数据保护API(DPAPI)保护起来。用几个T-SQL语句,你就能把服务主键复制到一个文件中并能够从文件中恢复回去。

数据库主键处于数据库级上并且必须通过administrator来显式地创建。可以通过口令或服务主键来对该主键进行加密。列表3说明了如何创建数据库主键:

上一页  1 2 3 4 5  下一页

Tags:探讨 SQL Server

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