探讨SQL Server 2005的安全策略
2007-05-15 09:33:26 来源:WEB开发网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说明了如何创建数据库主键:
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接