管理SQL Server 的安全

上传人:jiups****uk12 文档编号:45714176 上传时间:2018-06-18 格式:PPT 页数:57 大小:218KB
返回 下载 相关 举报
管理SQL Server 的安全_第1页
第1页 / 共57页
管理SQL Server 的安全_第2页
第2页 / 共57页
管理SQL Server 的安全_第3页
第3页 / 共57页
管理SQL Server 的安全_第4页
第4页 / 共57页
管理SQL Server 的安全_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《管理SQL Server 的安全》由会员分享,可在线阅读,更多相关《管理SQL Server 的安全(57页珍藏版)》请在金锄头文库上搜索。

1、第19章管理SQL Server 的安全本章内容nSQL Server的安全机制nSQL Server的标准登录模式nSQL Server的集成登录模式n使用企业管理器建立登录账户nSQL Server数据库安全性n角色n权限SQL Server的安全机制n操作系统安全性(第一层)nSQL Server的安全性n数据库的安全性nSQL Server数据库对象的安全性SQL Server的安全性n服务器级的安全性(第二层)n建立在登录SQL Server的登录账号/密码 的基础之上。n两种验证模式n标准SQL Server登录模式n集成Windows NT登录模式数据库的安全性n数据库级的安全性

2、(第三层)n限制用户能够访问哪些数据库n设值用户登录的默认数据库n不要将用户的默认数据库设为master数 据库数据库对象的安全性(一)n数据库对象级的安全性(第四层)n创建对象时,对象的创建者就是对象的 拥有者;n对象的拥有者可以实现对对象的完全控 制;n数据库的拥有者拥有该数据库内所有对 象的权限数据库对象的安全性(二)User/RoleUser/RoleSELECTSELECTEva Ivan David public INSERTINSERTUPDATEUPDATEDELETEDELETEDRIDRISQL Server的标准登录模式n创建登录账户n特殊账户san修改和删除账户创建登录

3、账户n采用标准登录模式实现SQL Server服务器的登 录连接,用户必须具有合法的登录账号和密码 。n创建登录用户的语法: sp_addlogin loginame = login , passwd = password , defdb = database , deflanguage = language , sid = sid , encryptopt = encryption_option 创建登录账户举例(一)n创建一个test登录账号 Sp_addlogin test,test,pubsn查询登录账号信息 use master go select convert(varbinary

4、(32),password) from syslogins -这是一个系统视图 where name = test创建登录账户举例(二)n创建一个test2登录账号,不对密码进行 加密。 Sp_addlogin test2, test2, pubs, encryptopt = skip_encryptionn查询登录账号信息 select convert(varchar(32),password) from syslogins where name = test2特殊账户sanSQL Server自带的特殊登录账号sanSa账号拥有服务器和所有数据库n具有最高的权限修改和删除账户nsp_def

5、aultdb: 修改登录账户的默认数据 库nsp_defaultlanguage: 修改登录账户的默 认语言nsp_password:修改登录账户的密码nSp_droplogin: 删除登录账户修改和删除账户举例(一)nSp_defaultdb语法: sp_defaultdb loginame = login , defdb = databasen修改test账号的默认数据库为northwind Exec sp_defaultdb test,northwind修改和删除账户举例(二)nsp_password语法: sp_password old = old_password , new = n

6、ew_password , loginame = login n修改test账户的密码为111 Exec sp_password test,111,test课堂练习n1. 创建一个登录账户student,要求不对 密码加密,默认数据库为pubs。n2. 尝试使用新的登录账号和密码登录服 务器。n3. 修改student账号的默认数据库为 northwindn4. 修改student账号的密码SQL Server的集成登录模式n将windows登录与SQL Server登录集成在 一起。n将windows NT/2000的用户和工作组映 射为SQL Server的登录账户。n由操作系统(wind

7、ows NT/2000)代替 SQL Server执行登录审查的任务。集成登录模式举例n一. 创建windows 2000用户/工作组;n控制面板-管理工具-计算机管理n创建一个windows用户user001n二. 将windows 2000的用户/工作组设为 SQL Server的登录账户;nsp_grantlogin loginame = loginnsp_grantlogin TCuser001修改/删除集成登录账号nSp_denylogin:禁止某个windows用户/ 工作组访问SQL Server服务器;nSp_revokelogin:撤销某个windows用户 /工作组登录SQ

8、L Server的权限;n注意上面两者的区别:一个是明确禁止 登录,一个是撤销现有登录。使用企业管理器建立登录账户SQL Server数据库安全性n添加数据库用户n数据库用户与登录账户的关系n删除数据库用户n特殊数据库用户数据库用户与登录账户的关系n建立一个登录账号,使得用户可以登录 SQL Server,但是该用户还不具备使用 数据库的权利;n建立一个数据库用户,使得该用户与某 个登录账号相关联,这样,这个登录用 户就可以使用某个数据库了。添加数据库用户n使用sp_grantdbaccess添加数据库用户 ;n语法: sp_grantdbaccess loginame = login,nam

9、e_in_db = name_in_dbn一般可以省略name_in_db,使得数据 库用户名就是登录账户名(即: name_in_db = login),避免混淆。添加数据库用户举例n将test账户添加为pubs数据库的一个用户 use pubs -注意:这里要进入pubs数据库 go exec sp_grantdbaccess testn注意:这里虽然完成了添加数据库用户 的工作,但是该用户的权限还有待添加 。默认情况下,新数据库用户具有public 角色。删除数据库用户n使用sp_revokedbaccess删除数据库用户 ,实际上就是断开登录账户与数据库用 户的关系。n语法: sp_r

10、evokedbaccess name_in_db = name_in_dbn比如:exec sp_revokedbaccess test特殊数据库用户dbondbo是数据库的拥有者,SQL Server自带 的用户,默认的,每个数据库的拥有者 都是dbo;n所有数据库的dbo用户都对应于sa登录账 号;n此用户无法删除;特殊数据库用户guestn现有的数据库除了model数据库,都有 guest用户。nguest用户使得所有登录到SQL Server的用户都 可以访问现有数据库。n实际上,如果一个登录账号没有和一个数据库 用户关联,那么,如果数据库有geust用户, 这个登录账号就和guest

11、用户相关联。如果数 据库没有guest用户,这个登录账号就不能访 问该数据库。使用企业管理器管理数据库用 户n使用企业管理器,可以方便的管理数据 库用户:新建、删除课堂练习n5. 使用企业管理器察看northwind数据库有没 有guest用户,如果有,删除它。n6. 使用student登录账号登录,看能不能查看 northwind数据库中的表。n7. 将student登录添加为northwind数据的一个 用户。重做6。n8. 使用企业管理器管理登录账号和数据库用户 (完成添加登录账号、数据库用户,删除登录 账号、数据库用户的工作)。角色n角色概述n固定服务器角色n固定数据库角色n创建角色角

12、色概述(一)n什么是权限?n任何用户如果要访问数据库中的对象,首先 他必须获得访问该对象的权限。n比如:student用户如果要查询dbo用户的某 个表tab1中的内容,student用户首先需要 获得dbo.tab1表的select权限。n比如: student用户如果要更新dbo用户的 表tab1中的内容,student用户首先需要获 得dbo.tab1表的update权限。角色概述(二)n什么是角色?n角色是一组权限的集合。n为什么需要角色?n方便服务器、数据库的权限管理。n比如:可以将一组权限赋给一个角色,然后 再将这个角色赋给数据库用户或登录账户, 从而登录账户和数据库用户就具有了这

13、组权 限。固定服务器角色n固定的服务器角色是由系统自动提供的 ;n服务器角色用来管理服务器的相关权限 ;n可以从 sp_helpsrvrole 获得固定服务器 角色的列表;n可以从sp_srvrolepermission获得每个角 色的特定权限。固定数据库角色n固定的数据库角色是由系统自动提供的 ;n数据库角色用来管理数据库的相关权限 ;n可以从 sp_helpdbfixedrole 获得固定数 据库角色的列表;n可以从 sp_dbfixedrolepermission 获得每 个角色的特定权限。特殊的数据库角色publicn存在于所有数据库中n所有的数据库用户都属于public角色;n新建一

14、个用户,他默认就具有public角色 ;n不能删除public角色创建角色nSQL Server允许使用新的数据库角色;n注意:这个角色只在某个数据库范围内 可用。n使用sp_addrole创建新数据库角色;n语法: sp_addrole rolename = role , ownername = owner 创建角色举例n在pubs数据库中创建一个新的数据库角 色:managers use pubs go sp_addrole managers创建角色注意nSQL Server 角色可以包含 1 到 128 个字符,包 括字母、符号及数字。但是,角色不能: n含有反斜线符号 ()。n为 NU

15、LL,或为空字符串 ()。 n在添加角色之后,可以使用sp_addrolemember 添加安全帐户,使其成为该角色的成员。n添加新的角色之后,还可以给这个角色授予新的 权限。当使用 GRANT、DENY 或 REVOKE 语句将 权限应用于角色时,角色的成员将继承这些权限 ,就好像将权限直接应用于其帐户一样。添加角色成员语法nsp_addrolemember rolename = role , membername = security_accountn关于security_account:是数据库中的用户 ,不是登录账号。添加角色成员举例Sp_addlogin m1,111,pubs -新建登录账号 use pubs -注意:这里要进入pubs数据库 go sp_grantdbaccess m1,Tom -新加数据库用户 Tom,与m1登录账号关联 go sp_addrolemember managers,Tom 将Tom 用户加入到managers角色中课堂练习n9. 使用sa账号登录,在pubs数据库中创 建一个新的角色,developers。n10. 将stu用户添加为developers角色的一 个成员。权限n权限概述n授予权限n撤销权限n拒绝访问权限概述(一)nSQL Serve

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号