小议MSSQLServer2000的安全及管理

小议MSSQLServer2000的安全及管理,第1张

小议MSSQLServer2000的安全及管理,第2张

一般来说,数据库是存储具有某些特征的数据的数据库。通常,我们将使用数据库系统的用户分为四类:数据库设计人员、数据库管理人员、应用程序设计人员和普通用户。其中,数据库管理员负责账户的管理和维护,并决定所有数据库用户的访问权限。数据库安全管理可以说是数据库管理人员最重要的工作。Sql server是微软的企业数据库。它是一个功能强大且易于使用的数据库,可以直接与windows nt/2000用户帐户的安全机制集成。

那么,到底什么是安全管理呢?简而言之,安全管理是指对需要登录服务器的人的管理。在应用中,我们会为数据库的各种用户设置数据操作权限,通常是直接在应用中管理账号和密码,但这种做法需要通过编写程序来控制。Sql server具有友好、易操作的图形用户界面,可以方便地管理用户对sql server的访问权限。

Sql server安全管理可分为三个级别,即登录帐户、数据库管理和连接特定数据库的权限,以及用户操作所连接数据库的权限。下面,我们将详细解释这三个层次。
一、登录账号
任何需要访问sql server的用户都需要一套服务器认可的账号和密码。Sql server支持两种登录方式,一种是windows身份验证,另一种是sql server身份验证。前者只要在sql server中建立windwos nt/2000对应的登录账号就可以成功连接sql server,这样用户登录windows nt/2000时使用的账号就可以和sql server中的账号对应。这样,我们就完成了windows nt/2000安全管理机制的集成。

接下来,数据库管理员在windows nt上登录帐户,可以直接将windows nt中的组添加到sql server中,从而成为登录帐户。

通过以上操作,windows nt登录组的所有成员都可以连接到sql server。如果不允许该组的成员登录sql server,则可以在sql server中将该成员的个人帐户设置为“拒绝访问”。如果sql server安装在Windows 95、windows 98或windows me中,则不能使用windows身份验证。

如果使用sql server身份验证,则必须在sql server中为希望连接到sql server的用户建立登录帐户名和密码。这些帐户名和密码与windows nt/2000帐户无关。

二。管理和连接特定数据库的权限
登录帐户建立后,用户可以进入sql server,但不代表用户有连接sql server特定数据库的权限,必须赋予用户或组操作sql server的权限。sql server中数据库的操作权限可以分为服务器本身的操作权限和数据库的访问权限。sql server的操作权限可以由服务器角色来设置,而数据库的访问权限可以由角色和用户对各个表的访问权限来设置。那么,服务器角色和角色的区别是什么呢?

1.服务器角色
SQL server系统中内置了八个服务器角色(将这些角色视为windows nt帐户中的组),这些角色不能更改或添加。当用户或组被设置了服务器角色时,它拥有服务器角色所拥有的权限。服务器角色是对sql server的管理工作进行分类,如建立账号、数据库备份等,与数据库角色不同,数据库角色是对单个数据库的操作权限。

我们简单列举一下八个服务器角色的权限。
系统管理员是指系统管理员可以执行任何操作。
安全管理员意味着管理登录帐户。
服务器管理员是指设置sql server的各种参数。
setup administrators是指用于设置和管理复制的扩展存储过程。
进程管理员是指管理sql server所有正在运行的程序。
磁盘管理员就是管理数据库文件。
数据库管理员是指创建和更改数据库属性。
大容量插入管理员是指管理可执行的大容量插入操作。

2.角色
SQL Server内置了10种数据库角色,这些角色不能更改或删除,但是可以将角色添加到各个数据库中。如果用户在内置角色中被授予数据库所有者权限,则他或她拥有数据库的完全操作权限。其他角色的详细权限描述请参考sql server的bol (sql server联机丛书)。通过查询关键字roles,可以进入标题为Roles的项目,里面包含了对内置服务器角色和数据库角色的完整描述,这里不再赘述。需要注意的是,用户被设置了各种角色(每个用户或组可以有多个角色)后,将拥有所有角色的权限。但是,如果其中一个角色对某个操作权限(例如选择表的权限)设置了拒绝,它将失去权限。换句话说,拒绝权限优于授予权限。

三。数据库中组件的访问权限
对于sql server的管理和连接特定数据库的权限,sql server提供的服务器角色和数据库角色基本可以满足我们的大部分需求。此外,可以直接为用户或组设置对数据库中各部分的单独访问权限,如select、insert、update、delete、exec和dri,其中exec和dri分别代表存储过程的执行权限和表的验证权限。在直接设置权限时,我们也可以针对特殊用户(比如内置数据库角色无法满足时)。当然,如果有很多用户使用相同的权限,我们可以添加一个符合要求的数据库角色,或者在windows nt/2000上将这些用户放入一个组中,然后为这个组设置权限。这样更便于管理和维护。

除了以上内容,在实际操作中,笔者总结了以下几点对数据库安全检查的建议。
1。除非必要,否则尽量使用windows身份验证来管理可以连接到sql server的用户,以集成windows nt/2000的安全机制。
2。用好sql server的服务器角色和数据库角色功能。
3。用好sql server的加密功能。

Sql server为登录帐户、网络传输、虚拟表和存储过程提供加密功能。账号的密码加密是预置的,而网络之间传输的数据可以用ssl加密。要启动该功能,必须启动net-library的加密功能,并结合windows 2000的ca功能在服务器端和客户端进行设置,这样双方在传输数据前都会对数据进行加密,然后在ssl加密后再进行传输。由于虚拟表和存储过程的定义以纯文本形式存储在系统表中,因此如果要加密虚拟表和存储过程,可以在企业管理器中设置加密选项,或者在创建虚拟表和存储过程时使用alter语句设置加密。

4.系统安装后,一定要更改预设的sa密码,这样其他用户就没有义务管理您的sql server。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 小议MSSQLServer2000的安全及管理

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情