第08章 数据库安全.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第08章数据库安全概要1

8.4.4 语句权限的管理 授予语句权限 收回语句权限 * 1. 授予语句权限 在SQL Server中执行语句的权限包括: BACKUP DATABASE BACKUP LOG CREATE DATABASE CREATE DEFAULT CREATE FUNCTION CREATE PROCEDURE CREATE RULE CREATE TABLE CREATE VIEW * 1. 授予语句权限 语句授权的命令格式是: GRANT { ALL | statement_list } TO name_list 其中参数: ? ALL即全部语句,只有系统管理员可以使用此选项,因为只有系统管理员可以授予CREATE DATABASE的权限; ? statement_list给出授权的语句列表; ? name_list可以是数据库用户名或角色名(包括PUBLIC角色),说明这些语句的执行权限授予哪些用户或角色,这些用户或角色必须是已经存在的。 * 假设“仓储订货”数据库有用户tang、qiao、wu等,并据此完成下面实例的操作。 例8-37:数据库管理员授予用户名为tang的用户CREATE TABLE的权限。 GRANT CREATE TABLE TO tang * 练习 以用户tang的身份在“仓储”架构下执行CREATE TABLE命令创建表; 以用户tang的身份在“订货”架构下执行CREATE TABLE命令创建表。 结果如何? * 2. 收回语句权限 收回语句授权的命令格式是: REVOKE { ALL | statement_list } FROM name_list * 举 例 例8-38:从用户tang收回创建表的权限。 REVOKE CREATE TABLE FROM tang * 8.4.5 查询授权情况 使用系统存储过程sp_helprotect查询授权的情况 * 8.4.6 禁止权限 禁止架构权限的命令格式如下: DENY permission [ ,...n ] } ON SCHEMA :: schema_name TO database_principal [ ,...n ] [ CASCADE ] [ AS denying_principal ] 禁止对象权限的命令格式如下: DENY { ALL [ PRIVILEGES ] | permission_list } {[ ( column_list ) ] ON { table | view } | ON { table | view } [ ( column_list ) ] | ON stored_procedure | ON user_defined_function } TO name_list [CASCADE] 禁止语句权限的命令格式如下: DENY { ALL | statement_list } TO name 8.4.6 禁止权限 通过禁止用户或角色的权限可以: 删除以前授予用户、组或角色的权限; 停用从其他角色继承的权限; 确保用户、组或角色将来不继承更高级别的组或角色的权限。 * 举 例 例8-39:禁止用户wu使用CREATE TABLE语句,除非给他显式授予权限。 DENY CREATE TABLE TO wu 例8-40:禁止用户qiao和tang对“仓库”表进行修改(UPDATE)和删除(DELETE)操作,除非以后用GRANT语句直接给他们授予权限相应权限。 DENY UPDATE, DELETE ON 仓储.仓库 TO qiao, tang * 8.4.7 所有权链接 首先假设: 1. 用户U1对S1架构拥有ALTER权限; 2. U1用户被拒绝访问架构S2中的表T1; 3. S1架构和S2架构由同一所有者拥有。 * 越权情景1 U1用户对数据库拥有CREATE PROCEDURE权限,并对S1架构拥有 EXECUTE 权限。因此,U1用户可以创建一个存储过程,然后在该存储过程中访问被拒绝访问的表T1。 * 越权情景2 U1用户对数据库拥有CREATE SYNONYM(创建同义词)权限,并对S1架构拥有SELECT权限。因此,U1用户可以在S1架构中为被拒绝的表T1创建同义词,然后使用该同义词访问被拒绝的表T1。 * 越权情景3 U1用户对数据库拥有CREATE VIEW权限,并对S1架构拥有SELECT权限。因此,U1 用户可以在S1架构中创建视图,以便从被拒绝访问的表T1中查询数据,然后使用该视图访问被拒绝的访问的表T1。 * 8.4.8 角色与存取控制 对用户和用户组的权限管

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档