实验四数据库安全性2016

合集下载

实验四数据库安全性技术

实验四数据库安全性技术

实验四数据库安全性技术【实验目的】1、理解安全性的概念。

2、在理解用户及相关概念的基础上掌握自主存取控制机制(DAC )。

3、熟悉MS SQL SERVER 的安全性技术。

【实验性质】综合性实验【实验导读】1、安全性概述数据库的安全性是指保护数据库,防止不合法的使用所造成的数据泄露和破坏。

数据库系统中保证数据安全性的主要措施是进行存取控制,即规定不同用户对于不同数据对象所允许执行的操作,并控制各用户只能存取他有权(操作权力)存取的数据。

存取控制机制分为自主存取控制(DAC )与强制存取控制(MAC ),主要包括两部分:一是定义用户权限,并将用户权限登记到数据字典中;二是合法权限检查。

常见数据库的安全性控制技术有:(1)用户标识与鉴别。

(2)自主存取控制(DAC ):用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。

因此自主存取控制非常灵活。

(3)强制存取控制(MAC ):每一个数据对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。

对于任意一个对象,只有具有合法许可证的用户才可以存取。

强制存取控制因此相对比较严格。

(4)视图:进行存取权限控制时我们可以为不同的用户定义不同的视图,把数据对象限制在一定的范围内即通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。

视图机制间接地实现了支持存取谓词的用户权限定义。

(5)审计(6)加密:对于高度敏感性数据,例如财务数据、军事数据、国家机密,除以上安全性措施外,还可以采用数据加密技术。

2、MS SQL Server安全性控制技术详细内容参阅联机丛书”中管理SQL Server” 一> '安全管理MS SQL Server的安全性建立在认证和访问许可两种机制上即用户要经过两个安全性阶段:身份验证和授权(权限验证)。

身份验证阶段使用登录帐户(login )标识用户并只验证用户连接MS SQL Server实例的能力。

数据库实验4 索引、数据完整性与安全性

数据库实验4 索引、数据完整性与安全性

实验四索引、数据完整性与安全性一、实验目的(1) 掌握利用SQL Server Management Studio和SQL语言建立、删除索引的方法;(2) 掌握利用SQL Server Management Studio和SQL语言实现数据完整性的方法;(3) 掌握在SQL Server Management Studio中实现数据安全性管理的方法。

二、实验原理1.索引在关系型数据库中,索引是一种可以加快数据检索的数据库结构。

SQL Server系统中主要有两种类型的索引,即聚集索引、非聚集索引。

(1)聚集索引聚集索引定义了数据在表中存储的物理顺序。

一个表只能定义一个聚集索引。

(2)非聚集索引非聚集索引并不存储表数据本身。

相反,非聚集索引只存储指向表数据的指针,该指针作为索引键的一部分,因此,在一个表中同时可以存在多个非聚集索引。

(3)利用SQL命令建立索引简化语法格式:CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED]INDEX index_name ON {table|view}(column|ASC|DESC][,…n])其中:UNIQUE。

可选。

该选项用于通知SQL Server索引中列出的列的值是每行唯一的。

如果试图插入重复的行,则该选项会强制SQL Server返回一个错误信息。

CLUSTERED或NONCLUSTERED。

可选。

如果这两个选项都没有被明确列出,则默认将索引创建为NONCLUSTERED(非聚集索引)。

(4)通过SQL命令删除索引语法格式:DROP INDEX ‘table.index|view.index’[,…n]2.表主键和UNIQUE约束表主键通过表数据中一个列或者多个列组合的数据来唯一标识表中的每一行数据。

即表主键就是用来约束数据表中不能存在相同的两行数据。

在SQL Server系统中,定义表的主键可以在创建表的同时定义,也可以给已有的表添加主键。

实验4 数据库安全性

实验4 数据库安全性

实验四SQL SERVER安全性一、实验目的掌握SQL SERVER数据访问控制策略和技术,SQL SERVER数据库管理系统使用安全帐户认证控制用户对服务器的连接,使用数据库用户和角色等限制用户对数据库的访问。

二、实验内容1.在服务器级别上创建三个以SQL Server身份验证的登录名,登录名称自定。

其SQL代码如下:create login Awith password='123456'create login Bwith password='123456'create login Cwith password='123456执行结果如下图所示:2.分别为三个登录名在“Project”数据库映射三个数据库用户,数据库用户名为Tom,Mary和John,使这三个登录名可以访问“Project”数据库。

其SQL代码如下:create user Tomfor login A执行结果如下图所示:create user Maryfor login B执行结果如下图所示:create user Johnfor login C执行结果如下图所示:3.授予用户John创建表和视图的权限。

其SQL代码如下:grant create table,create viewto John--验证性语句create table S.P(Pno varchar(25))gocreate view S.P_viewasselect*from S.Pgo其执行结果如下图所示:4.完成以下授权:(1)把对表S的INSERT权力授予用户Tom,并允许他再将此权限授予其他用户,其SQL代码如下:grant inserton Sto Tomwith grant option--验证性insert语句insert into Svalues('S11','网程','西安',null)其执行结果如下图所示:(2)用户Mary对S,P,J三个表有SELECT和INSERT权力其SQL代码如下:grant select,inserton Sto Marygrant select,inserton Pto Marygrant select,inserton Jto Mary--验证性语句insert into Svalues('S11','王勇','西安',null),其执行结果图片如下图所示:select*from S ,其执行结果图片如下图所示:insert into Pvalues('P11','凸齿','黑',11),其执行结果图片如下图所示:select*from P,其执行结果图片如下图所示:insert into Jvalues('J11','二建','北京'),其执行结果图片如下图所示:select*from J,其执行结果图片如下图所示:(3)用户Tom对SPJ表有DELETE权力,对QTY字段具有UPDATE权力。

数据库实验报告(实验四)

数据库实验报告(实验四)

沈阳工程学院学生实验报告(课程名称:数据库系统原理)实验题目:数据查询(二)班级学号姓名日期年月日地点指导教师一、实验目的掌握SQL查询命令:包括连接查询、嵌套查询和集合查询。

二、实验环境Oracle10g数据库系统。

三、实验内容与要求使用Select命令完成下列数据查询。

一、连接查询⑴查询每个顾客及其购买商品的顾客名称和商品名称。

⑵查询“沈阳市”顾客,购买“01”商品的顾客信息。

⑶查询“沈阳市”且购买了商品的顾客信息。

⑷查询购买“01”商品,且购买数量在2以上的顾客姓名。

⑸查询每个顾客购买商品的名称及购买数量和日期。

⑹查询购买商品单价超过100的顾客姓名。

二、嵌套查询⑴查询与“rose”在同一城市的顾客信息。

⑵查询购买商品名称为“面包”的顾客编号和姓名。

三、EXISTS查询⑴查询没有购买“0001”商品的顾客姓名。

⑵查询购买了全部商品类别的顾客的姓名。

四、实验过程及结果分析一、连接查询⑴查询每个顾客及其购买商品的顾客名称和商品名称,如图1-1所示。

select guest.*,guestname,goodsnamefrom guest,goods,purchasewhere guest.guestid=purchase.guestidand goods.goodsid=purchase.goodsid;图1-1⑵查询“沈阳市”顾客,购买“01”商品的顾客信息,如图1-2所示。

select guest.*from guest,purchasewhere guest.guestid=purchase.guestidand g_addr='沈阳'and purchase.goodsid='01';图1-2⑶查询“沈阳市”且购买了商品的顾客信息,如图1-3所示。

select guest.*from guest,purchasewhere guest.guestid=purchase.guestidand g_addr='沈阳';图1-3⑷查询购买“01”商品,且购买数量在2以上的顾客姓名,如图1-4所示。

数据库安全性实验报告

数据库安全性实验报告

数据库安全性实验报告数据库安全性实验报告引言:数据库安全性是一个重要的话题,随着信息技术的发展,数据库中存储的数据越来越多,其中包含了许多敏感信息。

因此,保护数据库的安全性成为了一项紧迫的任务。

本实验旨在探究数据库的安全性,并通过实验验证不同安全措施的有效性。

实验目的:1. 了解数据库的安全性概念和常见威胁;2. 掌握数据库安全性的评估方法;3. 验证数据库安全性措施的有效性。

实验过程:1. 数据库安全性概念数据库安全性是指保护数据库中存储的数据免受未经授权的访问、修改、删除或泄露的能力。

在实验开始前,我们先了解了数据库安全性的基本概念,包括身份验证、访问控制、加密等。

2. 数据库安全性评估方法为了评估数据库的安全性,我们采用了黑盒测试和白盒测试相结合的方法。

黑盒测试是通过模拟攻击者的行为,对数据库进行安全性测试。

白盒测试则是通过深入了解数据库系统的内部结构和运行机制,发现潜在的安全漏洞。

3. 实验设计我们选择了一个常用的开源数据库系统MySQL,并创建了一个包含敏感信息的测试数据库。

在实验中,我们设置了多个安全措施,包括密码策略、访问控制、防火墙等。

4. 实验结果通过黑盒测试,我们模拟了多种攻击方式,如SQL注入、跨站脚本等,测试数据库的安全性。

结果显示,数据库在没有任何安全措施的情况下容易受到攻击,敏感信息可能被泄露或篡改。

但是,当我们启用了密码策略、访问控制和防火墙等安全措施后,数据库的安全性明显提高,攻击者无法进行未经授权的操作。

5. 结果分析从实验结果中可以看出,数据库的安全性与所采取的安全措施密切相关。

密码策略可以防止未经授权的登录,访问控制可以限制用户的权限,防火墙可以阻止外部攻击。

因此,综合采取多种安全措施是保护数据库安全性的有效方法。

6. 实验总结通过本次实验,我们深入了解了数据库安全性的重要性,并通过实验验证了不同安全措施的有效性。

数据库安全性是一个复杂而严肃的问题,需要综合考虑各种因素,并不断更新和加强安全措施。

数据库---实验四oracle的安全性和完整性控制

数据库---实验四oracle的安全性和完整性控制

数据库---实验四oracle的安全性和完整性控制实验内容:(⼀)授权1. 以dba⽤户的⾝份登陆oracle,创建⽤户u1+学号后四位,u2+学号后四位。

SQL> create user u1_3985 identified by "123";SQL> create user u2_3985 identified by "123";SQL> create user u3_3985 identified by "123";SQL> create user u4_3985 identified by "123";2. 对1.中创建的⽤户授予connect,resource的权限。

SQL> grant connect,resource to u1_3985,u2_3985;3. ⽤户jsj***把查询Student表权限授给⽤户u1+学号后四位,u1执⾏相应的查询。

SQL> grant select on student to u1_3985;SQL> con u1_3985/123@orcl;1)查询jsj***⽤户的全体学⽣的详细记录。

SQL> select * from j2014213985.student ;2)查询jsj***⽤户的所有姓刘的学⽣的姓名、学号和性别。

SQL> select sname,sno,ssex from j2014213985.student where sname like '刘%';3)查询jsj***⽤户的名字中第⼆字为“勇”字的学⽣的姓名和学号。

SQL> select sname,sno from j2014213985.student where sname like '_明';4. ⽤户jsj***把对Student表和Course表的全部权限授予⽤户u2+学号后四位,u3+学号后四位;u2+学号后四位⽤户修改jsj***的数据。

实 验 四 数据库完整性与安全性

实 验 四 数据库完整性与安全性

实验四数据库完整性与安全性一.实验目的:理解并掌握利用SQL Server 2000进行完整性和安全性控制的基本操作和命令。

并熟悉触发器的使用。

二.实验属性:设计性。

三.实验仪器设备及器材:装有SQL Server 2000的电脑。

四.实验要求1. 预习SQL Server 2000中触发器的概念和使用方法,以及利用create trigger语句定义触发器的方法。

2. 预习SQL Server 2000中安全性架构,以及创建安全性账户和数据库角色等的方法。

2. 实验前仔细阅读实验指导书,理解实验要求。

3. 实验中要求完成如下工作(其中涉及的表是实验一中建立的表):五.实验内容1.触发器的使用1.1创建一个insert触发器,当在Student表中插入一条新记录时,给出‘你已经插入了一条新记录!!!’的提示信息。

1.2 创建一个insert触发器,当在SC表中插入一条新记录时,Sno和Cno必须是student和Course中存在的学号和课程号,且Grade应该在0----100之间。

1.3 创建一个after触发器,在Student表中删除某学生的记录时,删除其相应的选课记录。

1.4 创建一个instead of 触发器,当在Course表中删除记录时,不允许删除Course 表中的数据。

2. 数据库安全性2.1 在企业管理器中创建数据库用户U1、U2、U3和数据库角色R1、R2、R3,并对其操作权限进行设置。

2.2 使用SQL语言对数据库用户和角色的权限的授予。

(1)把查询Student表的权限授给用户U1:(2)把对Student表和Course表的全部操作权限授予用户U2和U3(3)把对Student表的Insert操作权限授予用户U2,并允许将此权限再授予其它用户。

2.3 使用SQL语言进行数据库对用户和角色权限的收回。

2.3.1把用户U2对Student表的Insert的权限收回。

2.3.2 收回所有用户对表student的查询权限2.3.3 通过角色来实现将一组权限授予一个用户。

实验四-数据库安全性2016

实验四-数据库安全性2016

实验四数据库安全性实验一、 实验目的熟悉通过SQL 对数据进行安全性控制。

二、 实验内容和要求1、 熟练grant ,revoke 语句进行 DAC 控制2、 通过创建角色以及授权实验,了解并掌握SQL Server 权限控制过程。

三、 实验主要仪器设备和材料 1 .计算机及操作系统: PC 机,Windows 2000/xp; 2 .数据库管理系统: SQL sever 2000/2005 ;四、 实验方法、步骤及结果测试 实验题目:题目1、通过management studio新建登录用户名sqluser ,使用SQL Server 身份认证, 密码为sqluser 。

其默认数据库为master=回 底』卿本〒□宰助登录宕Of ): 迪山<1 身旳验证CM9 SQL Server 身协验证确认密冏诩: •••••••冃蜀器:超:ggS^SA-iiiiLL s tr &/toi" 畀直査竝屋性设置过程截图显示」登录呂-厮逮兰册劳器角色兰用户映射 iiJ 书宕称⑴.巒朝名称(K ):题目2、以sqluser登录用户身份登录。

能否对student数据库进行操作?给出结果截图。

如果更改登录用户sqluser的属性,默认数据库改为student ,登录过程中有何问题,给出相应设置过程及相应截图,并简述原因登录遇到的问题豐r 占皆 确定 解决的办法:将windows 身份验证模式改为 SQL Server 和Windows 身份验证模式服务器身份验证 ---------------------------------------------Wind 吨 島份验证欖式CO0 SQL Server 和ti.ndowE 身份验证模式信)访问成功:-1无法连接到ggB" ©其他信崑:爲用户'sqluse^登录失听 该用户与可信SQL Server^无关联。

粗rusaftSQL Server,错误: 13452)ggS9 (SQL Server 9.0,1399 - sqlu&er)十数据等0 口0全性4丄倉器对靈0 L3复割4 u薛| _j Notification Se-nzices映射到此登录名的用户①):题目3、以sqluser登录用户身份登录,并且以public数据库角色成员的身份登录student 数据库,可否查询student各个表的信息,给出截图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四数据库安全性实验
一、实验目的
熟悉通过SQL对数据进行安全性控制。

二、实验内容和要求
1、熟练grant , revoke 语句进行DAC控制
2、通过创建角色以及授权实验,了解并掌握SQL Server权限控制过程。

三、实验主要仪器设备和材料
1 .计算机及操作系统:PC机,Windows 2000/xp ;
2.数据库管理系统:SQL sever 2000/2005 ;
四、实验方法、步骤及结果测试实验题目:
题目1、通过management studio 新建登录用户名sqluser,使用SQL Server身份认证,密码为sqluser。

其默认数据库为master
题目2、以sqluser登录用户身份登录。

能否对student数据库进行操作?给出结果截图。


果更改登录用户sqluser的属性,默认数据库改为student ,登录过程中有何问题,给出相应设置过程及相应截图,并简述原因
解决的办法:将windows身份验证模式改为SQL Server和Windows 身份验证模式服务器身粉蛤证 ---------------------------------------------
©朽ndgw身份验证模式珈)
»S9L Server和liniows身份验证模式缶)
访问成功:
r 菱全性
_J 发务器狂象 __l 朗
.H 鼬
j Notification Services
题目3、以sqluser 登录用户身份登录,并且以 public 数据库角色成员的身份登录
student
数据库,可否查询student 各个表的信息, 给出截图。

S a
7i +i 3 +
1 默认教据库站
题目4、以sqluser登录用户身份登录student ,并可以对该数据库进行各项增删改查以及创建视图操作,该如何设置(试着创建一个s上的反应s表中所有信息视图ss,看操作是否能
够执行)。

给出相应截图:
题目5、如果修改sqluser用户的权限,改为对student数据库所有用户表都只能进行读写,不能创建视图,该如何设置。

修改之后以sqluser身份登录,创建反映c表上的所有信息的视图。

会有什么提示?
给出相应设置过程及相应截图:
题目6、重新以administrator 身份登录DBMS ,利用SQL Server图形化界面新建登录用户
名rose,用户名rose (默认数据库为student ,暂不设置任何角色成员)
①授予ros吨询s表的权利,更新sc中grade的权利。

写出sql语句。

②以rose身份登录dbms,查询cs系所有学生信息,写出sql语句给出截图
③将s0001号学生的02号课程成绩改为84分。

写出sql语句给出截图
④将s0002的姓名改为“孙悟空”。

写出sql语句给出截图题目7、重新以数据库管理员身份登录DBMS ,
①回rose查询s表的权利。

实现代码及查询结果截图:
②以rose身份登录dbms,查询所有女学生的学号和姓名,实现代码及查询结果截图:
题目8、
① 创建角色R1拥有s表的select , update权限,写出sql语句
②将这个角色授予candy , rose,写出sql语句
③将candy的角色r1删除。

以candy登录,查询s表中所有信息。

写出sql语句并截图
④增加r1角色中修改c表,查询sc表的权限,写出sql语句。

相关文档
最新文档