sqlserver安全问题幻灯片资料

上传人:yulij****0329 文档编号:141464191 上传时间:2020-08-08 格式:PPT 页数:30 大小:331.50KB
返回 下载 相关 举报
sqlserver安全问题幻灯片资料_第1页
第1页 / 共30页
sqlserver安全问题幻灯片资料_第2页
第2页 / 共30页
sqlserver安全问题幻灯片资料_第3页
第3页 / 共30页
sqlserver安全问题幻灯片资料_第4页
第4页 / 共30页
sqlserver安全问题幻灯片资料_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《sqlserver安全问题幻灯片资料》由会员分享,可在线阅读,更多相关《sqlserver安全问题幻灯片资料(30页珍藏版)》请在金锄头文库上搜索。

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

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

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

4、ql 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 使用SMSS SMO或系统存储过程,使用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 权限,

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

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

9、全性-用户名中设置 用户自定义角色 创建 授权 添加和删除成员 用户和角色的权限问题,用户和角色的权限,最后用户的权限=用户权限 +用户角色权限 -用户拒绝权限 -角色拒绝权限 用户可以属于不同的角色, 则角色权限=角色1权限+角色2权限-角色1拒绝权限-角色2拒绝权限,新建登录名,对应数据库用户名 赋予权限 给用户赋予对象权限(包含数据库权限) 给角色赋予对象权限,然后把用户添加的角色中 给用户赋予架构权限 给角色赋予架构权限,然后把用户添加的角色中 给用户赋予数据库权限 给角色赋予数据库权限,然后把用户添加的角色中,作业,在本机sqlserver 2008中添加bank登录名,默认数据库l

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

11、r1,添加用户e1,添加选择legalEntityT的权限,然后再看e1是否具有选择legalEntityT的权限 拒绝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备13022795号 | 川公网安备 51140202000112号