APP下载

基于小型企业数据库安全性管理的实验设计

2015-01-21孟龙梅

滁州职业技术学院学报 2015年1期
关键词:身份验证右键对象

孟龙梅

(滁州职业技术学院,安徽 滁州239000)

随着计算机在各行各业的广泛使用、互联网技术的不断发展,数据库技术的应用范围也不断扩大。企业的各种信息都可以通过数据库存储。数据库可以简单的理解为存放数据的“仓库”。有些数据库能保存单位几年甚至是几十年的各种信息。数据库如果保护不利,就会给单位和人个造成不可估量的损失。例如个人财产被盗、企业的数据丢失等等。数据库的安全,它直接影响的企业的发展,甚者影响企业的生存。

随着数据库技术的发展,对掌握数据库安全性管理技术的人员需求与日俱增,对数据库安全控制能力的要求也不断提高。怎样才能实现数据库的安全性管理呢?这就需要学生对数据库安全性管理方面有足够的了解。下面以SQL Server 数据库管理系统软件为例设计基于小型企业的数据库管理的安全性实验。

一、实验情境设计

某小型企业已建立采用B/S 结构设计的销售管理系统,其后台数据库名称为example,products 表和orders 表是example 数据库中的两张表。要求用户a~e 能登录数据库服务器并按照设计的访问控制权限访问相应的服务器及数据库资源,访问用户及权限设置如表1 所示:

表1 用户及访问权限设置表

二、实验技术分析

本实验主要实现在SQL SERVER 中对数据库安全性的管理问题。首先明确SQL Server 中身份验证的种类和实现步骤,然后再熟悉为用户分配登录账号和权限的操作方法,对于SQL Server 安全性的各种管理,尤其是对数据库访问控制操作有深入要求。要管理数据库安全性,必须了解各种账号和权限,因为安全性就是通过它们的分配来实现的。所以掌握它们的区别和用处非常重要。

(一)SQL SERVER 身份验证模式

SQL SERVER 身份验证模式指SQL SERVER如何处理用户名和密码的问题,SQL SERVER 提供两种身份验证模式。

1、Windows 身份验证模式,在这种方式下,用户只可以使用Windows 身份登陆连接到SQL Server,由Windows 操作系统对客户端进行身份验证。我们知道,SQL Server 和Windows 同属于微软公司的产品。当使用Windows 身份验证连接到SQL Server时,SQL Server 使用Windows 操作系统中的信息验证账户名和密码,用户不必重复提交登录名和密码。

这种验证方式的弊端在于若采取B/S 结构服务器,远程客户机无法连接到服务器,这时须使用混合验证模式。

2、混合验证模式,即可以同时使用Windows 身份验证和SQL Server 身份验证。使用具体验证方式取决于在最初通信时使用的网络库。如果一个用户使用TCP/IP 进行登录验证,则使用SQL Server 身份验证;如果用户使用命名管道,则登录时将使用Windows 身份验证。[1]

图1 SQL Server 安全性决策树

通过以上两种身份验证模式,用户如果想使用指定的登录名称和密码连接到SQL Server,SQL Server会按照图1所示的安全性决策树进行安全身份验证。

本实验中要实现在采用B/S结构设计的销售管理系统中让不同的客户端用户能访问服务器的数据库资源,所以身份验证模式可以设置为“SQL Server和Windows身份验证模式”。

(二)账号和权限

1、登录帐户

登录账户是让用户登录到SQL Server服务器中用的账号,如果用户不能登录SQL Server的服务器,也就不能访问该服务器上的数据库资源。在实验中,需要创建登录帐户logina~logine,让这些帐户都能登录数据库服务器。

2、数据库用户

一个SQL Server服务器下面可以建多个数据库。能登录到SQL Server服务器,不一定能访问到服务器中的数据库。在实验中,需要创建数据库用户userb~usere,使这些数据库用户都能访问sample数据库。

3、角色

为了便于管理数据库的的权限,SQL Server提供了若干“角色”,“角色”就是用一种方法来把用户集中到一个单元中,并在此单元上应用权限。SQL Server提供了预定义的服务器角色和数据库角色,也可以在数据库中创建用户自定义的数据库角色。在实验中,用到如下两个固定的服务器角色和数据库角色:

sysadmin固定服务器角色的成员可以在数据库引擎中执行任何活动。

db_backupoperat or固定数据库角色的成员可以备份数据库。

由于本实验中用户a需要访问控制全部服务器资源,即用户a要求完全的数据库服务器访问权限,所以用户a应设置为固定服务器角色sysadmin的成员之一,使之成为服务器的超级管理员。用户a的安全访问流程如图2所示。

图2 用户a 安全访问流程

用户b 要能备份数据库,可以将其添加到数据库角色db_backupoperat or 中,用户b 的安全访问流程如图3 所示。

图3 用户b 安全访问流程

用户c 与用户d 都要访问数据库中的表,所不同的是具体的访问对象及访问权限,在实验中可以创建两个自定义的数据库角色R1 和R2,将用户userc、用户userd 分别添加到R1 角色R2 角色中。

4、权限

在为用户和角色分配登录帐户后,还必须为他们分配权限以增强数据库的安全性。权限详细地说明了可以让用户使用哪些数据库对象,并可以对它们进行哪些处理。用户在数据库内的权限取决于用户帐户的权限和该用户所属的角色成员。在实验中为R1 角色授予查询、修改products 表的权限,为R2角色授予查询orders 表的权限,为用户usere 添加访问products 表、orders 表的权限。用户c~用户d 访问数据库资源的控制方式如图4 所示。

图4 用户c~用户e 安全访问流程

三、实验过程

该实验需要每人PC 机一台,操作系统为Windows xp 或win7,实验的数据库管理系统软件为SQL Server 2005 或SQL Server 2008。

(一)设置身份验证模式

首先用Windows 身份验证方式进入SSMS,登陆到数据库引擎。在“对象资源管理器”中右键单击根目录,弹出“服务器属性选择页”,在该页中设置“安全性”,勾选“Sql Server 和Windows 身份验证模式”后,点击“确定”按钮。右键单击数据库服务器,在弹出的快捷菜单中单击“停止”,先停止MS SQL Server 服务,然后再右键单击数据库服务器,在弹出的快捷菜单中选择“启动”,将MS SQL Server 服务重新启动。

(二)创建用户

1、创建登录账号

在“对象资源管理器”中的“安全性”中右键单击“登录名”,选择“新建登录名…”命令,创建登录名logina~logine。也可在查询窗口中输入命令:

2、创建数据库用户

展开example 数据库,在其“安全性”中,右键单击“用户”,选择“新建用户…”命令,为example 数据库添加用户userb~usere。在查询窗口中的命令如下:

(三)角色设置

1、固定服务器角色设置

在“对象资源管理器”中,依次展开“安全性”、“服务器角色”,右键单击“sysadmin”服务器角色,选择“属性”命令,在“服务器角色属性”选择页中,添加用户usera 到sysadmin 服务角色里。对应在查询窗口中的命令如下:

2、固定数据库角色设置

在“对象资源管理器”中,展开example 数据库,依次展开“安全性”中、“角色”、“数据库角色”,找到里面的角色“db_backupoperator”,添加用户userb 到这个角色中去。对应的命令如下:

3、新建用户定义的数据库角色

在“对象资源管理器”中,展开example 数据库,依次展开“安全性”中、“角色”,再右键单击“数据库角色”,选择“新建数据库角色…”命令,为example数据库添加两个用户定义数据库角色R1 和R2,并分别为其添加角色成员“userc”和“userd”。命令如下:

(四)为用户和角色分配权限

在“对象资源管理器”中,右键单击“R1”角色,选择“属性”命令,在弹出的“数据库角色属性”选择页中设置安全对象为“products”,授予角色对象的增、删、查、改权限。同样可以授予“R2”角色对“orders”的查询权限,语句如下:

在“对象资源管理器”中,在“usere”用户的属性中添加安全对象为“products”、“orders”,并为之授予对象的增、删、查、改权限,语句如下:

(五)结果校验

分别以用户a~e 对应的登录账号登录到SQL Server 服务器中,依次校验每个用户所对数据库example 能够进行的访问权限,例如使用用户b 的身份登录,看能否只能备份example 数据库而不能访问和备份其他数据库;以用户c 的身份登录,能否查询products 表,而不能查询其它数据库资源;以用户e登陆,是不是可以对products、orders 两张表都能进行增、删、查、改的操作等等。请学生务必用每个用户的身份进行登录、比较操作以校验数据库安全访问控制实验过程的正确性。

四、实验总结

本次实验主要是通过建立用户、为用户赋权限、建立角色、给用户、角色授予权限等操作让学生掌握数据库的安全性管理、数据库访问控制的操作。在实验操作前,同学们一定要弄清楚SQL Server 的身份验证模式、数据访问权限,然后再根据企业要求考虑设置哪些登录账号、数据库用户、角色、权限。数据库安全性管理是多方面的,除SQL Server,还涉及到操作系统、网络安全等等。作为数据库管理人员,同学们应对数据库安全管理有全方面的了解,掌握更多的安全管理方法,维护数据库安全。

[1]Microsoft.企业数据库的安装、配置和管理[M].北京:高等教育出版社,2005.

[2]罗耀军.数据库应用技术项目教程[M].北京:电子工业出版社,2011.

[3]李素华.数据库管理安全措施分析[J].黄河水利职业技术学院,2007,(04).

[4]胡登卫.SQL Server 数据库安全策略研究[J].南阳师范学院学报,2008,(09).

[5]李长春.基于小型企业网络应用实验综述[J].滁州职业技术学院2014,(02).

猜你喜欢

身份验证右键对象
涉税刑事诉讼中的举证责任——以纳税人举证责任为考察对象
轻松整理Win10右键菜单
自定义“开始”右键控制菜单
攻略对象的心思好难猜
用右键菜单管理右键菜单
人脸识别身份验证系统在养老保险生存核查中的应用
基于熵的快速扫描法的FNEA初始对象的生成方法
给Windows 10右键菜单做“手术”
区间对象族的可镇定性分析
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia