实验8数据库的安全性.docx
- 文档编号:5536079
- 上传时间:2022-12-19
- 格式:DOCX
- 页数:15
- 大小:2.43MB
实验8数据库的安全性.docx
《实验8数据库的安全性.docx》由会员分享,可在线阅读,更多相关《实验8数据库的安全性.docx(15页珍藏版)》请在冰豆网上搜索。
实验8数据库的安全性
实验八SQLServer安全性管理
一、实验目的
●理解SQLServer2000的两种登录认证模式
●掌握SQLServer2000中有关用户、角色及操作权限的管理方法
二、背景知识
对任何企业组织来说,数据的安全性最为重要。
安全性主要是指允许那些具有相应的数据访问权限的用户能够登录到SQLServer,并访问数据以及对数据库对象实施各种权限范围内的操作,但是要拒绝所有的非授权用户的非法操作。
因此安全性管理与用户管理是密不可分的。
SQLServer2000提供了内置的安全性和数据保护,并且这种管理有效而又容易。
SQLServer2000的安全性管理是建立在认证(authentication)和访问许可(permission)两者机制上的。
认证是用来确定登录SQLServer的用户的登录账号和密码是否正确,以此来验证其是否具有连接SQLServer的权限。
但是通过认证阶段并不代表该用户能够访问SQLServer中的数据,用户只有在获取访问数据库的权限之后,才能够对服务器上的数据库进行权限许可下的各种操作(主要是针对数据库对象,如表、视图、存储过程等),这种用户访问数据库权限的设置是通过用户账号来实现的,同时在SQLServer中,角色作为用户组的代替物大大地简化了安全性管理。
三、实验步骤
1.设置SQLServer的登录认证模式
可以使用企业管理器来设置SQLServer的登录认证模式。
在企业管理器中,展开SQLServer服务组,右键单击需要设置的SQLServer服务,从弹出的菜单中选择“属性”命令,如图6-1所示。
图6-1SQL服务的快捷菜单
弹出“SQLServer属性(配置)”对话框,选择“安全性”选项卡,如图6-2所示。
在“安全性”区中选择“SQLServer和Windows”或“仅Windows”单选按钮来设置登录认证模式。
注意:
设置改变后,用户必须停止并重新启动SQLServer服务,新设置才能生效。
图6-2设置登录认证模式
2.管理登录账号
1)、使用企业管理器管理SQLServer登录账号
1.增加一个WindowsNT用户或用户组
例如:
增加一个WindowsNT用户“XXX(XXX代表机器名)\user”。
以操作系统管理员的身份登录WindowsNT,在“控制面版”中创建一用户帐户“user”
打开企业管理器,展开服务器组,展开服务器,然后展开“安全性”节点,用鼠标右键单击“登录”节点,从弹出的菜单中选择“新建登录”命令,如图6-3所示。
图6-3选择“新建登录”命令
弹出“新建登录”对话框,选择“常规”选项卡,如图6-4所示。
单击“名称”文本框后的按钮,弹出如图6-5所示的对话框,在该对话框中选择要添加的WindowsNT用户或用户组,在这里选择用户XXX\user,单击“确定”按钮后,回到图6-4所示的对话框,同时用户XXX\user显示在“名称”文本框中了,然后在“身份验证”区中选择“Windows身份验证”,同时,单选按钮“允许访问”和“拒绝访问”用来指定该用户是否可以登录到SQLServer。
图6-4增加一个WindowsNT用户或用户组
图6-5选择WindowsNT用户或用户组
选择“服务器角色”选项卡,可以在服务器角色列表框中选择相应的服务器角色成员。
如图6-6所示。
在这里,设置登录用户XXX\user的服务器角色为系统管理员。
图6-6“服务器角色”选项卡
选择“数据库访问”选项卡,如图6-7所示,在列表框中列出了该账号可以访问的数据库,如果单击数据库左边的复选框,表示该用户可以访问相应的数据库。
在这里,选中数据库CPXS左边的复选框,表示登陆用户XXX\user可以访问的数据库为CPXS。
图6-7“数据库访问”选项卡
单击“确定”按钮,成功增加了一个WindowsNT用户XXX\user。
打开企业管理器,展开服务器组,展开服务器,然后展开“安全性”节点,选择“登录”节点,在登录列表中可以看到刚才增加的WindowsNT用户XXX\user,如图6-8所示。
图6-8登录账号列表
同时,打开企业管理器,展开数据库CPXS,选择“用户”节点,在用户列表中可以看到数据库DBS中已经建立一个数据库用户user,如图6-9所示。
图6-9数据库用户列表
2.增加一个SQLServer用户
例如:
增加一个SQLServer用户,用户名为“lwh”,密码为“lwhpass”。
打开企业管理器,展开服务器组,展开服务器,然后展开“安全性”节点,用鼠标右键单击“登录”节点,从弹出的菜单中选择“新建登录”命令,如图6-10所示。
图6-10选择“新建登录”命令
弹出“新建登录”对话框,选择“常规”选项卡,如图6-11所示。
在“名称”文本框中输入登录名,如lwh,在“身份验证”区中选择“SQLServer身份验证”,在“密码”文本框中输入密码,如lwhpass,单击“确定”按钮,即可增加一个SQLServer用户,用户名为“lwh”,密码为“lwhpass”。
图6-11增加一个SQLServer用户
注意:
采用该方法创建的SQLServer登录账号只能用于登录SQLServer服务,与登录的计算机的Windows账号无关,不能用此账号登录Windows。
3.修改用户
例如:
修改刚才创建的SQLServer用户lwh的属性。
在企业管理器中,展开服务器,然后展开“安全性”节点,选择“登录”节点,用鼠标右键单击登录列表中登录用户lwh,从弹出的菜单中选择“属性”命令,如图6-12所示。
图6-12选择“属性”命令
弹出“SQLServer登录属性”对话框,如图6-13所示,选择“常规”选项卡,在“密码”文本框中可以输入该用户的新密码。
图6-13修改用户lwh的密码
4.删除用户
例如:
删除SQLServer用户lwh。
在企业管理器中,用鼠标右键单击要删除的登录账号,如lwh,从快捷菜单中选择“删除”命令即可,如图6-8所示。
图6-8删除登录账号lwh
3.管理数据库用户
数据库用户用来指出哪一个人可以访问哪一个数据库。
用户对数据的访问权限以及对数据库对象的所有关系都是通过用户账号来控制的。
用户账号总是基于数据库的,即两个不同数据库中可以有两个相同的用户账号。
在数据库中,用户账号与登录账号是两个不同的概念。
一个合法的登录账号只表明该账号通过了NT认证或SQLServer认证,但不能表明其可以对数据库数据和数据对象进行某种或某些操作,只有当他同时拥有了用户账号后,才能够访问数据库。
所以一个登录账号总是与一个或多个数据库用户账号(这些账号必须分别存在相异的数据库中)相对应,这样才可以访问数据库。
例如,登录账号sa自动与每一个数据库用户dbo相关联。
1)、使用企业管理器管理数据库用户
1.通过建立一个登录用户增加一个数据库用户
在建立登录帐号时指定用户帐号,此时用户帐号和登录帐号相同。
方法如上节“增加一个WindowsNT用户或用户组”
2.增加一个数据库用户
例如:
给数据库CPXS增加一个用户dbuser。
打开企业管理器,展开服务器组,展开服务器,选择要创建用户的数据库,如CPSX,用鼠标右键单击“用户”节点,从弹出的菜单中选择“新建数据库用户”命令,如图6-14所示。
图6-14选择“新建数据库用户”命令
弹出“新建用户”对话框,如图6-15所示。
在“登录名”下拉框中选择一个登录账号,在“用户名”文本框中输入数据库用户的名称,如dbuser,然后选择相应的数据库角色,单击“确定”按钮,即可完成数据库用户的创建。
图6-15“新建数据库用户”对话框
3.删除一个数据库用户
例如:
删除数据库CPXS中的数据库用户dbuser。
在企业管理器中,用鼠标右键单击要删除的数据库用户,如dbuser,从快捷菜单中选择“删除”命令即可,如图6-16所示。
图6-16删除数据库用户dbuser
4.管理数据库角色
SQLServer2000服务器和数据库都有自己的固有角色。
固有角色是指SQLServer2000预先定义好的系统角色。
用户不能修改这些角色的任何属性,也不能创建新的服务器固有角色和数据库固有角色。
数据库角色是在数据库的安全级别上创建,一个数据库角色只在其所在的数据库中有效,对其他数据库无效。
在数据库中,除了有固有的数据库角色外,还可以自定义数据库角色,同时根据需要,可以为数据库角色添加成员或删除自定义角色。
1)、使用企业管理器管理数据库角色
1.创建自定义的数据库角色
例如:
给数据库CPXS增加一个角色NewRole,同时将用户user添加到该角色中。
在企业管理器中,展开要添加角色的数据库,如DBS,用鼠标右键单击“角色”节点,从弹出的菜单中选择“新建数据库角色”命令,如图6-19所示。
图6-19选择“新建数据库角色”命令
弹出“新建角色”对话框,如图6-20所示。
在“名称”文本框中输入数据库新角色的名称,如NewRole,并选中“标准角色”单选按钮,然后单击“添加”按钮,在弹出的“添加角色成员”对话框中选择要添加的用户,如user。
单击“确定”按钮,完成角色创建。
图6-20新建数据库角色
2.删除自定义的数据库角色
例如:
删除数据库DBS的自定义角色NewRole。
在企业管理器中,用鼠标右键单击要删除的自定义角色,如NewRole,从弹出的菜单中选择“删除”命令即可删除自定义角色。
如图6-21所示。
图6-21删除数据库自定义角色
注意:
不能删除一个有成员的角色,在删除角色之前,应先删除其成员。
5.管理许可(权限)
许可用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作。
用户在登录到SQLServer之后,其用户账号所归属的NT组或角色所被赋予的许可(权限)决定了该用户能够对哪些数据库对象执行哪种操作以及能够访问、修改哪些数据。
在SQLServer中包括对象许可和语句许可。
1)、使用企业管理器管理权限
在SQLServer中通过两种途径可实现对语句许可和对象许可的管理,从而实现对用户权限的设定。
这两种途径分别为面向单一用户和面向数据库对象两种许可设置。
1.面向单一用户的许可设置
为某一用户设置其对当前数据库所有对象的访问权限。
例如:
设置数据库CPXS的dbo用户的权限。
在企业管理器中,右键单击要修改权限的用户,如CPXS数据库的dbo用户,从弹出的菜单中选择“属性”命令,如图6-24所示。
图6-24选择“属性”命令
弹出“数据库用户属性”对话框,如图6-25所示。
图6-25“数据库用户属性”对话框
单击“权限”按钮,弹出“数据库用户属性”对话框,如图6-26所示,该对话框列出了数据库的所有对象和这些对象可以执行的操作,
练习:
给用户dbo授予对表“销售表”执行SELECT权限,
图6-26面向单一用户的许可设置
说明:
许可权限中复选框单击为勾号时:
表示授予该权限。
许可权限中复选框单击为叉号时:
表示角色或用户不具有该操作权限。
许可权限中复选框既没勾号,也没叉号时:
表示角色或用户是否具有该操作权限要根据隐含规则来决定。
2.面向数据库对象的许可设置
为某一数据库对象设置当前数据库所有用户对其的访问权限。
练习:
设置数据库CPXS中产品表的权限。
在企业管理器中,右键单击要设置权限的数据库表,如Course,从弹出的菜单中选择“所有任务”命令,然后再选择“管理权限”命令,如图6-27所示。
图6-27选择“管理权限”命令
弹出“对象属性”对话框,如图6-28所示,该对话框列出了数据库的所有用户和角色以及具有的权限。
图6-28面向数据库对象的许可设置
二、使用Transact-SQL语句管理权限
可以使用Transact-SQL语言的GRANT、REVOKE命令完成权限的授予和收回。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 数据库 安全性