




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章 数据库安全性 2 第四章 数据库安全性 o 问题提出 n 数据库的一大特点是数据可以共享 n 数据库系统中的数据共享不能是无条件的共享 例: 军事秘密、国家机密、市场营销策略、销售计划 、客户档案、银行储蓄数据 n 数据共享必然带来数据库的安全性问题 o 数据库的安全性是指保护数据库以防止不合法 的使用所造成的数据泄漏、更改或破坏 3 第四章 数据库安全性 o 数据库中数据的共享是在DBMS统一严格的控制 之下的共享,即只允许有合法使用权限的用户 访问允许他存取的数据 o 数据库系统的安全保护措施是否有效是数据库 系统主要的性能指标之一 o 数据库的安全性和计算机系统的安全性,包括 计算机硬件、操作系统、网络系统等的安全性 ,是紧密联系相互支持的 4 本章内容 4.1 SQL Server 2008的安全机制 4.2 建立和管理用户账户 4.3 权限管理 4.4 角色管理 4.5 数据库架构 5 本章内容 4.1 SQL Server 2008的安全机制 4.2 建立和管理用户账户 4.3 权限管理 4.4 角色管理 4.5 数据库架构 6 4.1 SQL Server 2008的安全机制 o SQL Server 2008的身份验证模式 n 指系统确认用户的方式 n 在SQL Server2008支持两种身份验证模式:Windows 验证模式和SQL Server验证模式。 7 4.1 SQL Server 2008的安全机制 o SQL Server 2008的身份验证模式 n Windows身份验证:用户登录Windows时进行身份验 证,登录SQL Server时不再进行身份验证。 o 说明:必须将Windows账户加入到SQL Server中,才 能采用Windows账户登录SQL Server。 n SQL Server身份验证:使用SQL Server中的帐号和 密码来登录数据库服务器,而这些帐号和密码与 Windows操作系统无关。 8 4.1 SQL Server 2008的安全机制 o SQL Server 2008的安全性机制主要是通过SQL Server的安全性主体和安全对象来实现。 o SQL Server 2008的安全性主体有3个级别 n 服务器级别 n 数据库级别 n 架构级别 9 4.1 SQL Server 2008的安全机制 o 服务器级别 n 安全对象:登录名和固定服务器角色等。 o 登录名用于登录数据库服务器,而固定服务器角色用 于给登录名赋予相应的服务器权限。 o SQL Server 2008中的登录名包括Windows登录名和 SQL Server登录名。 o Windows登录名对应Windows验证模式,该验证模式所 涉及的账户类型主要有Windows本地用户账户、 Windows域用户账户、Windows组。 o SQL Server登录名对应SQL Server验证模式,在该验证 模式下,能够使用的账户类型主要是SQL Server账户 。 10 4.1 SQL Server 2008的安全机制 o 数据库级别 n 安全对象:用户和角色等。 o 用户安全对象是用来访问数据库的。如果某人只拥有 登录名,而没有在相应的数据库中为其创建登录名所 对应的用户,则该用户只能登录数据库服务器,而不 能访问相应的数据库。 o 创建登录名所对应的数据库用户,系统为该用户自动 具有public角色。该用户登录数据库后只拥有一些公 共的权限,如果想让该用户拥有一些特殊权限,可将 其添加到相应的角色中。 11 4.1 SQL Server 2008的安全机制 o 架构级别 n 安全对象:表、视图、函数和存储过程等。 o 架构的作用是将数据库中的所有对象分成不同的集合,这 些集合没有交集,每一个集合就称为一个架构。数据库中 的每一个用户都会有自己的默认架构。这个默认架构可以 在创建数据库用户时由创建者设定,若不设定则系统默认 架构为dbo。数据库用户只能对属于自己架构中的数据库对 象执行相应的数据操作。至于操作的权限则由数据库角色 决定。 o 例如,若某数据库中的表A属于架构S1,表B属于架构S2, 而某用户默认的架构为S2,如果没有授予用户操作表A的权 限,则该用户不能对表A执行相应的数据操作。但是,该用 户可以对表B执行相应的操作。 12 4.1 SQL Server 2008的安全机制 o 一个数据库使用者,要登录服务器上的SQL Server数据 库,并对数据库中的表执行数据更新操作,则该使用者 必须经过如图所示的安全验证。 本章内容 4.1 SQL Server 2008的安全机制 4.2 建立和管理用户账户 4.3 权限管理 4.4 角色管理 4.5 数据库架构 13 4.2 建立和管理用户账户 4.2.1 创建登录名 4.2.2 删除登录名 4.2.3 创建数据库用户 4.2.4 删除数据库用户 14 15 4.2.1 创建登录名 o 界面方式 n 建立Windows验证模式的登录名 n 建立SQL Server验证模式的登录名 16 4.2.1 创建登录名 o 命令方式 CREATE LOGIN login_name /*WITH子句用于创建SQL Server登录名*/ WITH PASSWORD = password HASHED MUST_CHANGE , ,. /*FROM子句用于创建其他登录名*/ | FROM WINDOWS WITH ,. | CERTIFICATE certname | ASYMMETRIC KEY asym_key_name 17 4.2.1 创建登录名 o 命令方式 := SID = sid | DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language | CHECK_EXPIRATION = ON | OFF | CHECK_POLICY = ON | OFF CREDENTIAL = credential_name := DEFAULT_DATABASE = database | DEFAULT_LANGUAGE = language 18 4.2.1 创建登录名 o 命令方式 n:用于指定在创建SQL Server登录名时的 一些选项,选项如下。 o SID:指定新SQL Server登录名的全局唯一标识符,如果未 选择此选项,则自动指派。 o DEFAULT_DATABASE:指定默认数据库,如果未指定此选项, 则默认数据库为master。 o DEFAULT_LANGUAGE:指定默认语言,如果未指定此选项,则 默认语言将设置为服务器的当前默认语言。 o CHECK_EXPIRATION:指定是否对此登录名强制实施密码过期 策略,默认值为OFF。 o CHECK_POLICY:指定应对此登录名强制实施运行SQL Server 的计算机的Windows密码策略,默认值为ON。 19 4.2.1 创建登录名 o 命令方式 n:用于指定在创建Windows登录名时 的一些选项,选项如下。 o DEFAULT_DATABASE:指定默认数据库。 o DEFAULT_LANGUAGE:指定默认语言。 20 4.2.1 创建登录名 o 命令方式 (1) 创建Windows验证模式登录名 n 创建Windows登录名使用FROM子句,在FROM子句的语 法格式中,WINDOWS关键字指定将登录名映射到 Windows登录名, 21 4.2.1 创建登录名 o 命令方式 n 例1 使用命令方式创建Windows登录名tao(假设 Windows用户tao已经创建,本地计算机名为cie001 ) CREATE LOGIN cie001tao FROM WINDOWS; 22 4.2.1 创建登录名 o 命令方式 (2) 创建SQL Server验证模式登录名 n 创建SQL Server登录名使用WITH子句,其中: o PASSWORD:用于指定正在创建的登录名的密码, password为密码字符串。 o HASHED 选项指定在PASSWORD参数后输入的密码已经 过哈希运算,如果未选择此选项,则在将作为密码输 入的字符串存储到数据库之前,对其进行哈希运算。 o 如果指定MUST_CHANGE选项,则SQL Server会在首次 使用新登录名时提示用户输入新密码。 23 4.2.1 创建登录名 o 命令方式 n 例2 使用命令方式创建SQL Server登录名sql_tao ,密码为123456。 CREATE LOGIN sql_tao WITH PASSWORD=123456 4.2 建立和管理用户账户 4.2.1 创建登录名 4.2.2 删除登录名 4.2.3 创建数据库用户 4.2.4 删除数据库用户 24 25 4.2.2 删除登录名 o 语法格式 DROP Login login_name n 例3 删除Windows登录名tao。 DROP Login cie001tao; n 例4 删除SQL Server登录名sql_tao。 DROP Login sql_tao; 4.2 建立和管理用户账户 4.2.1 创建登录名 4.2.2 删除登录名 4.2.3 创建数据库用户 4.2.4 删除数据库用户 26 27 4.2.3 创建数据库用户 o 界面方式 o 命令方式 n 语法格式 CREATE USER user_name FOR | FROM LOGIN login_name n 功能:向当前数据库添加用户 n 例5 在student数据库中为登录账户sql_tao映射 一个数据库用户u1。 CREATE USER u1 FOR LOGIN sql_tao; 4.2 建立和管理用户账户 4.2.1 创建登录名 4.2.2 删除登录名 4.2.3 创建数据库用户 4.2.4 删除数据库用户 28 29 4.2.2 删除数据库用户 o 语法格式 DROP USER user_name n 例6 删除student数据库的数据库用户u1。 DROP USER u1; 30 本章内容 4.1 SQL Server 2008的安全机制 4.2 建立和管理用户账户 4.3 权限管理 4.4 角色管理 4.5 数据库架构 31 4.3 权限管理 o 某个用户对某类数据库对象具有何种操作权力是 个政策问题而不是技术问题。数据库管理系统的 功能是保证这些决定的执行。 o 用户或DBA把授权决定告知系统,由SQL的GRANT 和REVOKE语句来完成。 o DBMS把授权的结果存入数据字典。 o 当用户提出操作请求时,DBMS根据授权定义进行 检查,以决定是否执行操作请求。 32 4.3 权限管理 o GRANT语句 GRANT , ON , TO , WITH GRANT OPTION; o 谁定义?DBA和表的建立者(即表的属主) o 功能:将对指定操作对象的指定操作权限授予指 定的用户。 33 4.3 权限管理 o GRANT语句 GRANT , ON , TO , WITH GRANT OPTION; n 指定了WITH GRANT OPTION子句: o 获得某种权限的用户还可以把这种权限再授予别的用户 n 没有指定WITH GRANT OPTION子句: o 获得某种权限的用户只能使用该权限,不能传播该权限 34 4.3 权限管理 o GRANT语句 o 例7把对S表和C表的全部权限授予用户U1和U2 GRANT ALL PRIVILEGES ON S TO U1,U2; GRANT ALL PRIVILEGES ON C TO U1,U2; 35 4.3 权限管理 o GRANT语句 o 例8把查询S表和修改学生学号的权限授给用户 U3,并允许他再将此权限授予其他用户 GRANT UPDATE(Sno), SELECT ON S TO U3 WITH GRANT OPTION; 36 4.3 权限管理 o GRANT语句 o 执行例8后,U3不仅拥有了对表S的SELECT权限和 对学号列的修改权限,还可以传播此权限: GRANT UPDATE(Sno),SELECT ON S TO U4 WITH GRANT OPTION; 同样,U4还可以将此权限授予U5: GRANT UPDATE(Sno),SELECT ON S TO U5 但U5不能再传播此权限。 37 4.3 权限管理 o REVOKE语句 REVOKE , ON , FROM ,; o 谁定义?DBA和表的建立者(即表的属主) o 功能:从指定用户那收回对指定对象的指定权限 38 4.3 权限管理 o REVOKE语句 o 例9把用户U3修改学生学号的权限收回 REVOKE UPDATE(Sno) ON S FROM U3; 39 4.3 权限管理 o DENY语句 DENY , ON , TO ,; o 使用DENY命令可以拒绝给当前数据库内的用户授 予的权限,并防止数据库用户通过其组或角色成 员资格继承权限。 40 4.3 权限管理 o DENY语句 o 例10拒绝用户U1对学生表的查询权限 DENY SELECT ON S FROM U1; 41 4.3 权限管理 o SQL灵活的授权机制 n DBA拥有对数据库中所有对象的所有权限,并可以根 据应用的需要将不同的权限授予不同的用户。 n 用户对自己建立的基本表和视图拥有全部的操作权限 ,并且可以用GRANT语句把其中某些权限授予其他用 户。 n 被授权的用户如果有“继续授权”的许可,还可以把获 得的权限再授予其他用户。 n 所有授予出去的权力在必要时又都可以用REVOKE语句 收回。 42 本章内容 4.1 SQL Server 2008的安全机制 4.2 建立和管理用户账户 4.3 权限管理 4.4 角色管理 4.5 数据库架构 43 4.4 角色管理 o 数据库角色是被命名的一组与数据库操作相关的 权限,角色是权限的集合。 o 可以为一组具有相同权限的用户创建一个角色, 使用角色来管理数据库权限可以简化授权的过程 。 o 角色的创建 CREATE ROLE n 刚刚创建的角色是空的,没有任何内容。可以用 GRANT为角色授权。 44 4.4 角色管理 o 给角色授权 GRANT ,. ON TO ,. n DBA和用户可以利用GRANT语句将权限授予某一个或几 个角色 45 4.4 角色管理 o 角色权限的收回 REVOKE ,. ON FROM , . n 用户可以回收角色的权限,从而修改角色拥有的权限 n REVOKE动作的执行者或者是角色的创建者,或者拥有 在这个(些)角色上的ADMIN OPTION 46 4.4 角色管理 o 添加和删除角色成员 n 将数据库用户添加到角色中,使数据库用户拥有角色 的权限 o 使用存储过程SP_ADDROLEMEMBER n 将数据库用户从角色中删除,取消角色权限的授予 o 使用存储过程SP_DROPROLEMEMBER 47 4.4 角色管理 o 例11通过角色来实现将一组权限授予一个用户 1.首先创建一个角色R1 CREATE ROLE R1; 2.然后使用GRANT语句,使角色R1拥有S表的SELECT、 UPDATE、INSERT权限 GRANT SELECT,UPDATE,INSERT ON S TO R1; 48 4.4 角色管理 o 例11通过角色来实现将一组权限授予一个用户 3.将这个角色授予王平,张明,赵玲。 EXEC SP_ADDROLEMEMBER R1, 王平 EXEC SP_ADDROLEMEMBER R1, 张明 EXEC SP_ADDROLEMEMBER R1, 赵玲 4.可以一次性的通过R1来回收王平的这3个权限 EXEC SP_DROPROLEMEMBER R1, 王平 49 4.4 角色管理 o 例12角色的权限修改 GRANT DELETE ON S TO R1 REVOKE SELECT ON S FROM R1 n 通过角色的使用可以使自主授权的执行更加灵活、方 便 50 4.4 角色管理 o 在SQL Server 2008中用户除了可以自己创建角 色外,系统也提供了现有的一些角色。 o 固定服务器角色是指在用户登录时授予的在服务 器范围内的权限,这类角色可以在服务器上进行 相应的管理操作,完全独立于某个具体的数据库 。 o 固定数据库角色应用于单个数据库,它能够授予 用户帐户不同级别的管理或访问数据库及其对象 的权限。 51 4.4 角色管理 固定服务器角色描述 Bulkadmin块数据操作管理员,拥有执行块操作的权限 Dbcreator数据库创建者,拥有创建数据库的权限 Diskad
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 旅行社与导游的劳动合同(合同范本)6篇
- 宾馆住宿餐饮跟高招合同范本5篇
- 2025LED广告屏制作合同协议
- 九年级化学上册 4.3 氧气说课稿 (新版)鲁教版
- 第一课 清明微雨思先人教学设计-2025-2026学年小学地方、校本课程辽海版人与社会
- 10.动物的脸教学设计-2023-2024学年小学美术四年级下册人美版(常锐伦、欧京海)
- 2025年乌鲁木齐市国企考试真题
- 2025工程监理安全责任合同
- 高中生物 第四章 第五节 关注人类遗传病说课稿 苏教版必修2
- 线缆厂应急处理管理规章
- 脑干神经解剖定位
- 土木工程生产实习日记50篇
- GB/T 5993-2003电子设备用固定电容器第4部分:分规范固体和非固体电解质铝电容器
- FZ/T 52059-2021抗菌粘胶短纤维
- 医学课件-护理评估课件
- 儿童营养性疾病的预防
- 幼儿园大班安全教育:《暴力玩具不能玩》 课件
- 26个英文字母大小写描红
- 养老院预算及成本管理制度
- 研学旅行基地评估认定评分表
- DL∕T 1867-2018 电力需求响应信息交换规范
评论
0/150
提交评论