数据库安全管理实验.doc_第1页
数据库安全管理实验.doc_第2页
数据库安全管理实验.doc_第3页
数据库安全管理实验.doc_第4页
数据库安全管理实验.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库安全管理 18 /18数据库安全管理实验目的:理解SQL Server2008安全检查的三个层次:登录名、用户和权限;理解SQL Server 2008中固定角色与自定义角色并掌握通过角色进行授权的方法;掌握使用Grant/Revoke语句进行权限管理实验环境及学时安排:1SQL SERVER20082学时:2学时实验准备:SQL Server2008的安全检查分三个层次 登陆名:登陆服务器时进行身份验证; 用户:访问数据库须是数据库的用户或者是某一数据库角色的成员; 权限:执行语句时须有执行权限因此如果一个用户要在一个数据库中执行某条SQL语句必须首先为其创建登陆名(登录名可以选择Windows认证也可以选择SQL Server认证。如果选择前者则要求该账号必须是Windows账号)。接着在数据库中创建数据库用户,并让该用户映射已创建的登录名。最后通过GRANT命令或成为某个角色成员获得该用户执行操作的权限。实验内容:1、 创建示例数据库/表l 创建jiaoxue数据库,并在该数据库下创建Student、Course、SC三个基本表,分别在三个表中输入必要的数据(该操作使用前面实验的成果)。本次实验的所有操作均在该数据库下完成。2、 创建登陆名 用户可以通过企业管理器或系统提供的存储过程来进行登录帐户的创建。l 首先在Windows中创建用户John,然后在Management Studio中创建登录名John,选择Windows身份验证。注销Windows以John重新登录系统,点击SQL Server工具栏上的“数据库引擎查询”按钮,在弹出的“连接到数据库引擎”窗口中选择Windows验证,使用刚创建的John账号登陆。检验刚创建的登录名是否成功。l 使用Management Studio创建登录名xs, 密码是123456,选择SQL Server验证方式,默认数据库为master。l 使用Create Login创建登陆名DB_user,密码是zhimakaimen,SQL Server认证方式,默认数据库为master的帐户。CREATE LOGIN DB_user WITH PASSWORD=zhimakaimen, DEFAULT_DATABASE=master, DEFAULT_LANGUAGE=简体中文, CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF3、修改和删除登陆名已建立的登陆账户信息可以使用系统存储过程来修改默认数据库、默认语言、密码或删除用户。l 使用Alter login将帐户DB_user登录名的默认数据库改为jiaoxue。alter login DB_user with default_database=jiaoxuel 使用Alter login将帐户DB_user的密码改为自己的学号。alter login DB_userwith password = 201041402134l 使用Drop Login删除用户xs。DROP LOGIN xs4、创建数据库用户通过将服务器角色赋予不同的服务器登陆名,可以使之获得服务器级别的权限。服务器角色主要是控制服务器端对请求数据库资源的访问权限,他允许或拒绝服务器登陆名的访问操作,但是在设置具体数据库的管理和操作权限方面,服务器对象的权限设置粒度过大。因此为了实现更细粒度的权限管理,sqlserver还提供了数据库级别的对象:数据库用户(User)、数据 角色(Role)、数据库架构(Schema)。这三个对象是针对每一个数据库实例的,因此可以对单个数据库实例进行细化权限划分。拥有服务器角色sysadmin的登陆名将被映射为每一个数据库的dbo用户,因此可以在SQL Server2008中做任何操作(由此可见服务器角色权限粒度之大)。但对那些没有sysadmin角色的登陆名对象,它需要拥有一个能访问特定数据库实例的数据库用户名(User)以实现对该数据库的操作。比如说为登陆名Kelvin想要访问teaching数据库,但不具备 sysadmin的服务器角色。那么则在teaching数据库中中创建一个名为user_Kelvin的数据库用户。TSQL:USE teaching; GO; create user user_Kelvin for login Kelvin; 执行之后,用Kelvin登陆名登录的用户与teaching下的user_Kelvin用户建立起了关联。l 使用Management Studio在Jiaoxue数据库中创建数据库用户John_user,该用户映射登陆帐号John。l 使用Create User在Jiaoxue数据库中创建数据库用户DB_user,该用户映射登陆用户DB_user。CREATE USER DB_user FOR LOGIN DB_user5、创建架构(SCHEMA)l 使用CREATE SCHEMA/Management Studio创建架构MySchema。use jiaoxuegocreate schema MySchemal 使用T-SQL在该架构下创建表abc(语法Create Table MySchema.abc(.))。use jiaoxuegocreate schema MySchemaCreate Table MySchema.abc(id int)l 使用Alter Schema将Student所属的架构改为MySchema(参阅帮助中“用户架构分离”)。use jiaoxue goalter schema MySchema transfer dbo.Student6、修改/删除数据库用户l 使用Alter User将用户名DB_user改为自己的isme。(由此可见登陆名和用户名可以不一致,两者是一种映射关系,并且这种映射关系是可以改变的)use jiaoxuegoalter user DB_userwith name=ismel 使用Management Studio修改用户isme,使其拥有架构MySchema。7、角色管理角色可以看作一组操作权限的集合。对一个角色授予、拒绝或废除的权限也适用于该角色的任何成员。可以建立一个角色来代表单位中一类工作人员所执行的工作,然后给这个角色授予适当的权限。当工作人员开始工作时,只须将他们添加为该角色成员,当他们离开工作时,将他们从该角色中删除。而不必在每个人接受或离开工作时,反复授予、拒绝和废除其权限。权限在用户成为角色成员时自动生效。用户与角色的关系为:一个角色可以包含多个用户;一个用户可赋予多个角色,从而拥有多个角色的权限。SQL Server2008提供了服务器级别的角色和数据库级别的角色。期中服务器级别的角色不允许用户创建与修改,称为固定服务器角色。而数据库级别的角色包括固定数据库角色、用户自定义角色和应用程序角色。(1)固定服务器角色l 使用系统存储过程sp_helpsrvrole查看所有固定服务器角色,将发现包含以下角色:固定服务器角色 服务器级权限 Public有两大特点,第一,初始状态时没有权限;第二,所有的数据库用户都是它的成员。bulkadmin这个服务器角色的成员可以运行BULK INSERT语句。这条语句允许从文本文件中将数据导入到SQL Server 2008数据库中,为需要执行大容量插入到数据库的域账户而设计。dbcreator这个服务器角色的成员可以创建、更改、删除和还原任何数据库。这不仅是适合助理DBA的角色,也可能是适合开发人员的角色。diskadmin这个服务器角色用于管理磁盘文件,比如镜像数据库和添加备份设备。它适合助理DBAprocessadminSQL Server 2008能够多任务化,也就是说可以通过执行多个进程做多个事件。例如,SQL Server 2008可以生成一个进程用于向高速缓存写数据,同时生成另一个进程用于从高速缓存中读取数据。这个角色的成员可以结束(在SQL Server 2008中称为删除)进程。securityadmin这个服务器角色的成员将管理登录名及其属性。他们可以授权、拒绝和撤销服务器级权限。也可以授权、拒绝和撤销数据库级权限。另外,它们可以重置SQL Server 2008登录名的密码。serveradmin这个服务器角色的成员可以更改服务器范围的配置选项和关闭服务器。例如SQL Server 2008可以使用多大内存或监视通过网络发送多少信息,或者关闭服务器,这个角色可以减轻管理员的一些管理负担。setupadmin为需要管理链接服务器和控制启动的存储过程的用户而设计。这个角色的成员能添加到setupadmin,能增加、删除和配置链接服务器,并能控制启动过程。sysadmin这个服务器角色的成员有权在SQL Server 2008中执行任何任务。l 先使用create login创建SQL Server验证登录名newlogin,然后使用系统存储过程sp_addsrvrolemember将登录帐号添加为服务器角色dbcreator的成员,从而使其具有创建数据库的权利。点击“数据库引擎查询”按钮,在弹出的连接到数据库引擎窗口中使用新创建的newlogin账号登陆服务器,在该服务器下创建数据库,验证新创建的登录名在加入固定服务器角色dbcreator前后权限的变化。create login newloginwith password = 12345gosp_addsrvrolemember newlogin,dbcreator连接不了:l 使用存储过程sp_dropsrvrolemember收回分配给newlogin登录帐户的指定固定服务器角色dbcreator。sp_dropsrvrolemember newlogin,dbcreatorl 使用management studio完成以上操作。(2)固定数据库角色 每个数据库中都有几个由系统创建的数据库角色-固定数据库角色,这些角色的权限也由系统预先分配。与固定服务器角色不同,这些角色的权限可以修改,它们也能被删除。固定数据库角色的名称及权限见下表: 固定数据库角色数据库级权限db_accessadmin该角色的成员可以从数据库中增加或者删除用户。db_backupoperator该角色的成员允许备份数据库db_datareader该角色的成员允许从任何表读取任何数据。db_datawriter该角色的成员允许往任何表写入数据。db_ddladmin该角色的成员允许在数据库中增加、修改或者删除任何对象(即可以执行任何DDL语句)。db_denydatareader该角色的成员被拒绝查看数据库中的任何数据,但是他们仍然可以通过存储过程来查看。db_denydatawriter该角色的成员被拒绝修改数据库中的任何数据,但是他们仍然可以通过存储过程来修改。db_owner该角色的用户可以在数据库中执行任何操作。db_securityadmin该角色的成员可以更改数据库中的权限和角色。Public在SSQL Server 2008中每个数据库用户都属于public数据库角色。当尚未对某个用户授予或者拒绝对安全对象的特定权限时,这该用户将据称授予该安全对象的public角色的权限,这个数据库角色不能被删除l 使用系统存储过程sp_helpdbfixedrole浏览所有的固定数据库角色的相关内容。l 使用Management Studio将用户isme添加到db_datareader固定数据库角色中,从而使该用户可以查询jiaoxue数据库中的数据。该操作也可使用存储过程sp_addrolemember实现。sp_addrolemember db_datareader,ismel 使用Management Studio从db_datareader固定数据库角色中删除isme用户,从而收回对jiaoxue数据库的SELECT权限。该操作也可使用存储过程sp_droprolemember实现。 sp_droprolemember db_datareader,isme(3)自定义数据库角色l 使用Management Studio创建数据库角色Teacher,并使其拥有架构MySchema。8.用户的权限管理在数据库中使用grant/revoke/deny实现用户权限的管理,使其具有/不具有处理当前数据库中的数据或执行特定的 Transact-SQL 语句权利。l 通过grant授予Teacher角色对student表的SELECT权限以及对SC表的全部权限use jiaoxuegogrant select on student to Teachergogrant all on SC to Teachergol 通过gran授予用户isme创建基本表、视图的权限。 use jiaoxuegogrant create table to ismegogrant create view to ismegol 通过gran授予用户isme查询course表的权限,且该权限可以传播use jiaoxuegogrant select on course to isme with grant optiongol 将isme加入到角色Teacher中,从而继承对Student的SELECT权限。sp_addrolemember Te

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论