项目6 数据库安全管理.docx

上传人:b****6 文档编号:8782922 上传时间:2023-02-01 格式:DOCX 页数:23 大小:862.24KB
下载 相关 举报
项目6 数据库安全管理.docx_第1页
第1页 / 共23页
项目6 数据库安全管理.docx_第2页
第2页 / 共23页
项目6 数据库安全管理.docx_第3页
第3页 / 共23页
项目6 数据库安全管理.docx_第4页
第4页 / 共23页
项目6 数据库安全管理.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

项目6 数据库安全管理.docx

《项目6 数据库安全管理.docx》由会员分享,可在线阅读,更多相关《项目6 数据库安全管理.docx(23页珍藏版)》请在冰豆网上搜索。

项目6 数据库安全管理.docx

项目6数据库安全管理

项目6数据库安全管理

目标规划:

(一)知识目标

1.安全身份验证模式

2.创建用户

3.创建角色

4.权限管理

(二)能力目标

1.会设置安全身份验证模式

2.会创建用户和角色

3.会设置权限管理

内容结构:

学习情境6-1安全身份验证模式

●教学导航

安全身份验证用来确认登录SQLServer的用户的登录账号和密码的正确性,判断该用户是否具有连接SQLServer的权限。

任何用户在使用SQLServer数据库之前,必须经过系统的安全身份验证。

SQLServer2005提供了Windows身份验证和SQLServer身份验证两种验证模式。

●课堂讲解

1.Windows身份验证

SQLServer数据库系统通常运行在Windows服务器平台上,其本身就具备管理登录、验证用户合法性的能力,因此Windows验证模式正是利用了这一用户安全性和账号管理的机制,允许SQLServer也可以使用Windows的用户账户和密码。

在这种模式下,用户只需要通过Windows的验证,就可以连接到SQLServer,而SQLServer本身也就不需要管理一套登录数据。

Windows身份验证通常被认为更安全和更易维护。

Windows身份验证对于用户和管理员来说都比较容易管理。

2.SQLServer和Windows身份验证模式(混合模式)

混合验证模式允许以SQLServer验证模式或者Windows身份验证模式来进行验证,其中Windows身份验证模和上面相同。

用户在使用SQLServer验证模式时,当连接SQLServer时必须提供有效登录账户和登录密码,这些登录信息存储在系统表syslogins中,与Windows的登录账号无关。

SQLServer自身完成认证处理,如果输入的登录信息与系统表syslogins中的某条记录相匹配,则表明登录成功。

3.登录账号

SQLServer登录账号也称登录名,分为两类:

Windows登录账号和SQLServer登录账号。

Windows登录账号应用于Windows身份验证模式下登录SQLServer,而SQLServer登录账号应用于SQLServer和Windows身份验证模式下登录SQLServer。

SQLServer2005服务器在安装成功之后,已经自动创建了一些登录账号,在SQLServer2005的SSMS的“对象资源管理器”中,展开“安全性”,选择“登录名”,可以查看当前该服务器的所有登录账号信息,如图6-1所示。

当使用合法的登录账号登录到SQLServer时,只表明该账号可以通过认证,不代表其可以访问数据库或者对数据库进行操作。

一个服务器登录账号若要访问数据库,则在首先这个数据库中必须有一个数据库用户与之对应,若要能对数据库进行操作,则还需要对该数据库用户进行授权。

这部分内容我们将在后面详细介绍。

●课堂实践

任务1:

安装SQLServer2005时,选择的身份验证模式是“Windows身份验证”,现在将其更改为“SQLServer和Windows身份验证模式”。

图6-1登录账号信息

(1)打开SSMS,右击要设置认证模式的服务器,从弹出的快捷菜单中选择“属性”选项,则出现“服务器属性”对话框,并在左侧的选择页中选中“安全性”,如图6-2所示。

图6-2“服务器属性”的“安全性”选择页

(2)选中“服务器身份验证”下面对应的“SQLServer和Windows身份验证模式”单选按钮,再单击“确定”按钮,系统会弹出一个信息提示框,如图6-3所示,提示直到重新启动SQLServer后,配置的更改才会生效。

图6-3改变身份验证模式后的信息提示框

(3)重新启动SQLServer服务。

在SSMS中,右击SQLServer服务器名称,在弹出的快捷菜单中选择“重新启动”,如图6-4所示。

图6-4重启SQLServer服务

任务2:

使用SSMS为Windows用户Angie创建登录账号,授权其登录SQLServer。

(1)使用SQLServer账号sa或者Windows账号具有administrator或sysadmin角色权限的用户登录SSMS。

(2)在SQLServer2005的SSMS的“对象资源管理器”中,展开“安全性”,右击“登录名”,在弹出的快捷菜单中单击“新建登录名”,弹出“登录名—新建”对话框,如图6-5所示。

(3)选择“Windows验证”选项,并单击“搜索”按钮,在打开的“选择用户或组”对话框中单击“高级”按钮,如图6-6所示。

(4)在弹出的页面中单击“立即查找”,在查找出的用户中选中Windows账户“Angie”,单击“确定”按钮,如图6-7所示,再单击“登录名—新建”对话框的“确定”按钮,即可完成创建。

任务3:

使用SSMS创建SQLServer账号Wang,密码123。

(1)使用具有sysadmin角色权限的用户登录SSMS。

(2)在SQLServer2005的SSMS的“对象资源管理器”中,展开“安全性”,右击“登录名”,在弹出的快捷菜单中单击“新建登录名”,弹出“登录名—新建”对话框,如图6-5所示。

(3)选择“SQLServer身份验证”选项,在“登录名”文本框中输入Wang,并在密码和确认密码的文本框中输入123,如图6-8所示。

图6-5“登录名—新建”对话框

图6-6“选择用户或组”对话框

图6-7选择Windows用户Angie

图6-8创建SQLServer账户Wang

●课外拓展

有时候可能要暂时拒绝或禁用一个登录账号连接到服务器,可以暂时修改该账号的状态,使用SSMS拒绝登录账号的步骤为:

(1)使用具有sysadmin角色权限的用户登录SSMS。

(2)在SQLServer2005的SSMS的“对象资源管理器”中,展开“安全性”,选择“登录名”,右击需要操作的账号,在弹出的快捷菜单中选择“属性”选项,弹出“登录属性”对话框,如图6-9所示。

(3)选择“状态”选项页,并选中“拒绝”或者“禁用”按钮,单击“确定”按钮即可完成操作。

图6-9拒绝或禁用登录账号

当登录账号不再需要的时候可以将其删除,操作步骤如下:

(1)使用具有sysadmin角色权限的用户登录SSMS。

(2)在SQLServer2005的SSMS的“对象资源管理器”中,展开“安全性”,选择“登录名”,右击需要操作的账号,在弹出的快捷菜单中选择“删除”选项,即可完成操作。

学习情境6-2创建用户

●教学导航

当使用合法的登录账号登录到SQLServer时,只表明该账号可以通过认证,不代表其可以访问数据库或者对数据库进行操作。

一个服务器登录账号若要访问数据库,则在首先这个数据库中必须有一个数据库用户与之对应。

●课堂讲解

在SQLServer2005中有两类登录账户:

一个是登录服务器的登录账号,也称登录名;另外一个是使用数据库的用户账户。

数据库管理员需要在数据库中为登录账号建立对应的数据库用户,并授予该用户相应的权限后,登录账号才可以访问并操作数据库。

在一个数据库中,用户账户惟一标识一个用户,用户对数据库的访问权限以及对数据库对象的所有关系都是通过用户账户来控制的。

每个数据库用户都和服务器登录账号存在映射关系。

系统管理员可以将一个服务器登录账号映射到用户需要访问的每一个数据库的一个用户账户和角色上。

一个服务器登录账号可以映射成不同的用户,从而在不同的数据库中拥有不同的权限。

●课堂实践

任务4:

使用SSMS将登录账号Wang添加到SC数据库中,对应的用户名为wang。

(1)使用有足够权限的用户登录SSMS。

(2)在“对象资源管理器”中依次展开“数据库”节点、“SC”节点、“安全性”节点,右击“用户”节点,在弹出的快捷菜单中单击“新建用户”,弹出“数据库用户—新建”对话框,如图6-10所示。

如图6-10“数据库用户—新建”对话框

(3)在打开的“数据库用户—新建”对话框中的“用户名”文本框中输入要创建的用户名wang,在“登录名”文本框中输入与该用户名对应的登录账号Wang,也可以通过点击“浏览”按钮来打开对话框进行选择,如图6-11所示,最后单击“确定”按钮,完成数据库用户wang的创建。

图6-11选择登录账号“Wang”

任务5:

使用SSMS删除数据库用户wang。

(1)使用有足够权限的用户登录SSMS。

(2)在“对象资源管理器”中依次展开“数据库”节点、“SC”节点、“安全性”节点、“用户”节点,右击用户“wang”,在弹出的快捷菜单中选择“删除”如图6-12所示。

图6-12删除数据库用户wang

(3)在弹出的“删除对象”对话框中单击“确定”按钮即可将该用户删除,如图6-13所示。

图6-13“删除对象”对话框

●课外拓展

在SQLServer中也可以使用T-SQL语句来实现数据库用户添加或者删除操作。

(1)添加数据库用户,语法格式如下:

CREATEUSER数据库用户名FORLOGIN登录账号

(2)删除数据库用户,语法格式如下:

DROPUSER数据库用户名

学习情境6-3创建角色

●教学导航

角色是一种权限机制,SQLServer2005数据库管理系统利用角色设置,管理用户的权限。

数据库管理员可以将用户设置为某一角色,这样要管理员对角色进行权限设置,便可以实现对该角色中所有对应用户权限进行设置,大大减少了管理员的工作量。

●课堂讲解

SQLServer2005数据库提供了预定义的固定服务器角色与固定数据库角色,以及用户自定义数据库角色。

(1)固定服务器角色

服务器角色是执行服务器管理操作的具有相近权限的用户集合,根据SQLServer的管理任务以及任务的重要性等级,把具有SQLServer管理职能的用户划分为不同的服务器角色,每一个角色所具有的管理SQLServer的权限都是SQLServer内置的,即不能对其进行添加、修改和删除,只能向其中加入或者删除用户。

在SSMS的“对象资源管理器”中,依次展开“安全性”节点、“服务器角色”节点,在窗口中即可看到所有的服务器角色,如图6-14所示。

SQLServer提供了8种预定义的固定服务器角色,具体内容参看表6-1。

图6-14固定服务器角色

(2)固定数据库角色

数据库角色是在数据库级别定义的,并且存在于每个数据库中,是对数据库对象操作权限的集合。

SQLServer2005的数据库角色分为固定数据库角色和用户自定义数据库角色。

固定数据库角色是SQLServer2005已经预定义了这些角色所具有的管理、访问数据库的权限,而且SQLServer不能对其所具有的权限进行修改,只能向其中加入或者删除数据库用户。

SQLServer提供了10种预定义的固定数据库角色,具体内容参看表6-2。

其中public数据库角色是一个特殊的数据库角色,每个数据库用户都属于public数据库角色。

当尚未对某个用户授予或拒绝对安全对象的特定权限时,则该用户将继承授予该安全对象的public角色的权限。

表6-1SQLServer2005服务器角色

固定服务器角色

权限

sysadmin

拥有SQLServer所有的权限

serveradmin

管理SQLServer服务器的配置选项,关闭服务器

diskadmin

管理磁盘文件

processadmin

管理SQLServer系统中运行的进程

securityadmin

审核SQLServer系统登录,管理CREATEDATABASE权限、读取错误日志和修改密码

setupadmin

管理链接服务器和启动过程

dbcreator

创建、修改和删除数据库

bulkadmin

可以执行BULKINSERT语句,进行大容量操作

表6-2SQLServer2005固定数据库角色

固定数据库角色

描述

db_accessadmin

添加或删除Windows登录账户、Windows组和SQLServer登录账户的访问权限

db_backupoperator

备份数据库

db_datareader

读取所有用户表中的所有数据

db_datawriter

添加、删除或更改所有用户表中的数据

db_ddladmin

在数据库中运行任何数据定义语言(DDL)命令

db_denydatareader

不能读取数据库内用户表中的任何数据

db_denydatawriter

不能添加、修改或删除数据库内用户表中的任何数据

db_owner

执行数据库的所有配置和维护活动

db_securityadmin

修改角色成员身份和管理权限

public

维护全部默认的权限

(3)用户自定义数据库角色

当管理员需要为一组用户设置SQLServer中一组指定的权限时,而且该权限不等同与固定数据库角色所具有的权限时,就可以定义新的数据库用户角色来满足这一要求,从而使该组用户具有某些特定权限。

与固定数据库角色一样,也可以向自定义数据库用户角色添加成员。

另外,在SQLServer2005数据库级别上存在两个特殊用户,不能从任何数据库中删除该用户。

(1)guest用户

guest(游客)用户在默认情况下存在于所有数据库,且是禁用的。

授予guest用户的权限由在数据库中没有账号的用户继承。

(2)dbo用户

dbo是具有在数据库中执行所有活动的暗示性权限的用户。

固定服务器角色sysadmin的任何成员都映射到每个数据库内的称为dbo的特殊用户上,由固定服务器角色sysadmin的任何成员创建的任何对象都自动属于dbo。

●课堂实践

任务6:

使用SSMS将登录账号Wang映射到服务器角色sysadmin中。

(1)使用具有sysadmin角色权限的账号登录到SSMS,在“对象资源管理器”中,依次展开“安全性”节点、“服务器角色”。

(2)双击右侧窗口的服务器角色列表中要更改的服务器角色sysadmin,弹出“服务器角色属性”对话框,显示出当前服务器角色成员列表,如图6-15所示。

图6-15“服务器角色属性”对话框

(3)单击“添加”按钮,将弹出“选择登录名”对话框,如图6-16所示。

图6-16“选择登录名”对话框

(4)单击“浏览”按钮,会弹出“查找对象”对话框,如图6-17所示。

选中待添加的登录账户“Wang”前面的复选框,单击“确定”按钮,即可将选中的登录账户添加至服务器角色sysadmin角色成员列表中。

(5)单击“确定”按钮,Wang账户添加成功。

图6-17“查找对象”对话框

任务7:

使用SSMS将数据库用户wang添加到数据库角色db_datareader中。

(1)使用具有足够权限的用户登录SSMS。

(2)在“对象资源管理器”中依次展开“数据库”节点、“SC”节点、“安全性”节点、“角色”节点、“数据库角色”节点。

(3)右击db_datareader数据库角色,在弹出的快捷菜单中选择“属性”,将会弹出“数据库角色属性”窗口,如图6-18所示。

图6-18“数据库角色属性”窗口

(4)在“数据库角色属性”窗口中可以看到该角色当前包含的成员,单击“添加”按钮,将会弹出的“选择数据库用户或角色”窗口,如图6-19所示,再单击“浏览”按钮,会弹出的“查找对象”对话框,如图6-20所示,选择“wang”数据库用户。

图6-19“选择数据库用户或角色”窗口

图6-20“查找对象”对话框

(5)单击“确定”按钮,完成将数据库用户wang添加到数据库角色db_datareader中的操作。

任务8:

使用SSMS创建SC数据库的自定义数据库角色role1中。

(1)使用具有足够权限的用户登录SSMS。

(2)在“对象资源管理器”中依次展开“数据库”节点、“SC”节点、“安全性”节点、“角色”节点、“数据库角色”节点。

(3)右击“数据库角色”节点,在弹出的快捷菜单中选择“新建数据库角色”,将会弹出“数据库角色—新建”对话框,如图6-21所示。

图6-21“数据库角色—新建”对话框

(4)在“角色名称”文本框中输入自定义角色的名称“role1”。

(5)单击“确定”按钮,即可完成创建自定义角色role1。

●课外拓展

在SQLServer中也可以用T-SQL语句完成以上操作。

(1)将登录账号映射到固定服务器角色上,语法格式如下:

sp_addsrvrolemember登录名,角色名

(2)将数据库用户添加到固定数据库角色,语法格式如下:

sp_addrolemember角色名,数据库用户名

(3)创建数据库自定义角色,语法格式入下:

CREATEROLE角色名

学习情境6-4管理权限

●教学导航

权限用来控制用户如何访问数据库对象。

一个用户可以直接分配到权限,也可以作为一个角色中的成员来间接得到权限。

数据库内的权限始终授予数据库用户、角色和Windows用户或组,不能授予SQLServer登录账号。

用户登录到SQLServer之后,根据其用户账户的权限或者所属的角色权限来决定该用户能执行哪些操作。

●课堂讲解

SQLServer2005中的权限分为3种:

对象权限、语句权限和隐含权限。

(1)对象权限

处理数据或者执行过程时需要的权限称为对象权限。

对象权限是用来控制一个用户是如何与一个数据库对象进行交互操作的,有5个不同的权限:

查询(Select)、插入(Insert)、修改(Update)、删除(Delete)和执行(Execute)。

(2)语句权限

语句权限授予用户执行相应的语句命令的能力。

只有sysadmin、db_ower和db_securityadmin角色的成员才能授予语句权限。

(3)隐含权限

隐含权限是指系统预定义的服务器角色或数据库所有者和数据库对象所有者所拥有的权限,即不需授权就具有的权限。

隐含权限控制那些只能由预定义系统角色的成员或数据库对象所有者执行的活动。

在每个数据库中,用户的权限独立于用户账户和用户在数据库中的角色,每个数据库都有着自己独立的权限系统。

权限的管理主要是完成对权限的授权、拒绝和回收。

在这里我们主要介绍如何从用户或者角色的角度管理权限。

●课堂实践

任务9:

使用SSMS为SC数据库的自定义数据库角色role1中授予Student表的数据添加的权限,即INSERT权限。

(1)使用具有足够权限的用户登录SSMS。

(2)在“对象资源管理器”中依次展开“数据库”节点、“SC”节点、“表”节点,右击“Student”节点,在弹出的菜单上选择“属性”,弹出“表属性”对话框,如图6-22所示。

(3)单击“权限”选项页,如图6-23所示,在右侧的窗口中“用户和角色”列表下方的“添加”按钮,弹出“选择用户或角色”窗口,如图6-24所示。

(4)单击“浏览”按钮,弹出“查找对象”对话框,并选中需要授权的数据库用户或者角色,在这里选择角色role1,如图6-25所示。

(5)单击“确定”按钮,返回“表属性”对话框,此时在窗体下方显示出可供授予的权限列表,如图6-26所示。

在“授予”列上,选中“Insert”行。

(6)设置完毕后,单击“确定”按钮即可完成对role1角色权限的授予操作了。

图6-22“表属性”对话框

图6-23“权限”选项页

图6-24“选择用户或角色”窗口

图6-25“查找对象”对话框

图6-26“权限”选项页

任务10:

使用SSMS为SC数据库用户wang授予在SC数据库中创建视图的权限,即Createview权限。

(1)使用具有足够权限的用户登录SSMS。

(2)在“对象资源管理器”中依次展开“数据库”节点,右击“SC”节点,在弹出的菜单上选择“属性”,弹出“数据库属性—SC”对话框,选择“权限”选项页,如图6-27所示。

图6-27“数据库属性—SC”对话框,“权限”选项页

(3)在“用户和角色”列表中选中“wang”用户,并在“wang的显示权限”列表中的授予列上,选中“Createview”行。

(4)单击“确定”按钮,完成语句授权的授权操作。

●课外拓展

在SQLServer中也可以用T-SQL语句完成权限管理操作。

(1)授予数据库语句权限,语法格式如下:

GRANT{ALL|权限[,…n]}

TO用户[,…n][WITHGRANTOPTION]

(2)授予数据库对象相关权限,语法格式如下:

GRANT{ALL|权限[,…n]}{ON{表|视图|存储过程}}

TO用户[,…n][WITHGRANTOPTION]

(3)显示拒绝数据库语句权限,语法格式如下:

DENY{ALL|权限[,…n]}

TO用户[,…n][CASCADE]

(4)显示拒绝数据库对象相关权限,语法格式如下:

DENY{ALL|权限[,…n]}{ON{表|视图|存储过程}}

TO用户[,…n][CASCADE]

(5)收回数据库语句权限,语法格式如下:

REVOKE{ALL|权限[,…n]}

FROM用户[,…n][CASCADE]

(6)收回数据库对象相关权限,语法格式如下:

REVOKE{ALL|权限[,…n]}{ON{表|视图|存储过程}}

FROM用户[,…n][CASCADE]

 

项目单元实践6:

在图书管理数据库中建立以下信息:

1.添加图书管理员角色M,使其拥有对Borrowing表的添加权限,增加用户li属于该角色,并追加赋予它修改权限。

2.添加读者角色R,使其拥有对Borrowing表的查询权限,增加用户zhang属于该角色。

3.添加系统管理员角色S,使其拥有创建表的权限。

4.能不能收回li的添加和修改Borrowing表的权限,如何实现。

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1