您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第十章安全性管理Convertor
第十章SQLServer2000的安全性管理●本章要点:了解SQLServer2000的两种登录模式掌握管理两类SQLServer2000登录账户的方法掌握管理SQLServer2000数据库用户的方法掌握管理SQLServer2000数据库对象的方法掌握管理语句权限和对象权限的方法本章教学内容:10.1安全性管理概述10.2SQLServer2000的登录身份验证管理10.3角色管理10.4SQLServer2000数据库的安全性管理10.5SQLServer2000数据库对象的安全性管理安全性:主要是指根据用户访问权限的不同,来决定用户是否可以登录到当前的SQLServer数据库,以及可以对数据库实施哪些操作。数据的安全性:是指保护数据以防止因不合法的使用造成数据的泄密和破坏。认证:是指SQLServer对来访用户身份进行了检验,并根据结果,决定该用户是否可以连接服务器以该用户可以访问哪些数据的过程。认证:服务器认证数据库认证10.1.1服务器认证服务器认证是在用户访问SQLServer数据库服务器之前,操作系统本身或数据库服务器对来访用户进行的身份合法性验证。服务器认证:Windows认证SQLServer认证服务器认证是SQLServer安全性认证的第一步,用户只有通过服务器认证后,才可以连接到SQLServer服务器,否则,服务器将拒绝用户对数据库的连接请求。一、Windows认证其实质就是使用“服务器平台”对用户账号安全性的认证。只需要用户通过“服务器平台”用户的检验,SQLServer就不再对该用户进行安全性检验了,此用户可以成功地连接到SQLServer数据库服务器。优点:SQLServer身份验证相比,Windows身份验证有某些优点,主要是由于它与WindowsNT4.0和Windows2000安全系统的集成。WindowsNT4.0和Windows2000安全系统提供更多的功能,如安全验证和密码加密、审核、密码过期、最短密码长度,以及在多次登录请求无效后锁定帐户。说明当SQLServer实例在Windows98或MicrosoftWindowsMillennium版上运行时,Windows身份验证模式不可用。二、SQLServer认证在该认证模式下,用户在连接SQLServer时必须提供SQLServer管理员为其设定的登录名和密码。使用的用户名和密码存储在master库中的syslogins表中。认证的工作是由SQLServer自身完成的,只有当用户输入正确的用户和密码后,才可以登录SQLServer服务器。当用户用指定的登录名称和密码从非信任连接进行连接时,SQLServer通过检查是否已设置SQLServer登录帐户,以及指定的密码是否与以前记录的密码匹配,自己进行身份验证。如果SQLServer未设置登录帐户,则身份验证将失败,而且用户收到错误信息。提供SQLServer身份验证是为了向后兼容性,因为为SQLServer7.0版或更早的版本编写的应用程序可能要求使用SQLServer登录和密码。另外,当SQLServer实例在Windows98上运行时,必须使用SQLServer身份验证,因为在Windows98上不支持Windows身份验证模式。因此,SQLServer在Windows98上运行时使用混合模式(但只支持SQLServer身份验证)。优点:支持更大范围的用户,非Windows用户不受Windows操作系统用户的限制;创建了Windows之上的另一个安全层次;一个应用程序可以使用单个SQLServer登录和口令访问数据库中的数据层次安全SQLServer中的安全环境通过用户的层次结构系统进行存储、管理和强制执行。用简化对很多用户的管理,使用组和角色。组:是Windows内的管理单元,包含Windows用户和其它组。角色:是SQLServer内的管理单元,其中包含SQLServer登录、Windows登录、组或其它角色。将用户分成组或角色可以更方便地同时对许多用户授予或拒绝权限。对组定义的安全设置适用于该组中的所有成员。当某个组是更高组别组中的成员时,除为该组自身或用户账户定义的安全设置外,该组中的所有成员还将继承更高级别组的安全设置。10.1.2数据库认证数据库用户权限当用户通过服务器认证后,就可以访问数据库中的所有数据,显然没有安全性可言,所以在用户访问SQLServer数据库前,还必须得到数据库认证,包括数据库用户和权限一、数据库用户SQLServer是以数据库用户为依据来决定来访用户可以访问哪些数据。数据库用户总是基于数据库的。二、权限权限:指该用户能够使用的数据对象和对这些数据库对象执行的操作。权限分类:对象权限语句权限1.对象权限对象权限:处理数据或执行数据库查询等操作时使用的权限,称为~。对象可进行的操作类型表Select、update、delete、insert、reference列Select、update视图Select、update、insert、delete存储过程execute2.语句权限语句权限:用户在创建数据库或数据库项时,要求使用的权限,称为~。语句权限涉及的操作:Createdatabase:创建数据库Createtable:创建表Createview:创建视图Createrule:创建规则Createdefault:创建缺省Createprocedure:创建存储过程Createindex:创建索引Backupdatabase:备份数据库Backuplog:备份事务日志10.2登录身份验证管理10.2.1登录身份验证模式10.2.2登录账户10.2.1身份验证模式身份验证又称为标准登录模式验证系统管理员为用户创建一个登录账户和密码账户和密码保存在系统数据库中用户只有通过SQLServer2000系统的安全身份验证,才能被允许登录到SQLServer2000服务器.10.2.2登录账户分类:Windows账户“Windows用户”账户“Windows组”账户SQLServer账户与SQLServer2000提供的两种身份验证模式相对应,在SQLServer2000中存在两类登录账户,它们是:1.查看登录账户步骤:企业管理器→服务器→安全性→登录标志:SQLServer账户:“Windows用户”账户:“Windows组”账户:2.添加登录账户企业管理器系统存储过程系统存储过程sp_addlogin命令:sp_addlogin‘loginame’,’passwd’,’defdb’,’deflanguage’登录账户的名称登录密码成功登录时,默认打开的数据库登录时的默认语言Loginame必须要有,其他可以采用默认⑴添加SQLServer账户例:使用企业管理器添加“NewLogin1”账户,密码为“111111”例:使用系统存储过程添加“NewLogin2”账户,密码为“222222”,默认数据库为“master”。sp_addlogin‘NewLogin2’,’222222’,’master’⑵添加Windows账户企业管理器(分两步)创建Windows用户添加到登录账户系统存储过程使用企业管理器创建Windows用户添加到登录账户使用系统存储过程sp_grantlogin命令:添加Windows身份验证登录账户sp_grantlogin计算机名(或域名)\用户名(或组名)例:使用系统存储过程sp_grantlogin添加Windows身份验证登录账户.第一步:创建Windows用户第二步:sp_grantlogin‘计算机名称\用户名’⑶修改登录账户属性企业管理器系统存储过程使用系统存储过程Sp_password:修改账户密码Sp_defaultdb:修改默认数据库Sp_defaultlanguage:修改默认语言例:使用系统存储过程将账户“NewLogin2”的密码改为“12345”。Sp_passwordNULL,’12345’,’NewLogin2’NULL位置可以是原密码,此处写NULL表示无论密码是什么,都改为12345⑷删除登录账户企业管理器系统存储过程使用系统存储过程Windows账户sp_revokeloginSQLServer账户sp_droplogin例:使用系统存储过程删除Windows账户sp_revokelogin‘计算机名\用户名’使用系统存储过程删除SQLServer账户NewLogin2Sp_droplogin‘NewLogin2’10.3角色管理10.3.1角色10.3.2角色管理10.3.1角色只要对角色进行权限设置便可以实现对所有用户权限的设置。分类:固定服务器角色数据库角色角色是SQLServer7.0版本引进的新概念,它代替了以前版本中组的概念。利用角色,SQLServer管理者可以将某些用户设置为某一角色,这样只对角色进行权限设置便可以实现对所有用户权限的设置,大大减少了管理员的工作量。SQLServer提供了用户通常管理工作的预定义服务器角色和数据库角色。dbo是具有在数据库中执行所有活动的暗示性权限的用户。将固定服务器角色sysadmin的任何成员都映射到每个数据库内称为dbo的一个特殊用户上。另外,由固定服务器角色sysadmin的任何成员创建的任何对象都自动属于dbo。无法删除dbo用户,且此用户始终出现在每个数据库中。一、服务器角色服务器角色:指根据SQLServer的管理任务,以及这些任务相对的重要性等级来把具有SQLServer管理职能的用户划分为不同的用户组,每一组所具有的管理SQLServer的权限都是SQLServer内置的,即不能对其进行添加、修改和删除,只能向其中加入用户或者其他角色。固定服务器角色描述sysadmin在SQLServer中进行任何活动。该角色的权限跨越所有其它固定服务器角色serveradmin配置服务器范围的设置setupadmin添加和删除连接服务器,并执行某些系统存储过程(如sp_serveroption)securityadmin管理服务器登录processadmin管理在SQLServer实例中运行的进程dbcreator创建和修改数据库diskadmin管理磁盘文件bulkadmin可执行大容量插入操作系统管理员:拥有SQLServer所有的权限许可。服务器管理员:管理SQLServer服务器端的设置。磁盘管理员:管理磁盘文件。进程管理员:管理SQLServer系统进程。安全管理员:管理和审核SQLServer系统登录。安装管理员:增加、删除连接服务器,建立数据库复制以及管理扩展存储过程。数据库创建者:创建数据库,并对数据库进行修改。将一个登录账户加入到一个服务器角色中,可以使该登录账户自动拥有该服务器角色预定义的权限。一个登录账户可以同时属于多个角色,也可以不属于任何角色。默认时,只有sysadmin服务器角色含有预定成员。系统管理员组账户(BUILTIN\Administrators)系统管理员账户(计算机名称\Administrator)SQLServer账户sa二、固定数据库角色数据库角色:为某一用户或某一组用户授予不同级别的管理或访问数据库及数据库对象的权限这些权限是专有的并且还可以使一个用户具有属于同一数据库的多个角色数据库角色分类:固定数据库角色用户自定义数据库角色主要讲固定数据库角色固定数据库角色是在每个数据库中都存在的预定义组SQLServer2000已经预定义了这些角色所具有的管理、访问数据库的权限SQLServer2000管理者不能对这些角色所具有的权限进行任何修改SQLServer中的每一个数据库中都有一组预定义的数据库角色,在数据库使用预定义的数据库角色可以将不同级别的数据库管理工作分给不同的角色,从而有效地实现工作权限的传递。SQLServer2000提供了10种常用的固定数据库角色,它们是:public:维护全部默认权限。db_owner:数据库的所有者,可以对所拥有的数据库执行任何操作。db_accessa
本文标题:第十章安全性管理Convertor
链接地址:https://www.777doc.com/doc-2165541 .html