第四章安全性管理.

上传人:今*** 文档编号:107695433 上传时间:2019-10-20 格式:PPT 页数:48 大小:1.28MB
返回 下载 相关 举报
第四章安全性管理._第1页
第1页 / 共48页
第四章安全性管理._第2页
第2页 / 共48页
第四章安全性管理._第3页
第3页 / 共48页
第四章安全性管理._第4页
第4页 / 共48页
第四章安全性管理._第5页
第5页 / 共48页
点击查看更多>>
资源描述

《第四章安全性管理.》由会员分享,可在线阅读,更多相关《第四章安全性管理.(48页珍藏版)》请在金锄头文库上搜索。

1、刘根萍,数据库管理系统中存储了大量的业务数据,这些数据都是企业的核心商业机密或者极为重要的资料。 安全性是数据库管理系统的一个重要特征。 对于一个网络数据库管理系统,安全是很重要的。,第四章 安全性管理,刘根萍,刘根萍,本章内容,安全机制,刘根萍,数据库的基本概念,学习目标,认知目标: 了解安全模式 、身份验证、权限验证、登录帐户 、服务器角色 、数据库角色等概念 能力目标: 掌握登录帐户、数据库用户、数据库角色的创建(重点) 掌握数据库中权限设置管理的方法 (难点),刘根萍,引言,第一个安全问题: 当用户登录到数据库系统时,如何确保只有合法的用户才能登录到系统中呢?通过身份验证模式和主体解决

2、的。 第二个安全问题: 当用户登录到系统中,他可以执行哪些操作、使用哪些对象和资源呢?通过安全对象和权限设置来实现的。 第三个安全问题: 数据库的对象由谁所有?,刘根萍,Sql server中提供了一整套保护数据安全的机制,包括: 登录名、角色、架构、用户、权限等 可以有效地实现对系统访问和数据访问的控制,一、安全机制,刘根萍,主体,主体可以请求系统资源的个体、组合过程。,例如: 数据库用户:他可以按照自己的权限在数据库中执行操作和使用相应的数据。 操作系统账户 sql server登录名,刘根萍,安全对象,SQL Server系统管理者可通过权限保护分层实体集合,这些实体被称为安全对象。,安

3、全对象是SQL Server系统控制对其进行访问的资源。 SQL Server系统通过验证主体是否已经获得适当的权限来控制主体对安全对象的各种操作。,刘根萍,主体和安全对象的结构示意图,刘根萍,数据库对象、架构和用户关系示意图,刘根萍,一、安全机制,刘根萍,一、安全机制,每个网络用户在访问SQL Server数据库之前,都必须经过两级安全验证: 身份验证:验证用户是否拥有服务器级的“连接权”,即是否允许访问SQL Server服务器。 权限验证:验证用户是否拥有数据库级的“访问权”,即是否可以在数据库上执行操作。,刘根萍,二、服务器级的安全管理,Windows身份验证 使用Windows操作系

4、统本身提供的安全机制验证用户的身份。只要用户能够通过Windows的用户帐户验证,就可连接到SQL Server,又称为“信任连接”模式。 SQL Server验证 使用SQL Server验证时,必须提供连接到SQL Server上登录帐号和口令(该帐号和口令由系统管理员事先创建并存储在SQL Server中)。 使用该模式:一是为了和7.0版以前的SQL Server相兼容;二是如果SQL Server安装在Windows 98下,必须使用该模式。,1. 身份验证 (1)两种模式,刘根萍,刘根萍,任务1:将本地服务器的身份验证模式设置为 “混合模式” 右击“本地服务器”“属性” “安全性”

5、 任务2:用“windows”身份验证连接到本地服务器上。 右击“本地服务器”“编辑SQL Server注册属性” 展开“本地服务器”即连接(因“windows”身份是信任连接) 任务3:用“SQL Server”身份验证连接到本地服务器上。 修改登录帐号“sa”的密码。 展开“本地服务器”中的“安全性”单击“登录” 右击“sa” “属性” 修改密码 设置“使用SQL Server 身份验证”。 右击“本地服务器”“编辑SQL Server注册属性” 勾选“使用SQL Server 身份验证” 输入“登录名”和“密码” 说明:sa是一个超级登录帐号,具有操作服务器的一切权限。,动手操作1:设置

6、身份验证模式,刘根萍,含义:登录者用来连接SQL server的帐号。 两种类型: windows身份验证时的登录帐号(即用户帐号)。 形式为“域(或计算机)名用户(或组)” 系统内建的本地组,采用“BUILTIN Administrators”形式 SQL server身份验证时,由系统管理员创建的登录帐号和密码。 sa是一个内置的SQL Server超级登录帐号,该账户拥有最高的管理权限,具有操作服务器的一切权限。,二、服务器级的安全管理,2. 登录帐号,刘根萍,刘根萍,任务1: 将windows中的某个组或用户设置为登录帐号; 创建个“SQL Server”登录帐号,登录名为st1和st

7、2。 方法:双击“服务器” 安全性右击“登录” “新建登录” 创建“windows”登录帐号。 单击“名称”旁的“浏览”按钮 选择要加入的组或用户 创建“SQL Server”登录帐号。 在“名称”框中输入“st1” 选择“SQL Server身份验证” 输入密码,动手操作2:登录帐号的使用,刘根萍,任务2:使用st1登录帐号连接到SQL Server服务器,请 问能否查看xsgl库中的数据?为什么? 说明:普通登录帐号必须赋予了服务器角色后,才会具有服务器范围内的操作权限。 任务3:查看各登录帐号的服务器角色。 右击“登录帐号” “属性” ,动手操作2:登录帐号的使用,刘根萍,含义: 系统定

8、义的具有不同权限的组,其组成员是登录帐号。 服务器角色不能增加或删除,只能对其中的成员进行修改。 常用的服务器角色,二、服务器级的安全管理,3. 服务器角色,刘根萍,服务器角色,刘根萍,服务器角色,刘根萍,任务1:了解各服务器角色中的成员及权限。 双击“服务器” “安全性” “服务器角色” 任务2:将登录帐号st1赋予“database creators”的服务器角色,使其具有可创建和更改数据库的权限。 在“服务器角色”窗口中,右击“database creators”角色“属性” 单击“添加” 选择成员 请思考:使用st1登录帐号连接到SQL Server服务器,请问能否查看xsgl库中的表

9、对象?为什么? 说明:尽管普通登录帐号已赋予了服务器角色(sysadmin除外 ),但仍没有使用其它数据库对象(表/视图/存储过程等)的权限。因为SQL Server是以数据库用户名来访问数据库的。,动手操作3:服务器角色的使用,刘根萍,任务3:将登录帐号st2赋予“sysadmin”的服务器角色,使其具 有对系统的所有操作权。 说明:若将登录帐号st2加入到sysadmin服务器角色中,以该帐号登录的用户就拥有了对系统的所有操作权。 任务4:分别以st1和st2登录SQL Server服务器,查看xsgl库中 的各对象,请思考哪个登录帐号的权限大? 任务5:因某种原因,要取消登录帐号为st2

10、所拥有的对服务 器的所有操作权,但仍能登录SQL Server服务器,如 何设置? 在“服务器角色”窗口中,右击“sysadmin”角色“属性” 选择成员单击“删除” ,动手操作3:服务器角色的使用,刘根萍,含义: 如果要使登录帐号具有访问数据库的权力,必须将登录帐号映射为数据库用户名。所以,每一个登录帐号必须对应一个数据库用户名称。 登录帐号sa(或windows帐号)对应的数据库用户名为dbo,dbo用户拥有操作数据库的所有权限(权限最高)。 凡具有sysadmin服务器角色的登录帐号,自动映射为dbo。 其它登录帐号在某库中没有对应的用户名称时,就映射到guest用户帐号上,若没有gue

11、st(如xsgl库),则不能查看到该数据库对象。,三、数据库级的安全管理,1. 数据库用户简介,刘根萍,含义: 如果要使登录帐号具有访问数据库的权力,必须将登录帐号映射为数据库用户名。 登录帐号和数据库用户的区别:,(提供数据库访问),(提供SQL server访问),说明:每个登录帐号要对应一个数据库用户名称。,三、数据库级的安全管理,1. 数据库用户简介,刘根萍,内置的用户名称:dbo和guest 登录帐号sa(或windows帐号)对应的数据库用户名为dbo,dbo用户拥有操作数据库的最高权限。凡具有sysadmin服务器角色的登录帐号,自动映射为dbo。 其它登录帐号在某库中没有对应的

12、用户名时,就映射到guest用户帐号上(对数据库的访问权限最低)。若没有guest(如xsgl库),则不能查看到该数据库对象。 例如: 在xsgl库中,登录帐号st1既没有映射相应的用户名,又没有guest,所以,st1不能查看到该库中对象的信息。,三、数据库级的安全管理,1. 数据库用户简介,刘根萍,任务1:将登录帐号st1映射为xsgl库中的一个名为“u1”的用户帐号,使“u1”能访问该库。 右击xsgl库中的“用户” “新建数据库用户” 任务2:将登录帐号st1同时映射为xsgl、users库中的一个用户帐号。 双击 “服务器” “安全性” “登录” 在“登录”窗口,双击“st1”登录帐

13、号 单击“数据库访问”标签勾选所要访问的数据库,动手操作4:数据库用户的创建,刘根萍,修改数据库用户 主要是修改为此用户所设置的用户权限(修改所属的数据库角色)。 删除数据库用户 删除一个登录帐号在当前数据库的映射,使该登录帐号失去访问数据库的权限。 方法1:与创建类似,只是取消数据的选定。 方法2:在指定数据库的“用户”窗口中,右击要删除的用户名单击“删除”,三、数据库级的安全管理,2. 管理数据库用户,刘根萍,定义: 是在数据库级别上定义的用户权限组,存在于每个数据库中。其成员是用户帐号。 类型: 固定数据库角色 自建数据库角色,三、数据库级的安全管理,3. 数据库角色,刘根萍,任务1:将

14、xsgl库的所有者权限赋给st1用户。 在“登录”窗口,双击“st1”登录帐号 单击“用户映射”标签勾选xsgl数据库“,默认架构设置为 db_owner” 任务2:创建一个名为“zdy”的数据库角色,使该角色具有如下的权限:可查询CustomersInfo表、可查询和修改CustomersInfo表、可查询和插入ProductsInfo表,但不能进行删除的权限。 右击xsgl库的“角色” “新建数据库角色” 输入名称“zdy” “确定” 双击“zdy” 单击“安全对象”按钮设置权限,动手操作5:数据库角色的创建,刘根萍,数据库级别角色,刘根萍,数据库级别角色,刘根萍,数据库级别角色,刘根萍,

15、数据库级别角色,刘根萍,权限的作用: 用来控制用户如何访问数据库对象。 权限的分类: 对象权限:是指用户对数据库中的表、视图、存储过程等对象的操作权限。 语句权限:是指执行数据定义语句的权限。 隐含权限:是指系统预定义的服务器角色、数据库拥有者和数据库对象拥有者所拥有的权限。该权限不能明确地赋予和撤销。,四、权限管理,1. 权限的分类,刘根萍,用户或角色的权限有三种形式: 授予权限: 能执行相应操作 拒绝权限 : 不能执行相应操作 剥夺权限 : 不允许执行相应操作,但可以通过加入角色来获得许可权。,四、权限管理,2. 权限管理的内容,刘根萍,任务1:管理数据库用户的语句权限。要求:xsgl库中

16、的用户u1只能查看CategoriesInfo表中的数据,不能做任何更改和删除,应如何设置? 单击xsgl库中的“用户” 右击“u1”用户“属性” “安全对象” 添加安全对象,并设置CategoriesInfo表上的操作权限 任务2:管理数据库角色的语句权限。要求:xsgl库中的所有用户只能查看OrdersInfo表中的数据,不能做任何更改和删除,应如何设置? 右击xsgl库中的“角色” “新建自定义角色”(aa) 常规中添加角色成员选择用户 安全对象中添加安全对象,设置在OrdersInfo表上的操作权限,动手操作6:管理权限,刘根萍,任务3:管理数据库对象的权限。对于xsgl库中的OrdersDetailsInfo表,希望所有用户都不能删除、修改和插入记录,且不能访问“地址”字段 右击OrdersDetailsInfo表“属性” “权限” 设置权限 单击“列” 按钮设置列权限

展开阅读全文
相关资源
相关搜索

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

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号