数据库_第16章_SQL_Server安全管理_第1页
数据库_第16章_SQL_Server安全管理_第2页
数据库_第16章_SQL_Server安全管理_第3页
数据库_第16章_SQL_Server安全管理_第4页
数据库_第16章_SQL_Server安全管理_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

第16章SQLServer安全管理 SQLServer2000的安全机制SQLServer登录帐户管理数据库用户管理角色管理权限管理 应知 SQLSERVER2000的安全验证模式登录帐号 数据库用户的作用角色的概念和作用应会 登录帐号和用户的创建以及权限设置和撤销角色创建和授权 应知应会 专业词汇 AuthenticationMode验证模式Security安全Loginaccount登录帐号User用户Role角色Objectpermission对象权限Statementpermission语句权限Grant授权Revoke撤消 SQLServer2000的安全机制 操作系统的安全性SQLServer服务器的安全性数据库的安全性数据库对象的安全性 SQLServer验证模式 SQLServer两种验证模式1 仅Windows验证2 SQLServer和Windows的混合验证设置安全认证模式 问题1 赵老师当了g99402班的班主任 他要能查到全校的课程信息以及本班学生的选课信息 如何让他有权查到这些信息 安全管理 一个用户要对某一个数据库进行操作 必须同时满足两个条件 能连接到SQLServer服务器 连接权 有执行该操作的权限 访问权 SQLServer登录帐户管理 必须有合法的登录账号才能建立与SQLServer的连接一 使用SQL语言创建SQLServer登录帐户1 语法 sp addlogin 用户名 密码 登录用户使用的默认数据库 例 创建一个登录帐户 名为logzhao 密码为01 使用的默认数据库为mydb1EXECsp addlogin logzhao 01 mydb1 另可以使用企业管理器创建登录帐户 二 查看登录帐户sp helplogins三 修改登录帐户sp defaultdb sp defaultlauguage sp password四 删除登录帐户1 语法 sp droplogin 帐户名 例 sp droplogin logzhao 数据库用户管理 一 数据库用户名和登录名的关系1 登录名是访问SQLServer的通行证 但并不能访问服务器中的数据库 2 要访问特定的数据库必须要有用户名 用户名的信息存放在该数据库的sysusers表中 用户名没有密码 3 数据库用户名是一个登录帐户在某个数据库中的映射 一个登录帐户可以同时与多个数据库发生关联 4 只有登录名创建完成后 才能为其创建数据库用户名 二 使用SQL语句创建数据库用户1 语法 sp grantdbaccess 登录名 用户名 例 在数据库中创建用户dbuserzhao 对应的登录帐号是logzhao usemydb1execsp grantdbaccess logzhao dbuserzhao 2 说明 1 在执行本存储过程前 登录名必须已经存在 2 一般情况下 登录名和用户名相同 所以第二个参数通常省略 3 在执行本存储过程前 首先确认当前使用的数据库是要增加用户的数据库 三 使用SQL语句查看数据库用户sp helpuser四 使用SQL语句删除数据库用户语法 sp revokedbaccess 用户名 例 sp revokedbaccess dbuserzhao 五 两个特殊数据库用户1 dbo2 guest 一 权限 Permission 类型 权限有三种类型 默认权限 对象权限和语句权限 1 默认权限 也称为暗指权限 当数据库用户被分配到某一角色后 这些数据库用户就获得了该角色的默认权限 2 对象权限 用户拥有对数据库对象的访问和操作权限 共分为5种 1 查询 SELECT 拥有对某个表的访问权限 2 插入 INSERT 可以向表中插入数据 3 修改 UPDATE 可以对表中的数据进行更新 4 删除 DELETE 可以删除表中的数据 5 执行 EXECUTE 可以执行存储过程 权限管理 3 语句权限 通常授予需要在数据库中创建或修改对象 执行数据库和事务日志备份的用户 如果一个用户获得了某个语句的权限 该用户就具有了执行该语句的权力 共包含9种权限 1 BACKUPDATABASE 备份数据库 2 BACKUPLOG 备份事务日志 3 CREATEDATABASE 创建新的数据库 4 CREATEDEFAULT 创建缺省 5 CREATEPROCEDURE 创建存储过程 6 CREATEFUNCTION 创建用户定义函数 7 CREATERULE 创建规则 8 CREATETABLE 创建表 9 CREATEVIEW 创建视图 二 权限的验证过程 1 用户执行某项操作 相应的SQL语句通过网络发送到SQLServer服务器 2 SQLServer服务器收到SQL语句 检查该用户是否具有对操作对象的权限权限及执行这些语句的权限 3 如果SQLServer服务器权限验证通过 SQLServer系统执行相应的操作 否则 系统返回出错信息 三 管理权限 1 管理权限的用户 1 系统管理员 有sa帐户或具有相同权限的用户 2 数据库属主 当前数据库的拥有者 3 对象的属主 当前对象的拥有者 4 数据库用户 不属于以上用户的其它用户 2 权限的状态 1 授予权限 授予允许用户帐户执行某些操作的语句权限和对象权限 2 禁止权限 禁止某些用户或角色的权限 3 撤消权限 废除以前授予或禁止的权限 授予 禁止和撤消权限只能在当前数据库中进行 3 用SQL语句授予语句权限 1 语法 grant权限to用户 2 例 grantcreatetable createviewtodbuserzhao4 用SQL语句禁止语句权限 1 语法 deny权限to用户 2 例 denycreatetabletodbuserzhao 5 用SQL语句授予对象权限 1 语法 grant权限ON数据库对象TO用户 WITHGRANTOPTION 2 例 grantselectoncoursetodbuserzhao6 用SQL语句禁止对象权限 1 语法 deny权限ON数据库对象TO用户 2 例 denyselectoncoursetodbuserzhao 7 用SQL语句撤消对象权限 1 语法 revoke权限on数据库对象from用户例 revokeselectonstudentfromdbuserzhao8 用SQL语句撤消语句权限 1 语法 revoke权限from用户例 revokecreatetablefromdbuserzhao 问题1解决方法 解决赵老师能查询本班学生的选课信息 Createviewg99402xkasSelectsname cno gradefromstudent scWherestudent sno sc snoandstudent clno g99402 步骤1 创建g99402班的选课信息视图 步骤2 把访问该视图的权限授予赵老师 步骤3 验证赵老师能否访问视图 以logzhao登录 grantselectong99402xktodbuserzhao Select fromg99402xk 假如学校新增10个班主任 他们都要在学生表中添加 修改和删除学生信息 要各个设置权限 方便吗 问题2 一 角色SQLServer2000中 通过对相同权限的用户进行分组 然后再对组进行授权的方式来管理用户的权限 而组是通过角色来实现的 角色分为 服务器角色和数据库角色 1 服务器角色 是服务器级的对象 只能包含登录名 2 数据库角色 是数据库级的对象 只能包含用户名 角色 二 固定服务器角色1 固定服务器角色及功能 sp helpsrvrole可浏览固定服务器角色 2 为登录帐户指定服务器角色 1 语法 sp addsrvrolemember 登录名 服务器角色名 sp addsrvrolemember lily sysadmin 3 为登录帐户收回服务器角色 1 语法 sp dropsrvrolemember 登录名 服务器角色名 sp dropsrvrolemember lily sysadmin 三 数据库角色1 固定数据库角色及功能 另见P242特殊的数据库角色public 2 为数据库角色添加成员 1 语法 sp addrolemember 角色名 用户名 2 例 sp addrolemember db datareader GUEST 3 为数据库角色删除成员 1 语法 sp droprolemember 角色名 用户名 2 例 sp droprolemember db datareader GUEST 4 查看固定数据库角色 sp helpdbfixedrole 步骤1 创建班主任角色usemydb1EXECsp addrole m role 步骤2 对角色授权 步骤3 创建各班主任登录 sp addlogin logteac1 01 sp addlogin logteac2 02 解决问题 grantselect delete update insertonstudenttom role 步骤5 使用户成为角色成员sp addrolemember m role dbuser1sp addrolemember m role dbuser2 步骤6 验证插入权限 步骤4 创建各登录对应的用户 sp grantdbaccess logteac1 dbuser1 sp grantdbaccess logteac2 dbuser2

温馨提示

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

评论

0/150

提交评论