SQL数据库安全性Word文件下载.docx
- 文档编号:17428539
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:5
- 大小:123.75KB
SQL数据库安全性Word文件下载.docx
《SQL数据库安全性Word文件下载.docx》由会员分享,可在线阅读,更多相关《SQL数据库安全性Word文件下载.docx(5页珍藏版)》请在冰豆网上搜索。
、安全层次
SQLServer支持三级安全层次。
在我们登陆到SQL
Server时,其实我们是经过了三步的验证。
第一层次是用户提供正确的账号和密码登录到SQL
Server,或者已经成功登陆了一个可以映射到SQLServer
的windows账号。
但是在SQL
Server登陆并不意味着能够访问数据库,而是要经过第二层次的验证。
第二层次的权限允许用户与一个或多个数据库相连,
这一层次的实现要在数据库对象的用户中绑定登陆账户。
第三个层次的安全权限允许用户拥有对指定数据库
中的对象的访问权限,例如:
可以指定用户有权使用哪些表和视图、运行哪些存储过程。
在第一层次中的windows账其实是在我们装机时给windows指定的自己登陆到
windows系统的账号,而作为windows系统管理员的我们其实也兼职了SQL
Server的管理权,那我们如何设置才能保证只有我们指定的
式。
验证模式,另一种是Windows和SQLServer混合验证模式。
如果我们选择windows模式登陆并把windows账号映射到
SQL
Server的登陆上,那么合法的windows用户也就连接到了
SQLServer中。
中设置。
Windows模式的登陆需要在SQLServer
方法:
打开SQLServer企业管理器,找到安
全性文件夹,打开后再登陆中新建一个windows身份验证模式的账户。
需要注意的是在新建账户时,账户的名称一定要填我们windows账户的名字,如:
我的计算机在用户中名称为张信秀,则在填名称时一定要填张信秀。
SQLServer的验证模式相对windows的登陆模
式在设置上没有特别的要求,只需填上我们的密码即可。
接下来进入我们的重点——角色、权限,首先我们在图上来区分。
在往下说之前我们先介绍下安全账户。
返回到安
全层次上来说,账户在登录到SQLServer后,如果想获得访问某个数据库的权限,是必须要在SQL中获得安全账户
的,确保登陆的账号是安全的,就好比是我们出国的护照签证一样,想要去哪个国家必须获得该国家的签证和出入境章,
这个安全账户就是在数据库对象的用户中绑定一个登陆账
账户、角色、权限他们三者是没有严格的关系的,如果有的话就是角色给账户分配职能,而权限却又限制着角色和账户对数据库的操作。
它们三者就好像是公司里的员工、职权、规章,公司按照职能分配不同的员工,但是每个员工却又受到公司规章的限制。
、数据库角色
数据库角色控制着数据库的安全性。
当最终用户
成功地连接到分析服务器之后,会在那个服务器上的数据库角色中查找最终用户的用户名,来确定用户对数据库的可能操作。
数据库角色在创建时有两种:
1、标准角色:
不允许嵌套,在使
用时只需在安全账户中添加,通过分配权限确保了用户能够进行的操作;
2、应用程序角色:
为了让标准角
把它当做账户看待(因为它是应用程序级别的),它的作用是为权限提供相应的加密,用存储过程sp_setapprole激活才可进行授予权限的操作。
二、权限
权限有三种类型,
1、语句权限:
限制对表update、
insert等的操作,在创建角色时或添加安全用户后设置;
2、对象权限:
限制用户对数据
库对象的创建,在数据库属性内设置;
3、暗示性权限:
SQLServer
数据库自带的那些角色或用户,如:
服务器角色、数据库所有者(dbo)等拥有的权限,不需要了解他,因为它是系统自己设置的用户不能够设置。
最后我们在代码中应用下三者:
[sql]viewplaincopyprint?
/*示例说明:
在数据库company
中创建一个拥有表product的所有权限、拥有表employees
的SELECT权限的角色rtest随后创建了一个登录ltest,然
后在数据库company
中为登录ltest创建了用户账户utest
中,使其通过权限继
同时将用户账户utest添加到角色rtest
承获取了与角色rtest一样的权限最后使用DENY语句拒绝了用户账户utest对表titles的SELECT权限。
经过这样的
--创建角色
处理,使用ltest登录SQLServer实例后,它只具有表
product的所有权限。
*/USEcompany
为pwd,默认数据库为pubsEXECsp_addlogin
对employees表的SELECT权限DENYSELECTON
employeesTOutest
/*--完成上述步骤后,用ltest登录,
可以对company表进行所有操作,但无法对employees表查询,虽然角色rtest有employees表的select权限,但已经在
安全账户中明确拒绝了对employees的select权限,所以
ltest无employees表的select权限--*/--从数据库
company中删除安全账户EXECsp_revokedbaccess'
utest'
--删除登录ltestEXECsp_droplogin'
ltest'
--删除角色rtestEXECsp_droprole'
rtest'
总结:
在新建登陆时,利用服务器角色分配账户的功能,
利用数据库角色管理用户对数据库进行的操作。
在新建角色时为角色分配权限,来限制用户的操作。
懂得SQLServer安全性的机制后,我们就可以开
发自己的数据库安全策略了。
你下一步所需要的可能就是产生一个SQLServer脚本了。
在SQLServer企业管理器中,右击一个数据库,选择“所有任务”,选择“生成SQL脚本”,这个选项能够产生一个脚本,对包括安全策略在内的数据库进行更新。
一个脚本文件可以代替通过鼠标在SQL
Server事件管理器中进行点击和选择的操作,大大减少DBA
的工作量。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 数据库 安全性