实验九 数据库安全性

  • 格式:doc
  • 大小:633.00 KB
  • 文档页数:15

实验九SQL Server 安全管理一、实验目的1.掌握创建登录帐号的方法;2.掌握创建数据库用户的方法;3.掌握语句级许可权限管理;4.掌握对象级许可权限管理。

二、实验内容背景知识对任何企业组织来说,数据的安全性最为重要。

安全性主要是指允许那些具有相应的数据访问权限的用户能够登录到SQL Server,并访问数据以及对数据库对象实施各种权限范围内的操作,但是要拒绝所有的非授权用户的非法操作。

因此安全性管理与用户管理是密不可分的。

SQL Server 2000 提供了内置的安全性和数据保护,并且这种管理有效而又容易。

SQL Server 2000 的安全性管理是建立在认证(authentication)和访问许可(permission)两者机制上的。

认证是用来确定登录SQL Server 的用户的登录账号和密码是否正确,以此来验证其是否具有连接SQL Server 的权限。

但是通过认证阶段并不代表该用户能够访问SQL Server 中的数据,用户只有在获取访问数据库的权限之后,才能够对服务器上的数据库进行权限许可下的各种操作(主要是针对数据库对象,如表、视图、存储过程等),这种用户访问数据库权限的设置是通过用户账号来实现的,同时在SQL Server 中,角色作为用户组的代替物大大地简化了安全性管理。

1. 管理SQL Server登录认证模式一、介绍SQL Server的登录认证模式SQL Server 2000提供了两种确认用户的登录认证模式:Windows认证模式和混合认证模式。

1.Windows认证模式SQL Server数据库系统通常运行在NT服务器平台或基于NT 构架的Windows2000上,而NT作为网络操作系统,本身就具备管理登录、验证用户合法性的能力,所以Windows认证模式正是利用这一用户安全性和账号管理的机制,允许SQL Server也可以使用NT的用户名和口令。

在该模式下,用户只要通过Windows 的认证就可连接到SQL Server,而SQL Server本身也不需要管理一套登录数据。

2.混合认证模式在混合认证模式下,Windows认证和SQL Server 认证这两种认证模式都是可用的。

NT的用户既可以使用NT认证,也可以使用SQL Server 认证。

在SQL Server认证模式下,用户在连接SQL Server时必须提供登录名和登录密码,这些登录信息存储在系统表syslogins中,与NT的登录账号无关。

SQL Server自己执行认证处理,如果输入的登录信息与系统表syslogins 中的某条记录相匹配则表明登录成功。

注:该方式常用于系统开发中,因为客户机常常与服务器不是同一台计算机,必须使用该方式进行登录。

二、设置SQL Server的登录认证模式可以使用企业管理器来设置SQL Server的登录认证模式。

在企业管理器中,展开SQL Server服务组,右键单击需要设置的SQL Server服务,从弹出的菜单中选择“属性”命令,如图所示。

SQL服务的快捷菜单弹出“SQL Server属性(配置)”对话框,选择“安全性”选项卡,如下图所示。

在“安全性”区中选择“SQL Server和Windows”或“仅Windows”单选按钮来设置登录认证模式。

注意:设置改变后,用户必须停止并重新启动SQL Server服务,新设置才能生效。

设置登录认证模式2. 管理登录账号SQL Server有两个默认的用户登录账号:即sa和administrators\builtin。

sa是系统管理员,它是SQL Server的一个超级登录账号,这个账号具有操作SQL Server服务器的一切权限。

BUILTIN\Administrators组成员的 Windows NT 4.0 或 Windows 2000 用户自动成为 sysadmin 固有服务器角色成员。

一、使用企业管理器管理SQL Server登录账号1.分别创建Windows身份验证的登录帐号和使用SQL Server身份验证的登录帐号。

例1:创建Windows身份验证的登录帐号WinUser,设置默认数据库student和可访问数据库master。

(1)在Windows中打开“控制面板”,在“用户帐户”中添加一个用户WinUser。

(2)在企业管理器中,展开实例下的“安全性”,右击“登录”按钮,在弹出的快捷菜单中选择“新建登录”,打开SQL Server登录属性对话框。

在“常规”选项卡中,单击“名称”输入框右侧的按钮,从列表框中选择WinUser账号,在“身份验证”选项中,选择“Windows身份验证”。

默认数据库选择student单击确定,完成登陆账号WinUser的创建。

选择一个Windows NT用户或用户组增加一个Windows NT用户或用户组(3)选择“服务器角色”选项卡,可以在服务器角色列表框中选择相应的服务器角色成员。

如图所示。

在这里,设置登录用户WinUser的服务器角色为系统管理员。

“服务器角色”选项卡(4) 选择“数据库访问”选项卡,如下图所示,在列表框中列出了该账号可以访问的数据库,如果单击数据库左边的复选框,表示该用户可以访问相应的数据库。

在这里,选中数据库master和student左边的复选框,表示登陆用户WinUser可以访问的数据库为master和student。

“数据库访问”选项卡(5)查看当前登录账号,如图所示,可以看到WinUser已存在,查看它的属性。

登录账号列表同时,打开企业管理器,展开数据库student,选择“用户”节点,在用户列表中可以看到数据库student中已经建立一个数据库用户WinUser,如图所示。

数据库用户列表(6)验证用WinUser账号登录SQL Server:首先在操作系统中注销当前用户的登陆,将用户切换到WinUser,再用此账号连接SQL Server查询分析器,用Windows身份验证登录,可以进入查询分析器,使用数据库master和student。

例2:创建使用SQL Server身份验证的登录账号SQLUser,设置默认数据库为master数据库,可访问的数据库为所有的数据库。

(1)在企业管理器中,展开实例下的“安全性”,右击“登录”按钮,在弹出的快捷菜单中选择“新建登录”,打开SQL Server登录属性对话框。

在“常规”选项卡中,单击“名称”输入框右侧的按钮,从列表框中选择SQLUser账号,在“身份验证”选项中,选择“SQL Server身份验证”,并且输入密码。

在“数据库”下拉列表框中选择master。

增加一个SQL Server用户注意:采用该方法创建的SQL Server登录账号只能用于登录SQL Server服务,与登录的计算机的Windows账号无关,不能用此账号登录Windows。

(2)单击“数据库访问”选项卡,在“指定此登录可以访问的数据库”中,将所以有数据库都选中。

(3)单击“确定”按钮,在“确认密码”对话框中再次输入密码,单击“确定”,完成账号的创建。

(4)双击查询分析器,用SQLUser账号登录,可以进入查询分析器。

3管理数据库用户数据库用户用来指出哪一个人可以访问哪一个数据库。

用户对数据的访问权限以及对数据库对象的所有关系都是通过用户账号来控制的。

用户账号总是基于数据库的,即两个不同数据库中可以有两个相同的用户账号。

在数据库中,用户账号与登录账号是两个不同的概念。

一个合法的登录账号只表明该账号通过了NT 认证或SQL Server 认证,但不能表明其可以对数据库数据和数据对象进行某种或某些操作,只有当他同时拥有了用户账号后,才能够访问数据库。

所以一个登录账号总是与一个或多个数据库用户账号(这些账号必须分别存在相异的数据库中)相对应,这样才可以访问数据库。

例如,登录账号sa 自动与每一个数据库用户dbo 相关联。

一、使用企业管理器管理数据库用户例1:给数据库student增加一个用户dbuser。

1.打开企业管理器,展开服务器组,展开服务器,选择要创建用户的数据库,如student,用鼠标右键单击“用户”节点,从弹出的菜单中选择“新建数据库用户”命令。

弹出“新建用户”对话框,如图所示。

在“登录名”下拉框中选择一个登录账号,在“用户名”文本框中输入数据库用户的名称,如dbuser,然后选择相应的数据库角色,单击“确定”按钮,即可完成数据库用户的创建。

“新建数据库用户”对话框2.删除数据库student中的数据库用户dbuser。

在企业管理器中,用鼠标右键单击要删除的数据库用户,如dbuser,从快捷菜单中选择“删除”命令即可。

4. 管理数据库角色SQL Server 2000 服务器和数据库都有自己的固有角色。

固有角色是指 SQL Server 2000 预先定义好的系统角色。

用户不能修改这些角色的任何属性,也不能创建新的服务器固有角色和数据库固有角色。

数据库角色是在数据库的安全级别上创建,一个数据库角色只在其所在的数据库中有效,对其他数据库无效。

在数据库中,除了有固有的数据库角色外,还可以自定义数据库角色,同时根据需要,可以为数据库角色添加成员或删除自定义角色。

一、使用企业管理器管理数据库角色1.创建自定义的数据库角色例1:给数据库studnet增加一个角色NewRole,同时将用户WinUser添加到该角色中。

在企业管理器中,展开要添加角色的数据库,如student,用鼠标右键单击“角色”节点,从弹出的菜单中选择“新建数据库角色”命令,弹出“新建角色”对话框,如图所示。

在“名称”文本框中输入数据库新角色的名称,如NewRole,并选中“标准角色”单选按钮,然后单击“添加”按钮,在弹出的“添加角色成员”对话框中选择要添加的用户,如WinUser。

单击“确定”按钮,完成角色创建。

新建数据库角色2.删除自定义的数据库角色例2:删除数据库student的自定义角色NewRole。

在企业管理器中,用鼠标右键单击要删除的自定义角色,如NewRole,从弹出的菜单中选择“删除”命令即可删除自定义角色。

注意:不能删除一个有成员的角色,在删除角色之前,应先删除其成员。

5. 管理许可(权限)许可用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作。

用户在登录到SQL Server之后,其用户账号所归属的NT组或角色所被赋予的许可(权限)决定了该用户能够对哪些数据库对象执行哪种操作以及能够访问、修改哪些数据。

在SQL Server中包括对象许可和语句许可。

一、使用企业管理器管理权限1.进行语句级许可权限管理:例1:授予用户WinUser可以在数据库student中创建视图和表。