sqlserver安全问题.ppt

上传人:小飞机 文档编号:5449382 上传时间:2023-07-08 格式:PPT 页数:30 大小:262KB
返回 下载 相关 举报
sqlserver安全问题.ppt_第1页
第1页 / 共30页
sqlserver安全问题.ppt_第2页
第2页 / 共30页
sqlserver安全问题.ppt_第3页
第3页 / 共30页
sqlserver安全问题.ppt_第4页
第4页 / 共30页
sqlserver安全问题.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《sqlserver安全问题.ppt》由会员分享,可在线阅读,更多相关《sqlserver安全问题.ppt(30页珍藏版)》请在三一办公上搜索。

1、10.1 安全控制,安全性指保护数据库,防止不合法的使用所造成的数据泄漏、更改和破坏安全性控制是数据库管理员(或系统管理员)的一个重要任务。,10.1.1 数据库安全控制的一般方法,身份验证用户名和密码访问控制对用户访问数据库对象(表,存储过程、视图等)的权限(查询、插入、删除、修改)的控制文件操作控制操作系统下数据库文件的保护数据加密存储数据库中存储密文。查询时解密,比如密码是加密的,10.1.2 数据库权限的种类和用户的分类,数据库权限的分类维护数据库管理系统的权限备份、恢复操作数据库管理系统的权限创建、修改和删除数据库对象的权限操作(查、插、删、改)数据库数据的权限用户分类Dba,最高权

2、限数据库对象拥有者一般用户,DBMS安全模型,登录名,角色,权限,数据库对象,架构,用户名,数据库,权限层次结构,数据库验证主体是否对安全对象具有权限来控制安全,10.2 sqlserver的安全管理,身份验证架构用户管理权限管理,10.2.1 三个认证过程,系统登录:登录sql server服务器,需要登录名数据库访问:访问数据库,用户登录名要有对应的数据库用户账号。数据操作:操作数据库中数据或对象时,数据库用户账号要有访问相应数据对象的权限,登录名和用户名关系,SQLSERVER把登录名与用户名的关系称为映射。用登录名登录SQLSERVER后,在访问各个数据库时,SQLSERVER会自动查

3、询此数据库中是否存在与此登录名关联的用户名,若存在就使用此用户的权限访问此数据库,若不存在就是用guest用户访问此数据库。一个登录名可以被授权访问多个数据库,但一个登录名在每个数据库中只能映射一次。一个登录可对应多个用户,一个用户也可以被多个登录使用。好比SQLSERVER就象一栋大楼,里面的每个房间都是一个数据库.登录名只是进入大楼的钥匙,而用户名则是进入房间的钥匙.一个登录名可以有多个房间的钥匙,但一个登录名在一个房间只能拥有此房间的一把钥匙。,10.2.2 sql server安全认证,Windows身份验证Windows用户即可访问sql server混合模式即可使用windows身

4、份验证,也可使用sql server身份验证。,10.3 架构,架构是存放数据库对象的容器每个架构都有一个拥有者,每个用户都有一个默认架构。一个完整的数据库对象名:服务器名.数据库名.架构名.对象名使用架构的优点实现了多个对象作为一个集合的授权,更加灵活,10.2.3 创建架构,10.3 架构,架构既然是命名空间,那为什么我们访问一个表的时候,比如写类似于这种语句:SELECT*FROM Table1不需要制定架构名称呢(数据库中对象的全名称写法应该是:服务器名.数据库名.架构名.对象名)?那是因为MS SQL内部解析的机制是这样的(你不写明架构名的话):第一步先在sys架构中找这个表,找不到

5、就在默认架构中找,再找不到就跑到dbo架构中找。创建一个用户的时候,MS SQL都会让你选择一个默认架构,如果你不选的话,那就是dbo。,10.3 管理登录账户,安装sql server之后,系统会自动创建一些登录账户,sa是一个内置的登录账户每个登录名的定义存放在master数据库的syslogins表中。创建登录账户方法Create login使用SMSSSMO或系统存储过程,使用SMSS新建登录名,新建一个t1登录名,不关联账户,查看是否可以进入登录,是否可以查看数据库新建t2登录名,关联到学生成绩管理系统数据库,数据库会自动增加一个t2用户,成绩管理数据库下的对象,查看数据库中学生表、

6、成绩表练习:删除登录名,10.4 数据库用户,使用t2登录名在成绩管理数据库中创建用户u1(无法成功)。断开连接,使用sa登录,在成绩管理数据库中创建用户t1,指定默认登录名t2(无法成功,已对应了t2用户名),指定默认登录名为t1。练习:删除刚才建立的数据库用户,修改验证方式,10.5 权限,只有授权才能操作。权限分类对象权限:常见对象权限select,update,insert,delete,execute语句权限:create datebase/table/view,backup dababase隐含权限:预先定义的,比如固定的数据库角色权限。,10.5 权限,用户权限的管理授予:gra

7、nt,收回:revoke,拒绝:deny面向单一用户权限的设置面向数据库对象权限的设置语句权限的设置Create databaseproceduretable 等Backup database等,建表,给用户添加建表权限在用户权限窗口中除了要指定create table之外,还需要在指定更改/更改任意架构/控制权限才可以运行,权限的再授予,将e1对成绩表的更新权限再授予t1,成绩表右击属性-安全对象页上,10.6 角色,角色:一组具有相同或相似权限的用户构成的组固定的服务器角色(在服务器-安全性-登录名中设置)bulkadmin:可以运行 BULK INSERT 语句。dbcreator:可以

8、创建、更改、删除和还原任何数据库。diskadmin:管理磁盘文件。processadmin:可以终止SQL Server实例中运行的进程。securityadmin:管理登录名及其属性。它们可以GRANT、DENY和REVOKE服务器级和数据库级权限。可以重置SQL Server登录名的密码。serveradmin:可以更改服务器范围的配置选项和关闭服务器。setupadmin:添加和删除链接服务器,并且也可以执行某些系统存储过程。sysadmin:可以在服务器中执行任何活动。,10.6 角色,固定的数据库角色注意这个是在数据库-安全性-用户名中设置用户自定义角色创建授权添加和删除成员用户和

9、角色的权限问题,用户和角色的权限,最后用户的权限=用户权限+用户角色权限-用户拒绝权限-角色拒绝权限用户可以属于不同的角色,则角色权限=角色1权限+角色2权限-角色1拒绝权限-角色2拒绝权限,新建登录名,对应数据库用户名赋予权限给用户赋予对象权限(包含数据库权限)给角色赋予对象权限,然后把用户添加的角色中给用户赋予架构权限给角色赋予架构权限,然后把用户添加的角色中给用户赋予数据库权限给角色赋予数据库权限,然后把用户添加的角色中,作业,在本机sqlserver 2008中添加bank登录名,默认数据库loandb,检验是否可以登录到loandb,具有什么权限?以bank登录,看用户是否具有sel

10、ect bankt的权限,如没有,以sa身份为用户添加查询表bankt权限,作业,以bank用户建表,以bank用户查询legalEntityT表,看是否具有权限,如果无权限,则以sa身份为用户添加数据库的建表权限和选择权限,然后看是否可以建表,是否可查询legalEntityT表添加登录名e1,对应用户名e1,查询loant,看是否具有权限?,作业,给public角色添加查看loant的权限,然后看e1是具有选择loant的权限查看e1是否具有查询legalEntityT的权限,新建一个角色r1,添加用户e1,添加选择legalEntityT的权限,然后再看e1是否具有选择legalEnti

11、tyT的权限拒绝r1选择loant的权限,然后再用e1查询loant看是否可以查询,作业,为e1添加更新bankt表和授予更新bankt表的权限,然后添加新登录名、新用户名e2,将e1的此权限授予e2,用e2登录查看是否具有更新bankt表的权限授予权限grant update on bankt to e2收回权限revoke update on bankt from e2将架构dbo的选择和更新权限授予角色r1,查看e1是否也同时具有了这个权限。,要求,掌握安全管理的概念掌握数据库认证的三个过程掌握sql server提供的安全验证模式的含义和设置方法掌握创建于管理登陆账号和数据库用户的方法掌握权限管理的是三种状态和对数据库用户进行授权的方法,要求,掌握角色的作用掌握创建用户定义的角色并为用户定义的角色授权的方法掌握系统提供的服务器角色和数据库角色的作用熟练掌握综合运用权限管理和角色管理的知识解决实际问题的方法,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号