性简介

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

  学习保护企业的基础知识

  许多和WindowsNT的系统管理员都兼职着其他的工作,其中兼职最多的应该是微软的SQLServer数据库管理员(DBA)。微软在SQLServer7.0整合了太多的自动管理功能━━正是这一点,使许多企业都认为它们已经不再需要一个专职的DBA,而只需让一名Windows2000或WindowsNT的系统管理员来处理通常由DBA负责管理的事务即可。另一方面,企业又将许多机密的信息存储到了SQLServer数据库中。如果你是一名DBA新手,则需要了解SQLServer的安全模式和如何配置其安全设置,以保证“合法”用户的访问并阻止“非法”访问。

  与以前的老版本相比,SQLServer7.0的安全模式有了很大改进,并且与Windows2000和WindowsNT的安全模式的集成非常紧密。如果你安装的是SQLServer6.5而且没有专职的DBA,我建议你还是升级到SQLServer7.0,因为它的管理相对要简单得多。尽管在写这篇稿子时我是在WindowsNT4.0上运行的SQLServer7.0,但在Windows2000上这些指令和安全问题也同样适用。另外,SQLServer2000与SQLServer7.0之间的区别并不大,因此这篇稿子中提到的一些问题也同样适用于SQLServer2000。
  安全层次和模式

  SQLServer支持三级安全层次。第一个层次是,用户必须登录到SQLServer,或者已经成功登录了一个映射到SQLServer的NT帐号。在SQLServer登录成功并不意味着用户已经可以访问SQLServer上的数据库。第二层次的安全权限允许用户与一个特定的数据库相连接,第三个层次的安全权限允许用户拥有对指定数据库中一个对象的访问权限。例如,可以指定用户有权使用哪些表和视图、运行哪些存储过程。这种三层次的安全结构与Windows2000、WindowsNT安全结构相似,你所掌握的Windows安全知识也适用将会对掌握SQLServer有很大帮助。

  SQLServer有两种验证模式:NT安全模式和混合模式。如果你选择的是NT安全模式并把NT用户登录映射到了SQLServer登录上,那么合法的NT用户也就连到了SQLServer上,不是NT合法用户的用户则不能连接到SQLServer上。在混合模式中,NT用户访问NT和SQLServer的方式与NT安全模式下相同,而一个非法的NT用户则可以通过合法的用户名和口令访问SQLServer(当然,合法的NT用户也可以通过其他合法的用户名和口令而不通过NT登录访问SQLServer)。除非必须使用混合模式,我们建议使用NT安全模式。

  如果要查验或改变SQLServer系统的安全设置,需要打开MicrosoftManagementConsole(MMC)中的SQLServerEnterpriseManager插件,右击服务器的名字,选择“Properties”,再选择“Security”标签,整个过程如图1所示。



如果要改变SQLServer系统的安全设置,需要中止SQLServer的运行并重新启动它(无需重新启动系统。)。在SQLServer的程序文件夹中,选择“ServiceManager”,使用它中止SQLServer服务并重新启动SQLServer服务和SQLServerAgent服务(在中止服务器的运行时同时也中止了代理服务的运行)。

  SQLServer的登录和服务器角色

  在SQLServer7.0中,可以把一个NT组映射到一个SQLServer登录上。无需为每个用户添加一个登录脚本,一个允许与SQLServer连接的NT组中的用户无需输入用户名和口令就可以与一个SQLServer连接。SQLServer根据每个用户各自的NTSID而非它们的组NTSID对用户进行跟踪,因此即使是通过组连接到SQLServer的,在SQLServer也可以判断出每个用户的变化。在一个NT组中增加用户时,该用户即可自动地拥有对SQLServer的访问权,从这个NT组中删除用户时,该用户也就失去了对SQLServer的访问权限。需要牢记的一点是,当在一个NT组中增加用户时,这些用户可以同时获得了对SQLServer的访问权限。

  考虑到NT组和SQLServer之间的联系,在设置SQLServer安全性时首先需要规划NT组和用户策略。如果指定了NTFS访问权限,就可以建立一个全局组并将所有用户都放入这个组中,然后可以打开SQLServerEnterpriseManager,为这个组增加一个SQLServer登录。如果是作为一个NT系统管理员登录的,就会拥有SQLServers的缺省安全设置,可以以DBA的身份登录SQLServer。1

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
阅读更多
个人分类: 数据库
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭