版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第12章 SQL的安全性 重点内容: 用户安全性 数据库元素安全性 GRANT和REVOKE 视图与SQL安全性 一、SQL安全SQL的安全性方案主要基于以下三个主要的概念: 用户:数据库系统的用户是数据库系统的使用者,包括数据库管理员(DBA)和普通的数据库系统用户两类。数据库管理系统DBMS每次得到进行检索、插入、删除或更新等数据操作命令时,需要根据发出命令的用户的身份,实施不同的安全性措施。 数据库元素:一些数据库元素只允许极少数用户访问,进行少数几种操作,而禁止大部分用户进行访问,所以,用户对数据库元素的访问需要受到保护限制。受保护的数据库元素不仅包括记录、表格、视图,窗体、应用程序甚
2、至是整个数据库也属于数据库元素的范畴。 权限:权限是指用户对一个给定的数据库元素进行操作的允许程度。例如,如果一个用户只拥有检索指定的数据库元素的权限,他就只能SELECT这个数据库元素,而不允许使用INSERT、DELETE和UPDATE等命令来操作这个数据库元素。对给定的数据库元素,不同的用户可以拥有一组不同的权限。 一、SQL安全1、用户 对于每一个需要访问基于SQL的数据库的用户,我们都要为他们创建一个用户标识。用户标识对一个数据库来说必须是唯一的。在一个实际的数据库系统中,用户标识由数据库管理员(DBA)来分配。 在创建数据库的同时建立的用户标识就是数据库管理员(DBA)标识。数据库
3、管理员的身份和普通用户的身份不完全相同。 数据库管理员(DBA)是这样一种拥有特权的用户:在本质上,数据库管理员有权在他所管理的数据库系统中执行任意的数据库操作。同时,数据库管理员还可以创建新的数据库和用户,授予不同的用户不同的数据库访问权限,甚至还可以指定数据库系统中其他的用户也拥有DBA的特权。 在许多数据库系统的安装过程中,DBA的角色通常由多个人共享,每一个人都可 以使用DBA的身份登录并执行数据库系统的管理任务,不过他们要在数据库中使用自己的用户名称来完成各自的任务。 一、SQL安全1、用户 一般的数据库系统在创建用户时,都会要求为每个用户标识同时建立一个用户密码,这样做可以防止有人
4、随意使用他人的用户标识自由登录并且擅改数据库的数据甚至是蓄意破坏数据库系统,设立用户密码有利于数据库的安全管理。不同的数据库为用户分配密码的方式有很大差别。 一个大型的数据库系统经常需要建立一些用户组。用户组的建立原则是,在一个用户组中,该组所有的用户对数据库系统的访问都具有相同的需要,所以他们应该具有相同的权限。我们可以通过以下的三种方式中的任意一种来处理用户组的建立需求: (1)为用户组中的每一个用户分配不同的用户标识。 (2)为用户组中的所有用户都分配相同的用户标识。 (3)使用组标识。 CREATE USER SOME_USER IDENTIFY BY password一、SQL安全2
5、、数据库元素 数据库元素分为多个等级,等级最高的数据库元素是数据库,等级最低的是列。一、SQL安全2、数据库元素 (1)数据库 数据库处于所有数据库元素的最外层,包围了所有其它的元素。数据库可以分为主数据库和单独的数据库两个层次,主数据库包围了所有的单独数据库。系统管理员DBA的账号拥有主数据库。单独数据库是分配给用户或者是为了特定的应用程序和项目而创建的数据库。 (2)表 数据库元素表,它是包含在数据库中。每一张表都是存在于具体的数据库中的。不同的数据库可以拥有名称相同而内容完全不同的几张表。 一般来说,创建表的用户拥有表。拥有者可以控制表的安全设置,还可以为基于表的视图中的各列指定安全设置
6、。 一、SQL安全2、数据库元素 (3)视图 视图建立在表的基础上。通过创建视图来访问数据库中的数据,可以限制用户的访问权限,让用户只能访问表的拥有者想让他们看到的具体数据。 (4)列和视图列 表是由列组成的,视图是由视图列组成的。 一、SQL安全3、SQL-3标准的新元素 (1)角色 SQL-3标准采用角色来管理用户和他们的权限,角色是指定的一种或一组权限,是一个单独的成分,是一个对象。角色具有的分组权限功能为数据库系统的安全性管理提供了许多便利的条件。 (2)触发器 触发器是指,当在指定的表上发生一个特定的操作事件时,将被调用的一个程序段。这个特定的操作事件也叫触发事件。当触发器所在的表有
7、触发事件产生时,数据库服务器可不必考虑当前用户是谁而直接执行触发器程序。 触发器定义语句的主要组成部分如下: 触发器名; 触发器所在的表的名称; 触发动作时间; 触发事件; 触发事件的列清单; 执行语句一、SQL安全3、SQL-3标准的新元素 (3)用户定义类型 在SQL-3标准中新增的CREATE TYPE、ALTER TYPE和DROP TYPE语句应用了对象/关系概念,我们可以使用它们来进行用户定义类型(UDT)的操作。 CREATE TYPE 用户自己定义数据类型的关键字 ALTER TYPE 用户修改自定义的数据类型的关键字 DROP TYPE 用户删除自定义的数据类型的关键字 一、
8、SQL安全4、权限 一个用户在数据库系统中对于某数据库元素的权限是指针对该数据库元素用户可以执行的一组动作。SQL为表和视图定义的最常见的基本权限有SELECT、INSERT、DELETE和UPDATE等。 (1)SELECT权限允许数据库系统用户在表或者视图中检索数据。 (2)INSERT权限允许数据库系统用户在表或者视图中插入新的数据记录行 (3)DELETE权限允许数据库系统用户在表或者视图中删除不需要的记录行 (4)UPDATE权限允许数据库系统用户修改表或者视图中的记录行 二、使用GRANT和REVOKE 1、使用GRANT授予权限或角色 GRANT是向角色授予权限和向用户授予权限和
9、角色的命令。表或视图的所有者使用GRANT语句来授予其他用户访问该数据库元素的许可权。GRANT PRIVILEGETO ROLEGRANT ROLETO USER二、使用GRANT和REVOKE 2、使用REVOKE撤销权限 在基于SQL的数据库系统中,先前使用GRANT语句授予用户的角色或者是授予用户和角色的权限可以通过使用REVOKE语句来撤销。对于一个特定的数据库对象来说,REVOKE语句的结构和GRANT语句的结构非常相似。使用REVOKE语句可以撤销指定的一个或者多个用户上的角色或者是用户和角色标识上的一个或者一组指定的权限。 三、视图与SQL安全性 一个用户成功使用视图的关键在于该用户创建视图时,能够确保在视图中捕获表中足够的和安全的信息,并且该用户还要能够确保正确地管理对视图和表进行访问的用户或角色被赋予的安全权限。简单地说,就是不允许其他
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 代理销售协议范文
- 企业技术部年终工作总结
- 中职学生学期个人总结
- DB12T 533-2014 公共服务单位服务标准体系标准编号规则
- 中秋节晚会领导致辞(20篇)
- 毕业的实习报告六篇
- 文书模板-解除流转合同
- 影响肉质的营养因素
- 部编版历史九年级上册第七单元 第20课《第一次 工业革命》说课稿
- 普宁市勤建学校九年级上学期语文第一次月考试卷
- 五年级上册数学教学设计-植树问题 人教版
- 社区儿童健康管理案例分析报告
- 企业财务管理课件:如何正确认识企业财务管理
- 2024年哈尔滨铁道职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 养老事业与养老产业的比较研究以日本养老事业与养老产业为例
- 下肢动脉闭塞症的护理
- 微观经济学(第三版)课程标准
- 单位职工酒驾检讨书范文
- 心脏骤停与猝死
- 《功能材料概论》课件
- 工程师职称代评销售话术
评论
0/150
提交评论