小议MSSQL Server 2000的安全及管理
2008-04-02 10:44:40来源:互联网 阅读 ()
那么,到底什么是安全管理呢?简而言之,安全管理是指对需要登入服务器的人员进行管理。在应用程式中,我们会对资料库的各类使用者配置资料操作权限,通常是直接在应用程式中做账号和密码的管理,但这种做法需要撰写程式控制。而SQL Server具备亲切、易操作的图像使用界面,能够方便地管理使用者对SQL Server的存取权限。
SQL Server 安全管理可分为3个层次,即登入账户、资料库的管理和连接特定资料库的权限和使用者对所连接资料库部分的操作权限。下面,我们将针对这3个层次做周详说明。
一、登入账户
任何需要存取 SQL Server的使用者皆需要有一组服务器认可的账户和密码。SQL Server支持2种登入方式,一种为Windows验证,另一种为SQL Server验证。前者只要在SQL Server中建立和Windwos NT/2000对应的登入账户,让使用者登入Windows NT/2000时所用的账户能和在SQL Server中的账户相互对应,即可顺利连上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系统内建8种服务器角色(可把角色想像成Windows NT账号中的群组),他不能更改或新增。当对某一使用者或群组配置好服务器角色后,其便拥有该服务器角色所拥有的权限。服务器角色是将SQL Server的各项管理工作加以分类,如建立账号和资料库备份等,他和资料库角色不相同,后者为对个别资料库的操作权限。
我们简单列出8种服务器角色所拥有的权限。
system administrators 表示系统管理员可执行任何动作。
security administrators 表示管理登入账户。
server administrators 表示配置SQL Server的各项参数。
setup administrators 表示有关replication(复制)的配置和管理扩充预存程式。
process administrators 表示管理SQL Server任何执行中的程式。
disk administrators 表示管理资料库文档。
database administrators 表示建立和更改资料库属性。
bulk insert administrators 表示对可执行bulk insert操作的管理。
2. 角色
SQL Server内建10种资料库角色,他不能更改或删除,但可对个别资料库增加角色。若给予使用者有内建角色中的资料库拥有者权限,他便拥有该资料库的完整操作权。其余各角色的周详权限说明可参考SQL Server的bol(即SQL Server books online),通过查询关键字roles,进入标题为roles的项目,其中有包含内建服务器角色和资料库角色的完整说明,在此不多赘述。需要注意的是,在对使用者分别配置了各种角色(每一使用者或群组可具备多种角色)后,他便拥有任何角色联集的权限,但若其中有某一角色对某一操作权(如对某一表格的select权)配置了拒绝,他将失去了该项权限,换句话说,拒绝权限优于授予权限。
三、资料库中部件的存取权限
对于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加密后再进行传输。由于虚拟表和预存程式的定义是以明码保存在系统资料表中,若要将虚拟表和预存程式加密,可在其建立时在eNTerprise manager中配置加密选项或以 alter 叙述来配置加密。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 如何让您的SQL运行得更快
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash