SQL安全-管理备份与恢复2.docx
《SQL安全-管理备份与恢复2.docx》由会员分享,可在线阅读,更多相关《SQL安全-管理备份与恢复2.docx(40页珍藏版)》请在咨信网上搜索。
1、工程9: CJGL数据库的平安管理对任何企业组织来说,数据的平安性最为重要。平安性主要是指允许那些具有相应的数据访问权限的用户,能够登录到SQL Server并访问数据以及对数据库对象实施各种权限范围内的操作。但是要拒绝所有的非授权用户的非法操作。因此平安性管理与用户管理是密不可分的。SQL Server 2005 提供了内置的平安性和数据保护。SQL Server 2005 的平安性管理是建立在认证Authentication 和访问许可permission 两者机制上的认证,是指来确定登录SQL Server 的用户的登录账号和密码是否正确以此来验证其是否具有连接SQL Server 的权
2、限,但是通过认证阶段并不代表能够访问SQL Server 中的数据用户,只有在获取访问数据库的权限之后才能够对效劳器上的数据库进行权限许可下的各种操作,主要是针对数据库对象,如表、视图、存储过程等。这种用户访问数据库权限的设置是通过用户帐号来实现的,同时在SQL Server 中角色作为用户组的代替物大大地简化了平安性管理。能力目标: 能够配置效劳器的身份验证模式; 能够创立并配置登录账户; 能够为登录账户配置数据库访问许可; 能够为数据库用户指定数据访问权限; 能够通过角色设置批量实现用户权限管理。知识目标: 熟悉SQL Server 2005的平安机制; 掌握效劳器登录账户的管理方法; 掌
3、握数据库用户的权限管理方法; 理解角色的作用;工作任务: 效劳器登录账户管理; 数据库用户管理。任务1:效劳器登录账户管理【任务描述】:用户要访问数据库,必须具备登录SQL Server效劳器的权限,可以通过两种途径登录效劳器:一是通过Windows系统用户身份;二是通过有效的SQL Server账户身份。用户如果不通过默认账户登录,那么必须为其创立登录账户。 子任务1:创立登录账户Win_User,通过Windows身份验证,并映射到CJGL数据库;子任务2:创立登录账户Sql_User,通过SQL Server身份验证,并映射到CJGL数据库;【预备知识】1、SQL Server 2005
4、身份验证机制平安身份验证用来确认登录SQL Server的用户的登录账号和密码的正确性,由此来检验该用户是否具有连接SQL Server效劳器的权限。任何用户在使用SQL Server效劳器之前,必须经过身份验证。SQL Server 2005提供了两种身份验证模式,分别是Windows身份验证和SQL Server身份验证。1.1 Windows身份验证SQL Server效劳器运行于Windows效劳器之上,而Windows作为网络操作系统,本身具备管理登录、验证用户是否合法的能力,因此Windows身份验证模式就是用户通过自己合法的Windows账户和口令进行验证,只要用户具备登录操作系
5、统的权限,即可连接SQL Server效劳器1.2 SQL Server身份验证启用该模式通常也称为“混合验证模式,该认证模式下,用户连接SQL Server效劳器必须提供登录名和密码,这些登录信息存储在系统表syslogins中,与Windows账号无关。注意:如果SQL Serve效劳器启用了混合验证模式,那么不但可以通过SQL Server账号登录,也可以请求Windows验证,然后通过Windows账户登录。Windows身份验证平安性要比SQL Server验证高的多,因为SQL Server效劳器相比,操作系统具有更高的平安机制。【任务实施】子任务1:创立登录账户Win_User,
6、通过Windows身份验证,并映射到CJGL数据库;1、创立Windows系统账户,账户名为Win_User,步骤如下:1在“桌面右键单击,选择“管理,翻开计算机管理窗口;2展开“本地用户和组节点,右键单击“用户,选择“新用户命令,如下所示:3然后在弹出的新用户对话框中输入用户名及密码,如下所示:4单击“创立按钮。2、将SQL Serve身份验证方式改为“Windows验证:1以系统管理员账户登录SQL Server效劳器,如下所示:2在效劳器节点上右键单击,选择“属性,如下所示:3在弹出的效劳器属性窗口中,选择“平安性节点,然后在右边选中“Windows身份验证模式,如下所示:4更改后,必须
7、重启效劳器才能是设置生效,如下所示:5单击“确定后,在效劳器节点上右键单击,选择“重新启动,如下所示:3、将Win_User设置为SQL Server登录账户1展开选择效劳器节点下的“平安性节点,在“登录名节点右键单击,选择“新建登录名2在弹出的“登录名窗口中,单击“搜索按钮如果要输入登录名,必须确保输入正确,如下所示:3在弹出的“选择用户和组对话框中,单击“高级按钮,如下所示:4然后单击“立即查找按钮,在下面列出的对象中选择“Win_User,如下所示:5单击“确定按钮,这时候在登录名文本框中会出现“FANXINGANGWin_User这里的FANXINGANG视具体机器而定6用户映射即使该
8、登录账户具有访问数据库的权限:在“登录名窗口中,选择“用户映射项,然后在数据库列表中选择“CJGL,“数据库角色成员身份保持默认。如下所示:7将Win_User设置为SQL Server登录账户后,可以通过Windows系统的切换用户方式,以Win_User登录操作系统,然后再连接SQL Server效劳器,过程略。8登录账号创立成功后,可以通过该账号进行连接SQL Server效劳器,登录效劳器后,只能访问CJGL数据库,而不具备访问其他数据库的权限。比方要向访问“BooK数据库,将会出现以下错误:子任务2:创立登录账户Sql_User,通过SQL Server身份验证,并映射到CJGL数据
9、库;1、将SQL Server效劳器身份验证方式改为“SQL Server和Windows身份验证模式,过程同上;2、重启效劳器后,如上述过程翻开“登录名窗口,然后在登录名文本框中输入“SQL_User,选中“SQL Server身份验证单项按钮,输入密码及确认密码。如下所示:3、用户映射方式同上,不再赘述。任务2:数据库用户管理【任务描述】创立了登录账户后,实际上只具备了连接效劳器的权限,即便在创立登录账户的时候进行了用户映射,默认状态下,映射后的数据库用户的数据库角色是“public,仍旧不具备访问用户定义对象的权限,因此需要为数据库创立相应用户并赋予相应权限。子任务1:为CJGL数据库创
10、立用户“DB_User,该用户通过登录账户“SQL_User登录效劳器;子任务2:对用户“DB_User进行权限设置,其权限如下表所示“*表示具备权限:平安对象权限SELECTINSERTUPDATEDELETEdepartment*Class*Student*Course*Teacher*Timetable*score*子任务3:创立数据库角色“User_Role,其平安对象及权限设置为上表所示,并将数据库用户“DB_User的数据库角色设置为“User_Role【预备知识】1、数据库用户与架构1.1 数据库用户登录名:效劳器方的一个实体,使用一个登录名只能进入效劳器,但是不能让用户访问效劳
11、器中的数据库资源。每个登录名的定义存放在master数据库的syslogins表中数据库用户名:一个或多个登录对象在数据库中的映射,可以对用户对象进行授权,以便为登录对象提供对数据库的访问权限。用户定义信息存放在每个数据库的sysusers表中。SQL SERVER把登录名与用户名的关系称为映射。用登录名登录SQL SERVER后,在访问各个数据库时,SQLSERVER会自动查询此数据库中是否存在与此登录名关联的用户名,假设存在就使用此用户的权限访问此数据库,假设不存在就是用guest用户访问此数据库。一个登录名可以被授权访问多个数据库,但一个登录名在每个数据库中只能映射一次。即一个数据库中只
12、能有一个用户名通过该登录名登录。好比SQLSERVER就象一栋大楼,里面的每个房间都是一个数据库。登录名只是进入大楼的钥匙,而用户名那么是进入房间的钥匙。一个登录名可以有多个房间的钥匙,但一个登录名在一个房间只能拥有此房间的一把钥匙。连接SQL Server效劳器使用的是登录名而不是数据库用户名。SQLSERVER中有几个特殊的登录名和用户名:我们常见的dbo(用户名)是指以sa(登录名)或windows administration(Windows集成验证登录方式)登录的用户,也就是说数据库管理员在SQL SERVER中的用户名就叫dbo,而不叫 sa,这一点看起来有点蹊跷,因为通常用户名与
13、登录名相同(不是强制相同,但为了一目了然通常都在创立用户名时使用与登录名相同的名字),例如创立了一个登录名称为me,那么可以为该登录名me在指定的数据库中添加一个同名用户,使登录名me能够访问该数据库中的数据.当在数据库中添加了一个用户me 后,之后以me登录名登录时在该数据库中创立的一切对象(表,函数,存储过程等)的所有者都为me,如me.table1,me.fn_test(),而不是dbo.table1,dbo.fn_test()。SQL Server中还有一个特殊的数据库角色public,它存在于每一个数据库中,包括系统数据库,如master、msdb、model和用户数据库,数据库的所
14、有用户都属于public角色,并且不能从public角色中删除。在SQLSERVER数据库中,guest帐户是特殊的用户帐户。如果用户使用USE database语句访问的数据库中没有与此用户关联的帐户,此用户就与guest用户相关联。1.2 架构schema以往 SQL Server 内的对象命名是“效劳器.数据库.用户名.对象,但SQL Server 2005版本后的对象命名改为“效劳器.数据库.Schema.对象。这让你规划数据库对象命名时更有弹性。架构是形成单个命名空间的数据库实体的集合。命名空间是一个集合,其中每个元素的名称都是唯一的。数据库引擎权限层次结构之间的关系图在 SQL S
15、erver 2005 中,架构独立于创立它们的数据库用户而存在,亦即用户与架构别离,这种机制具有以下优点: 多个用户可以通过角色成员身份或 Windows 组成员身份拥有一个架构。这扩展了允许角色和组拥有对象的用户熟悉的功能。 极大地简化了删除数据库用户的操作:删除数据库用户不需要重命名该用户架构所包含的对象。因而,在删除创立架构所含对象的用户后,不再需要修改和测试显式引用这些对象的应用程序。 用户与架构schema分开,让数据库内各对象再绑在某个用户账号上,可以解决之前版本“用户离开公司问题,也就是在拥有该对象的用户离开公司,或离开该职务时,必要大费周章地改该用户所有的对象属于新的用户所有。
16、 另外,也可让 DBA 在安装某个套装软件时,设置该套装软件所用的数据库对象都属于某个特定的架构,容区别。也就是说,在单一数据库内,同部门或目的的对象,可以通过架构区分同的对象命名原那么与权限。 可以用比早期版本中的粒度更大的粒度管理架构和架构包含的对象的权限。2、效劳器角色和数据库角色2.1 效劳器角色是固化在SQL Server效劳器中的角色,每个效劳器角色都有其隐含的权限。使用系统存储过程sp_srvrolepermission可以浏览每个固定效劳器角色的权限。该系统过程的语法形式为:sp_srvrolepermissionsrvrolename = role_name固定效劳器角色权限
17、说明Sysadmin被赋予了SQL Server中的任何权限Serveradmin向该效劳器角色中添加其他登录运行dbcc pintable命令(从而使表常驻于主内存中)运行系统过程sp_configure(以显示或更改系统选项)运行reconfigure选项(以更新系统过程sp_configure所做的所有改动)使用shutdown命令关掉数据库效劳器运行系统过程sp_tableoption为用户自定义表设置选项的值Setupadmin向该效劳器角色中添加其他登录添加、删除或配置链接的效劳器执行一些系统过程,如sp_serveroptionSecurityadmin向该效劳器角色中添加其他登
18、录读取SQL Server的错误日志运行如下的系统过程:如sp_addlinkedsrvlogin、sp_addlogin、sp_defaultdb、sp_defaultlanguage、sp_denylogin、sp_droplinkedsrvlogin、sp_droplogin、sp_grantlogin、sp_helplogins、sp_remoteoption和sp_revokelogin(所有这些系统过程都与系统平安相关。)Processadmin向该效劳器角色中添加其他登录执行KILL命令(以取消用户进程)Dbcreator向该效劳器角色中添加其他登录运行CREATE DATABA
19、SE和ALTER DATABASE语句使用系统过程sp_renamedb来修改数据库的名称Diskadmin向该效劳器角色中添加其他登录运行如下系统过程:sp_ddumpdevice和sp_dropdevice。运行DISK INIT语句2.2 数据库角色数据库角色被限制在一个数据库内,数据库角色分为两类:固定数据库角色和用户定义数据库角色。固定数据库角色包括如下几类:固定数据库角色权限说明db_owner可以执行数据库中技术所有动作的用户db_accessadmin可以添加、删除用户的用户db_datareader可以查看所有数据库中用户表内数据的用户db_datawriter可以添加、修改
20、或删除所有数据库中用户表内数据的用户db_ddladmin可以在数据库中执行所有DDL操作的用户db_securityadmin可以管理数据库中与平安权限有关所有动作的用户db_backoperator可以备份数据库的用户(并可以发布DBCC和CHECKPOINT语句,这两个语句一般在备份前都会被执行)db_denydatareader不能看到数据库中任何数据的用户db_denydatawriter不能改变数据库中任何数据的用户除了上表中列出的固定数据库角色之外,还有一种特殊的固定数据库角色,名为public。public角色是一种特殊的固定数据库角色,数据库的每个合法用户都属于该角色。它为数
21、据库中的用户提供了所有默认权限。这样就提供了一种机制,即给予那些没有适当权限的所有用户以一定的(通常是有限的)权限。public角色为数据库中的所有用户都保存了默认的权限,因此是不能被删除的。一般情况下,public角色允许用户进行如下的操作: 使用某些系统过程查看并显示master数据库中的信息 执行一些不需要一些权限的语句(例如PRINT)3、平安对象与权限管理平安对象是指授权用户可以访问的对象集合。权限是指授权用户在拥有的平安对象上可以执行的操作。权限管理包括权限的授予、拒绝和收回,可以通过SSMS向导和T-SQL语句实现权限管理。【任务实施】子任务1:为CJGL数据库创立用户“DB_U
22、ser,该用户通过登录账户“SQL_User登录效劳器;注意:开始本任务之前,需将CJGL数据库用户SQL_User任务1-子任务2创立删除,因为一个登录名只允许一个数据库用户绑定!1展开数据库CJGL,展开其“平安性节点,选择“新建用户命令,如下所示:2在弹出的“数据库用户窗口中,在用户名文本框中输入“DB_User,如下所示:3单击登录名文本框右边的选择按钮,翻开“选择用户名对话框。如下所示:4单击“浏览按钮,翻开“查找对象对话框,在对象列表中选择“SQL_User见任务1-子任务2,如下所示:5依次单击“确定按钮,将创立数据库用户DB_User,但是该用户目前没有任何实际权限!子任务2:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 安全 管理 备份 恢复
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。