收藏 分享(赏)

项目九公司管理数据库系统的安全性管理.doc

上传人:dzzj200808 文档编号:2702062 上传时间:2018-09-25 格式:DOC 页数:17 大小:113KB
下载 相关 举报
项目九公司管理数据库系统的安全性管理.doc_第1页
第1页 / 共17页
项目九公司管理数据库系统的安全性管理.doc_第2页
第2页 / 共17页
项目九公司管理数据库系统的安全性管理.doc_第3页
第3页 / 共17页
项目九公司管理数据库系统的安全性管理.doc_第4页
第4页 / 共17页
项目九公司管理数据库系统的安全性管理.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、教案首页第_9_次(单元)课 授课时间: 课程名称 SQL SERVER 数据库设计 专业班级 层次授课教师 职称 课 型(大、小) 学时 5授课题目(章、节) 项目九 公司管理数据库系统的安全性管理授课方式 理论课;实验课教材及主要参考书 SQL Server 2000 数据库教学目的与要求:1能正确使用 SQL Server2000 的安全管理机制2能正确设置 SQL Server2000 的身份验证方法。3会创建和管理数据库用户。4会正确设置理数据库权限教学过程设计(内容、时间安排、教学方法等):理论课 3 学时实验课 2 学时教学重点、难点: 安全管理机制 会创建和管理数据库用户教研室

2、审阅意见:教研室主任签名:年 月 日基 本 内 容项目九 公司管理数据库系统的安全性管理一、教学目标终极目标:利用 SQL Server2000 提供的安全机制实现公司管理数据库系统的安全管理。促成目标:1能正确使用 SQL Server2000 的安全管理机制2能正确设置 SQL Server2000 的身份验证方法。3会创建和管理数据库用户。4会正确设置理数据库权限。二、工作任务数据安全性一直是困扰数据库设计者的一个重要问题,本项目主要完成companyinfo 数据库系统的安全管理设置。具体任务如下:1设置 SQL Server2000 登录的身份验证模式为“SQL Server 和wi

3、ndows”混合身份验证模式。2添加一个帐户名为 liyan 的 windows 身份验证的登录帐户,然后再删除该帐户。3添加帐户名分别为 arlin、abc 和 wangjun 的 SQL Server 登录帐户,然后再删除名称为 abc 的登录帐户。4设置和删除数据库用户,要求如下: 将任务 3 中设置的 SQL Server 登录帐户“ arlin”映射为companyinfo 数据库的用户,用户名为 “李平” ,即给数据库companyinfo 添加一个名为“ 李平”的数据库用户。 将任务 3 中设置的 SQL Server 登录帐户“wangjun ”映射为companyinfo 数

4、据库的用户,用户名为 “王军” ;然后再删除 “王军”这个数据库用户及其登录帐户“wangjun” 。5设置数据库用户“李平”对表 P_order 的相关列具有修改操作的权限。三、相关实践知识(一) 按照任务 1 的要求,设置 SQL Server2000 登录的身份验证模式为“SQL Server 和 windows”混合身份验证模式。其操作步骤如下:1 在企业管理器中,展开 SQl Server 服务器组。2 右击要设置身份验证的服务器,并在打开的快捷菜单中选择“属性” 。3 单击“安全性”选项卡。4 在“身份验证”下,选择“SQl Server 和 Windows”,如图 9-1 所示。

5、5 在“审核级别”的单选内容中,选中用户访问 SQL Server 的级别。其含义如下: “无”:表示不执行审核。 “成功”:表示只审核成功的登录尝试。 “失败”:表示只审核失败的登录尝试。 “全部”:表示审核成功的和失败的登录尝试。6、单击“确定”按钮,完成任务 1 的设置。说明:当改变设置后,必须停止并重新启 动 SQl Server 服务器, 设置才会生效。(二) 按照任务 2 要求,添加一个名为 liyan 的 windows 身份验证的登录帐户,然后再删除该帐户。1添加一个名 liyan 的 windows 身份验证的登录帐户方法一:利用企业管理器实现其操作步骤如下:(1) 在企业管

6、理器中,展开 SQl Server 服务器组中相应的服务器。(2) 展开“安全性” ,右击【登录】|【新建登录】命令。(3) 在打开的“新建登录”对话框的“名称”框中,输入要被授权访问 SQL Server 的 Windows 帐户名称,其格式为“域名帐户名” ,本任务中输入“YANGLINliyan” 。说明:当前使用的计算机的域名是“YANGLIN”。(4) 在“身份验证”下,单击“Windows 身份验证” 。(5) 可选(数据库和语言):选择用户登录到 SQL Server 实例后所连接的默认数据库和显示用户的信息所默认的语言。单击“确定”按钮,完成任务 2 中 liyan 帐户的设置

7、。说明:添加了新的登录帐户后,在企 业管理器中展开 SQL Server 服务器相应的服务器,选择“ 安全性”|“登录”, 则可以查看已存在的帐户。方法二:利用 Transact-SQL 命令实现在查询分析器中执行如下命令即可。EXEC sp_grantlogin YANGLINliyan2利用企业管理器,删除已设置的登录帐户 liyan。方法一:利用企业管理器实现要删除已创建的登录帐户:首先在如图 9-10 所示的窗口中,用鼠标右键单击要删除的帐户,在打开的快捷菜单中选择“删除” ,接着将弹出是否确实删除的消息提示对话框,在消息提示框中,用鼠标单击“是”按钮即可完成帐户的删除。方法二:利用

8、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 身份验证”和用户密码,然后单击“确定”按钮。用同样的方法创

9、建名为 abc 和 wangjun 的 SQL Server 登录帐户。说明:需要确保新添加的帐户拥有对默认数据库的访问权限,其设置方法后述。注意:在 SQL Server 身份验证的登录帐户(任务 3)与 windows 身份验证的登录帐户(任务 2)设置时,其 帐户名称输入格式的区别。前者只需输入“ 帐户名”,而后者必 须一“域名帐户 名” 的格式输入。2用 Transact-SQL 命令删除 SQL Server 登录帐户“abc” 。在查询分析器中执行如下命令,即可删除 SQL Server 登录帐户“abc” 。EXEC sp_droplogin abc注意:任务 2 和任务 3 删

10、除 Windows NT/2000 登录帐户 liyan 和 SQL Server 登录帐户 abc 时命令是的区别。(四) 按照任务 4 要求,给 companyinfo 数据库添加数据库用户“李平” 。1利用企业管理器实现,其操作步骤如下:(1) 在企业管理器中,展开 SQl Server 服务器组中相应的服务器。(2) 展开“数据库”文件夹,然后展开将授权用户或组访问的数据库companyinfo,右击【用户】 |【新建数据库用户】命令。(3) 在打开的“数据库用户属性”对话框中的“登录名”框中,键入或选择将授权访问数据库的 SQL Server 登录名 arlin;“用户名”列表框中输

11、入“李平” , 如图 9-4 所示。(4) 在“数据库角色”列表框中,除 public(默认)外,还可选择其他数据库角色成员。如图 9-4 所示。单击“确定”按钮,即可完成数据库用户 “李平”的添加。2用 Transact-SQL 命令给 companyinfo 数据库添加名为 “王军”的用户。在查询分析器中执行如下 SQL 命令:USE companyinfoEXEC sp_qrantdbaccess wangjun, 王军3删除数据库用户“王军”及其登录帐户 wangjun 的。(1)删除数据库用户“王军” 在企业管理器中,展开 SQl Server 服务器组中相应的服务器。 展开“数据库

12、”文件夹,然后展开将删除用户或组访问的数据库companyinfo。 单击“用户”对象,在“详细信息”窗格中,右击要删除的数据库用户“王军” ,然后单击“删除” 。 确认删除。此时只是删除了数据库用户,登录并没有删除,(2)删除名为“wangjun”的登录。操作同任务 3 中“abc”的删除,在此从略。(五) 按照任务 5 要求,给数据库用户“李平”设置对表 P_order 的列具有修改操作的权限。方法一:通过设置数据库用户的属性,实现用户权限的设置 操作步骤如下:1 在企业管理器中,展开 SQl Server 服务器组中相应的服务器。2 展开“companyinfo”文件夹,单击 “用户”

13、,在右边的窗格会显示companyinfo 数据库的所有用户。如图 9-5 所示。图 9-5 用户属性快捷菜单3右击“李平” ,在打开的快捷菜单中执行“属性” ,如 9-5 所示;4在打开的“数据库用户属性”对话框中的“权限”选项卡中,可以进行对象的权限设置。5在 “权限”选项卡中,单击“列”按钮,可以设置“列权限” ,然后单击“确定”按钮。方法二:通过设置数据库对象的权限,设置用户的权限。操作步骤如下:1展开服务器组,然后展开服务器,展开要进行权限设置的数据库,选中表对象。2右击要进行权限设置的表 P_order 表,执行【所有任务 】|【管理权限】命令,3 在图 9-9 所示的对话框中,进

14、行对象权限的设置,还可以单击“列” ,进一步对列权限进行设置,其操作同方法一。然后单击 “确定”按钮。说明:用户权限的设置还可以通过 Transact-SQL 命令的方法实现,有关内容详见本项目相关理论知识。四、相关理论知识一个网络数据库系统,其数据安全的重要性是显而易见的。SQL Server 2000数据库的安全性通过以下几个方面得以保证。SQL Server 2000 数据库的数据安全机制: 网络系统的安全性:可以通过在网络系统边界安装防火墙系统得以实施。 服务器的安全性:保证运行 SQL Server 2000 的服务器本身及其操作系统的安全。 SQL Server 2000 登录安全

15、性:允许哪些用户登录。 数据库的安全性:规定用户登录以后可以使用哪些数据库。 数据库对象的安全性:规定用户登录某一数据库后,可以操作哪些数据库对象以及怎样操作。数据安全性主要通过 SQL Server 2000 的登录安全性、数据库和数据库对象的安全性几个方面实现,对于其它方面的安全性讨论请参考其它方面的安全性书籍。(一)SQL Server 2000 的登录身份验证模式1SQL Server 2000 可以在两种安全(身份验证)模式下工作: Windows 身份验证模式:Windows 身份验证模式使用户得以通过Windows NT/2000 用户帐户进行连接。即被授权连接 SQL Serv

16、er2000的 Windows NT/2000 用户帐户或组帐户在连接 SQL Server 2000 时不需要提供登录帐户和密码,因为 SQL Server 2000 认为 Windows NT/2000已经对该用户作了身份验证。 “SQL Server 和 Windows” 混合模式身份验证:混合模式使用 SQL Server 标准登录模式验证时,系统管理员创建一个帐户和密码,并把它们存储在 SQL Server 2000 系统数据库中。当用户想要连接到 SQL Server 2000 上时,必须提供一个已存在的 SQL Server 登录帐户和密码。一般推荐使用 Windows 身份验证

17、的主要原因有:一是可以提高管理效率;二是可以加快登录速度。说明:如果将 SQL Server 安装在 Windows9X 操作系统上,将只能使用 SQL Server 身份验证模式,因为 Windows9X 不支持 Windows NT/2000 帐户验证方式。2帐户信息的查看在 SQL Server 2000 企业管理器的树型目录中展开服务器下的“安全性” ,选择“登录” ,可以查看当前服务器所有的登录帐户信息。,对于每一个服务器登录帐户,列出了该帐户的“名称” 、 “类型” 、 “服务器访问权限” 、 “默认数据库”以及“默认语言” 。下面详细介绍各项的含义。帐户的类型有三种,分别是“Wi

18、ndows 用户”帐户、 “Windows 组”帐户和“标准” 帐户。 “名称”栏信息对于 SQL Server 帐户, “名称”列直接显示用户帐户名称。如 SQL Server帐户 sa。对于 Windows NT 用户帐户,帐户名采用 “计算机名称(或域名) 用户名(或组名) ”的形式表示。对于 Windows NT/2000 内建本地组,其帐户名中使用 BUILTIN 代替计算机名(或域名) 。 “服务器访问”栏信息:显示了是否允许该用户登录服务器,取值可以是“许可”或“拒绝” 。 “默认数据库”栏信息:是指用户登陆 SQL Server 2000 后首先连接的数据库,默认 master

19、 数据库。 “默认语言”栏信息:定义了 SQL Server 使用何种语言为用户显示信息。3SQL Server 2000 的登录身份验证模式的设置方法。详见本项目“相关实践知识” 。(二)SQL Server 数据库的安全性用户成功登录 SQL Server 2000 服务器后,并不自动拥有对所有数据库的访问权限,管理员必须在数据库中为用户建立一个用户帐户,才能使该用户访问数据库。一台服务器有了一套服务器登录帐户列表外,每个数据库中都有一套相互独立的数据库用户列表。每个数据库用户都和服务器登录帐户存在着一种映射关系。系统管理员可以将一个服务器登录帐户映射到用户需要访问的每一个数据库中的一个用

20、户帐户和角色上。一个登录帐户在不同的数据库中可以映射成不同的用户,从而拥有不同的权限。在每个 SQL Server 2000 数据库中,都有两个默认的用户帐号:dbo 和guest。 dbo 代表数据库拥有者,guest 用户是为那些没有属于自己的用户帐户的SQL Server 2000 登录者作为默认的用户,访问具有 guest 用户的数据库。SQL Server 2000 数据库用户的添加方法常利用 SQL Server 企业管理器工具实现,详见本项目“相关实践知识” 。(三)数据库对象的安全性创建一个数据库对象时,创建者将自动拥有对该数据库对象的操作权限。当一个非数据库拥有者想访问数据库

21、中的对象时,必须事先由数据库拥有者赋予该用户对指定对象的操作权限。权限用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作。通常权限分为三种类型:对象权限、语句权限和暗示性权限。1权限的种类(1) 对象权限:用户对数据库对象进行操作的权限,具体包括: 针对表和视图的操作:SELECT、INSERT、UPDATE 和 DELETE语句。 针对表和视图的行的操作:INSERT 和 DELETE 语句。 针对表和视图的列的操作:SELECT 和 UPDATE 语句。 针对存储过程和用户定义的函数的操作:EXECUTE 语句。(2) 语句权限:指用户是否具有权限来执行某一语

22、句。 BACKUP DATABASE:备份数据库 BACEUP LOG:备份事务日志 CREATE DATABASE:创建数据库 CREATE DEFAULT:创建默认 CREATE INDEX:创建索引 CREATE PROCEDURE:创建存储过程 CREATE RULE:创建规则 CREATE TABLE 创建表 CREATE VIEW 创建视图(3) 暗示性权限:指系统预定义的固定服务器角色成员、数据库拥有者和数据库对象拥有者所拥有的权限。例如 sysadmin 固定服务器角色成员可以在服务器范围内做任何操作,dbo 可以对数据库做任何操作,dbo 可以对其拥有的数据库对象做任何操作,

23、它不需要明确的赋予权限。说明:暗示性权限不能明确地赋予和撤消。2权限的设置权限的设置有两种方法,一是利用企业管理器实现(详见本项目的相关实践知识) ;二是利用 Transact-SQL 语句来实现。权限管理的 Transact-SQL 语句如下:(1) GRANTGRANT 语句用来授予语句权限和对象权限。(2) DENY拒绝用户帐户上的权限: 删除以前授予用户、组或角色的权限。 停用从其它角色继承的权限。 确保用户、组或角色将来不继承更高级别的组或角色的权限。 (3) REVOKE删除以前在当前数据库内的用户上授予或拒绝的权限。【例 9.1】将 companyinfo 数据库中,名为 cus

24、tomer 表的 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 对 c

25、ustomer 表的“客户 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 Se

26、rver 管理者可以将某一组用户设置为某一角色,这样只要对角色进行权限设置便可以实现对所有用户权限的设置,大大减少了管理员的工作量。SQL Server 提供了通常管理工作的预定义服务器角色和数据库角色。用户还可以创建自己的数据库角色,以便表示某一类进行同样操作的用户。当用户需要执行不同操作时只需要加入不同的角色中即可,不必对该用户反复授权许可或回收许可。(二)服务器角色服务器角色是根据 SQL Server 的管理任务以及这些任务的重要性等级把具有 SQL Server 管理职能的用户划分为不同的用户组,每一组所具有的管理 SQL Server 的权限都是内置的,即不可修改、删除和添加,只能

27、向其中加入用户或其它角色。服务器角色存在于各个数据库之中,要加入用户,该用户必须有登录帐户,以便加入到角色中。1SQL Server 系统提供的固定服务器角色有 8 种,其含义如下: system administrators 表示系统管理员可执行任何动作。 security administrators 表示管理登入账户。 server administrators 表示设置 SQL Server 的各项参数。 setup administrators 表示有关 replication(复制)的设置与管理扩充预存程序。 process administrators 表示管理 SQL Serv

28、er 所有执行中的程序。 disk administrators 表示管理资料库文件。 database administrators 表示建立和更改资料库属性。 bulk insert administrators 表示对可执行 bulk insert 操作的管理。2利用企业管理器向固定服务器角色添加成员的步骤如下:(1) 展开服务器组,然后展开服务器。(2) 展开“安全性” ,然后单击“服务器角色” 。(3) 在“详细信息”窗格中,如图 9-11,右击 setup Administrators 角色,然后单击“属性” 。(4) 在“常规”选项卡中单击“添加”按钮,然后单击要添加的登陆用户。

29、(三)数据库角色和服务器一样,数据库中也引进了角色的概念。数据库角色为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限,这些权限是数据库专有的,并且还可以使一个用户具有属于同一数据库的多个角色,SQL Server 提供了两种数据库角色,即固定数据库角色和用户自定义的数据库角色。1SQL Server 提供的固定数据库角色见表 9-1 所示。表 9.1 固定数据库角色db_accessadmin 在数据库中添加或删除 Windows 用户或 SQL Server用户db_backupoperator 有备份数据库的权限db_datareader 查看来自数据库中所有用户表

30、的全部数据db_datawriter 添加、更改或删除来自数据库中所有用户表的数据db_ddladmin 添加、修改或除去数据库中的对象(运行所有DDL)db_denydatareader 拒绝选择数据库数据的权限db_denydatawriter 拒绝更改数据库数据的权限db_owner 进行所有数据库角色的活动,以及数据库中的其他维护和配置活动,该角色的权限跨越所有其他固定数据库角色db_securityadmin 管理 SQL Server 2000 数据库角色的角色和成员,并管理数据库中的语句和对象权限利用企业管理器配置数据库角色的方法的操作步骤如下:(1) 在企业管理器中,双击用户容

31、器,通过右键菜单打开指定用户的属性,可以看到数据库角色列表,选中想要赋予用户的角色,单击“确定”按钮。(2) 也可以打开角色容器,通过双击,打开想赋予的角色的属性,单击“添加”按钮,把指定用户加入这个角色,然后再单击“确定”按钮。2创建用户定义的数据库角色在公司里,也经常用到来自不同级别,不同部门的用户,为了对一些用户赋予相同的权限,我们可以自定义一些新数据库角色,然后把用户添加到该角色中,这样,这些用户便获得了该角色相应的访问权限。利用企业管理器创建用户自定义数据库角色的步骤如下:(1) 展开服务器组,然后展开服务器。(2) 展开“数据库”文件夹,然后展开要在其中创建角色的数据库。(3) 右

32、击“角色” ,然后单击“创建数据库角色”命令。(4) 在图 9-12 所示的“名称 ”框中输入新角色的名称。(5) 单击“添加”将成员添加到“标准角色”列表来,然后单击要添加的一个或多个用户。只有选定的数据库中的用户才能被添加到该角色中。3查看角色以及删除角色及其成员创建和使用数据库时,可能需要查找有关 SQL Server 数据库角色或固定服务器角色的信息,可以根据需要查看当前数据库中有哪些角色,或者列出固定服务器角色。 查看角色信息:查看的方法和向数据库角色和固定服务器角色添加成员的方法相似。 查看角色成员信息:在查看角色后,在“详细窗格”中,查看角色的属性,就可以查看成员信息。删除角色及其成员:删除角色的方法就是在“角色”的详细窗格中,右击该角色,选择“删除” ,确定删除即可。删除用户帐户则要在角色的属性窗口中,删除用户。复习思考题、作业题作业:实践题:1-5下次课预 习要 点数据库备份实 施情况及分 析效果较好注:教案按授课次数或单元填写。重复课可不另填写教案。允许特色设计。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报