项目九公司管理数据库系统的安全性管理.doc_第1页
项目九公司管理数据库系统的安全性管理.doc_第2页
项目九公司管理数据库系统的安全性管理.doc_第3页
项目九公司管理数据库系统的安全性管理.doc_第4页
项目九公司管理数据库系统的安全性管理.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教案首页第_9_次(单元)课 授课时间: 课程名称SQL SERVER数据库设计专业班级 层次授课教师 职称 课 型(大、小)学时5授课题目(章、节)项目九 公司管理数据库系统的安全性管理授课方式理论课;实验课教材及主要参考书SQL Server 2000 数据库教学目的与要求:1能正确使用SQL Server2000的安全管理机制2能正确设置SQL Server2000的身份验证方法。3会创建和管理数据库用户。4会正确设置理数据库权限教学过程设计(内容、时间安排、教学方法等):理论课3学时实验课2学时教学重点、难点:u 安全管理机制u 会创建和管理数据库用户教研室审阅意见:教研室主任签名:年 月 日基 本 内 容项目九 公司管理数据库系统的安全性管理一、教学目标终极目标:利用SQL Server2000提供的安全机制实现公司管理数据库系统的安全管理。促成目标:1能正确使用SQL Server2000的安全管理机制2能正确设置SQL Server2000的身份验证方法。3会创建和管理数据库用户。4会正确设置理数据库权限。二、工作任务数据安全性一直是困扰数据库设计者的一个重要问题,本项目主要完成companyinfo数据库系统的安全管理设置。具体任务如下:1 设置SQL Server2000登录的身份验证模式为“SQL Server 和windows”混合身份验证模式。2 添加一个帐户名为liyan的windows身份验证的登录帐户,然后再删除该帐户。3 添加帐户名分别为arlin、abc和wangjun的SQL Server登录帐户,然后再删除名称为abc的登录帐户。4 设置和删除数据库用户,要求如下:l 将任务3中设置的SQL Server登录帐户“arlin”映射为companyinfo数据库的用户,用户名为“李平”,即给数据库companyinfo添加一个名为“李平”的数据库用户。l 将任务3中设置的SQL Server登录帐户“wangjun”映射为companyinfo数据库的用户,用户名为“王军”;然后再删除“王军”这个数据库用户及其登录帐户“wangjun”。5 设置数据库用户“李平”对表P_order的相关列具有修改操作的权限。三、相关实践知识(一) 按照任务1的要求,设置SQL Server2000登录的身份验证模式为“SQL Server 和windows”混合身份验证模式。其操作步骤如下:1 在企业管理器中,展开SQl Server服务器组。2 右击要设置身份验证的服务器,并在打开的快捷菜单中选择“属性”。3 单击“安全性”选项卡。4 在“身份验证”下,选择“SQl Server和Windows”,如图9-1所示。5 在“审核级别”的单选内容中,选中用户访问SQL Server的级别。其含义如下:l “无”:表示不执行审核。l “成功”:表示只审核成功的登录尝试。l “失败”:表示只审核失败的登录尝试。l “全部”:表示审核成功的和失败的登录尝试。6、单击“确定”按钮,完成任务1的设置。说明:当改变设置后,必须停止并重新启动SQl Server服务器,设置才会生效。(二) 按照任务2要求,添加一个名为liyan的windows身份验证的登录帐户,然后再删除该帐户。1添加一个名liyan的windows身份验证的登录帐户方法一:利用企业管理器实现其操作步骤如下:(1) 在企业管理器中,展开SQl Server服务器组中相应的服务器。(2) 展开“安全性”,右击【登录】|【新建登录】命令。(3) 在打开的“新建登录”对话框的“名称”框中,输入要被授权访问SQL Server的Windows帐户名称,其格式为“域名帐户名”,本任务中输入“YANGLINliyan”。说明:当前使用的计算机的域名是“YANGLIN”。(4) 在“身份验证”下,单击“Windows身份验证”。(5) 可选(数据库和语言):选择用户登录到SQL Server实例后所连接的默认数据库和显示用户的信息所默认的语言。单击“确定”按钮,完成任务2中liyan帐户的设置。说明:添加了新的登录帐户后,在企业管理器中展开SQL Server服务器相应的服务器,选择“安全性”|“登录”,则可以查看已存在的帐户。方法二:利用Transact-SQL命令实现在查询分析器中执行如下命令即可。EXEC sp_grantlogin YANGLINliyan2利用企业管理器,删除已设置的登录帐户liyan。方法一:利用企业管理器实现要删除已创建的登录帐户:首先在如图9-10所示的窗口中,用鼠标右键单击要删除的帐户,在打开的快捷菜单中选择“删除”,接着将弹出是否确实删除的消息提示对话框,在消息提示框中,用鼠标单击“是”按钮即可完成帐户的删除。方法二:利用Transact-SQL命令实现在查询分析器中执行如下命令,即可删除Windows NT/2000帐户YANGLIN liyan。EXEC sp_revokelogin YANGLINliyan(三)按照任务3的要求,添加arlin、abc和wangjun的SQL Server登录帐户,然后再删除名称为abc的登录帐户。1 利用企业管理器实现添加SQL Server登录帐户arlin。利用企业管理器添加SQL Server登录帐户方法同任务2,只是在图9-3的对话框中选择“SQL Server身份验证”和用户密码,然后单击“确定”按钮。用同样的方法创建名为abc和wangjun的SQL Server登录帐户。说明:需要确保新添加的帐户拥有对默认数据库的访问权限,其设置方法后述。注意:在SQL Server身份验证的登录帐户(任务3)与windows身份验证的登录帐户(任务2)设置时,其帐户名称输入格式的区别。前者只需输入“帐户名”,而后者必须一“域名帐户名”的格式输入。2用Transact-SQL命令删除SQL Server登录帐户“abc”。在查询分析器中执行如下命令,即可删除SQL Server登录帐户“abc”。EXEC sp_droplogin abc注意:任务2和任务3删除Windows NT/2000登录帐户liyan和SQL Server登录帐户abc时命令是的区别。(四) 按照任务4要求,给companyinfo数据库添加数据库用户“李平”。1利用企业管理器实现,其操作步骤如下:(1) 在企业管理器中,展开SQl Server服务器组中相应的服务器。(2) 展开“数据库”文件夹,然后展开将授权用户或组访问的数据库companyinfo,右击【用户】|【新建数据库用户】命令。(3) 在打开的“数据库用户属性”对话框中的“登录名”框中,键入或选择将授权访问数据库的SQL Server登录名arlin;“用户名”列表框中输入“李平”, 如图9-4所示。(4) 在“数据库角色”列表框中,除public(默认)外,还可选择其他数据库角色成员。如图9-4所示。单击“确定”按钮,即可完成数据库用户 “李平”的添加。2用Transact-SQL命令给companyinfo数据库添加名为“王军”的用户。在查询分析器中执行如下SQL命令:USE companyinfoEXEC sp_qrantdbaccess wangjun, 王军3删除数据库用户“王军”及其登录帐户wangjun的。(1)删除数据库用户“王军”l 在企业管理器中,展开SQl Server服务器组中相应的服务器。l 展开“数据库”文件夹,然后展开将删除用户或组访问的数据库companyinfo。l 单击“用户”对象,在“详细信息”窗格中,右击要删除的数据库用户“王军”,然后单击“删除”。l 确认删除。此时只是删除了数据库用户,登录并没有删除,(2)删除名为“wangjun”的登录。操作同任务3中“abc”的删除,在此从略。(五) 按照任务5要求,给数据库用户“李平”设置对表P_order的列具有修改操作的权限。方法一:通过设置数据库用户的属性,实现用户权限的设置 操作步骤如下:1 在企业管理器中,展开SQl Server服务器组中相应的服务器。2 展开“companyinfo”文件夹,单击“用户”,在右边的窗格会显示companyinfo数据库的所有用户。如图9-5所示。图9-5 用户属性快捷菜单3右击“李平”,在打开的快捷菜单中执行“属性”,如9-5所示;4在打开的“数据库用户属性”对话框中的“权限”选项卡中,可以进行对象的权限设置。5在 “权限”选项卡中,单击“列”按钮,可以设置“列权限”,然后单击“确定”按钮。方法二:通过设置数据库对象的权限,设置用户的权限。操作步骤如下:1展开服务器组,然后展开服务器,展开要进行权限设置的数据库,选中表对象。2右击要进行权限设置的表P_order表,执行【所有任务】|【管理权限】命令,3 在图9-9所示的对话框中,进行对象权限的设置,还可以单击“列”,进一步对列权限进行设置,其操作同方法一。然后单击 “确定”按钮。说明:用户权限的设置还可以通过Transact-SQL命令的方法实现,有关内容详见本项目相关理论知识。四、相关理论知识一个网络数据库系统,其数据安全的重要性是显而易见的。SQL Server 2000数据库的安全性通过以下几个方面得以保证。SQL Server 2000数据库的数据安全机制:l 网络系统的安全性:可以通过在网络系统边界安装防火墙系统得以实施。l 服务器的安全性:保证运行SQL Server 2000的服务器本身及其操作系统的安全。l SQL Server 2000登录安全性:允许哪些用户登录。l 数据库的安全性:规定用户登录以后可以使用哪些数据库。l 数据库对象的安全性:规定用户登录某一数据库后,可以操作哪些数据库对象以及怎样操作。数据安全性主要通过 SQL Server 2000的登录安全性、数据库和数据库对象的安全性几个方面实现,对于其它方面的安全性讨论请参考其它方面的安全性书籍。(一)SQL Server 2000的登录身份验证模式1SQL Server 2000可以在两种安全(身份验证)模式下工作:l Windows 身份验证模式:Windows身份验证模式使用户得以通过Windows NT/2000用户帐户进行连接。即被授权连接SQL Server2000的Windows NT/2000用户帐户或组帐户在连接SQL Server 2000时不需要提供登录帐户和密码,因为SQL Server 2000认为Windows NT/2000已经对该用户作了身份验证。l “SQL Server和Windows” 混合模式身份验证:混合模式使用SQL Server标准登录模式验证时,系统管理员创建一个帐户和密码,并把它们存储在SQL Server 2000系统数据库中。当用户想要连接到SQL Server 2000上时,必须提供一个已存在的SQL Server登录帐户和密码。一般推荐使用Windows 身份验证的主要原因有:一是可以提高管理效率;二是可以加快登录速度。说明:如果将SQL Server安装在Windows9X操作系统上,将只能使用SQL Server身份验证模式,因为Windows9X不支持Windows NT/2000帐户验证方式。2帐户信息的查看在SQL Server 2000企业管理器的树型目录中展开服务器下的“安全性”,选择“登录”,可以查看当前服务器所有的登录帐户信息。,对于每一个服务器登录帐户,列出了该帐户的“名称”、“类型”、“服务器访问权限”、“默认数据库”以及“默认语言”。下面详细介绍各项的含义。帐户的类型有三种,分别是“Windows用户”帐户、“Windows组”帐户和“标准” 帐户。l “名称”栏信息对于SQL Server帐户,“名称”列直接显示用户帐户名称。如SQL Server帐户sa。对于Windows NT用户帐户,帐户名采用“计算机名称(或域名)用户名(或组名)”的形式表示。对于Windows NT/2000内建本地组,其帐户名中使用BUILTIN代替计算机名(或域名)。l “服务器访问”栏信息:显示了是否允许该用户登录服务器,取值可以是“许可”或“拒绝”。l “默认数据库”栏信息:是指用户登陆SQL Server 2000后首先连接的数据库,默认master数据库。l “默认语言”栏信息:定义了SQL Server使用何种语言为用户显示信息。3SQL Server 2000的登录身份验证模式的设置方法。详见本项目“相关实践知识”。(二)SQL Server数据库的安全性用户成功登录SQL Server 2000服务器后,并不自动拥有对所有数据库的访问权限,管理员必须在数据库中为用户建立一个用户帐户,才能使该用户访问数据库。 一台服务器有了一套服务器登录帐户列表外,每个数据库中都有一套相互独立的数据库用户列表。每个数据库用户都和服务器登录帐户存在着一种映射关系。系统管理员可以将一个服务器登录帐户映射到用户需要访问的每一个数据库中的一个用户帐户和角色上。一个登录帐户在不同的数据库中可以映射成不同的用户,从而拥有不同的权限。在每个SQL Server 2000数据库中,都有两个默认的用户帐号:dbo和guest。dbo代表数据库拥有者,guest用户是为那些没有属于自己的用户帐户的SQL Server 2000登录者作为默认的用户,访问具有guest用户的数据库。SQL Server 2000数据库用户的添加方法常利用SQL Server企业管理器工具实现,详见本项目“相关实践知识”。(三)数据库对象的安全性创建一个数据库对象时,创建者将自动拥有对该数据库对象的操作权限。当一个非数据库拥有者想访问数据库中的对象时,必须事先由数据库拥有者赋予该用户对指定对象的操作权限。权限用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作。通常权限分为三种类型:对象权限、语句权限和暗示性权限。1权限的种类(1) 对象权限:用户对数据库对象进行操作的权限,具体包括:l 针对表和视图的操作:SELECT、INSERT、UPDATE和DELETE语句。l 针对表和视图的行的操作:INSERT和DELETE语句。l 针对表和视图的列的操作:SELECT和UPDATE语句。l 针对存储过程和用户定义的函数的操作:EXECUTE语句。(2) 语句权限:指用户是否具有权限来执行某一语句。l BACKUP DATABASE:备份数据库l BACEUP LOG:备份事务日志l CREATE DATABASE:创建数据库l CREATE DEFAULT:创建默认l CREATE INDEX:创建索引l CREATE PROCEDURE:创建存储过程l CREATE RULE:创建规则l CREATE TABLE创建表l CREATE VIEW创建视图(3) 暗示性权限:指系统预定义的固定服务器角色成员、数据库拥有者和数据库对象拥有者所拥有的权限。例如sysadmin固定服务器角色成员可以在服务器范围内做任何操作,dbo可以对数据库做任何操作,dbo可以对其拥有的数据库对象做任何操作,它不需要明确的赋予权限。说明:暗示性权限不能明确地赋予和撤消。2权限的设置权限的设置有两种方法,一是利用企业管理器实现(详见本项目的相关实践知识);二是利用Transact-SQL语句来实现。权限管理的Transact-SQL语句如下:(1) GRANTGRANT 语句用来授予语句权限和对象权限。(2) DENY 拒绝用户帐户上的权限: 删除以前授予用户、组或角色的权限。 停用从其它角色继承的权限。 确保用户、组或角色将来不继承更高级别的组或角色的权限。 (3) REVOKE删除以前在当前数据库内的用户上授予或拒绝的权限。【例9.1】将companyinfo数据库中,名为customer表的SELECT权赋予dbAdmin角色。程序清单如下:USE companyinfoGRANT SELECT ON TO dbAdmin【例9.2】假设companyinfo数据库已拥有一个名为sa1的数据库用户,且该用户已具有对customer表的SELECT权限,写出拒绝sa1对customer表的SELECT权限的命令。程序清单如下:USE companyinfoDENY SELECT ON customer TO sa1【例9.3】假设companyinfo数据库已拥有一个名为sa2的数据库用户,写出授予据库用户sa2对customer表的“客户ID”和“公司名称”字段的修改权的命令。程序清单如下:USE companyinfoGRANT UPDATE(客户ID,公司名称) ON customer TO sa2【例9.4】假设companyinfo数据库已拥有一个名为sa3的数据库用户,写出授予据库用户sa3可以在companyinfo数据库中的建表权的命令。程序清单如下:USE companyinfoGRANT CREATE TABLE TO sa3五、拓展知识(一)关于角色的概念角色是SQL Server 7.0版本引进的新概念,它代替了以前版本中组的概念,利用角色,SQL Server 管理者可以将某一组用户设置为某一角色,这样只要对角色进行权限设置便可以实现对所有用户权限的设置,大大减少了管理员的工作量。SQL Server提供了通常管理工作的预定义服务器角色和数据库角色。用户还可以创建自己的数据库角色,以便表示某一类进行同样操作的用户。当用户需要执行不同操作时只需要加入不同的角色中即可,不必对该用户反复授权许可或回收许可。(二)服务器角色服务器角色是根据SQL Server的管理任务以及这些任务的重要性等级把具有SQL Server管理职能的用户划分为不同的用户组,每一组所具有的管理SQL Server的权限都是内置的,即不可修改、删除和添加,只能向其中加入用户或其它角色。服务器角色存在于各个数据库之中,要加入用户,该用户必须有登录帐户,以便加入到角色中。 1SQL Server系统提供的固定服务器角色有8种,其含义如下:l system administrators 表示系统管理员可执行任何动作。l security administrators 表示管理登入账户。l server administrators 表示设置SQL Server的各项参数。l setup administrators 表示有关replication(复制)的设置与管理扩充预存程序。l process administrators 表示管理SQL Server所有执行中的程序。l disk administrators 表示管理资料库文件。l database administrators 表示建立和更改资料库属性。l bulk insert administrators 表示对可执行bulk insert操作的管理。 2利用企业管理器向固定服务器角色添加成员的步骤如下:(1) 展开服务器组,然后展开服务器。(2) 展开“安全性”,然后单击“服务器角色”。(3) 在“详细信息”窗格中,如图9-11,右击setup Administrators角色,然后单击“属性”。(4) 在“常规”选项卡中单击“添加”按钮,然后单击要添加的登陆用户。(三)数据库角色和服务器一样,数据库中也引进了角色的概念。数据库角色为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限,这些权限是数据库专有的,并且还可以使一个用户具有属于同一数据库的多个角色,SQL Server提供了两种数据库角色,即固定数据库角色和用户自定义的数据库角色。1SQL Server提供的固定数据库角色见表9-1所示。表9.1 固定数据库角色db_accessadmin在数据库中添加或删除Windows用户或SQL Server用户db_backupoperator有备份数据库的权限db_datareader查看来自数据库中所有用户表的全部数据db_datawriter添加、更改或删除来自数据库中所有用户表的数据db_ddladmin添加、修改或除去数据库中的对象(运行所有DDL)db_denydatareader拒绝选择数据库数据的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论