- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用标准文案
精彩文档
实验四 数据库安全性
一 实验目的
1.加深对数据安全性的理解。
2.研究具体DBMS提供的安全性技术并实践。
二 实验平台
操作系统:Windows 7 -64位
数据库软件:SQL Server 2008
三 实验准备
研究具体DBMS所支持的安全性技术。并综述下列内容:
数据库安全性概念
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更
改或破坏。
具体DBMS的数据库安全性措施
数据库的安全一直是广大用户密切关注的一个问题,现有数据库安全主要通
过九个措施来实现:包括用户标识和鉴定、存取控制问题、定义视图、数据
加密、多级保护体制、限界、对象重用、审计和日志、攻击检测等
四 实验内容及要求
实践具体DBMS所支持的安全性技术
用户、权限和角色机制实践
当用户登录数据库系统时,如何确保只有合法的用户才能登录到系统中?这是一个最基本的安全性问题,也是数据库管理系统提供的基本功能。在Microsoft SQL Server 2008系统中,通过身份验证模式和主体解决这个问题。
(1)身份验证模式
Microsoft SQL Server 2008系统提供了两种身份验证模式:Windows身份验证模式和混合模式。
Windows身份验证模式:
在该模式中,用户通过Windows用户账户连接SQL Server时,使用Windows操作系统中的账户名和密码。
混合模式:
在混合模式中,当客户端连接到服务器时,既可能采取Windows身份验证,也可能采取SQL Server身份验证。
(2)主体
主体是可以请求系统资源的个体或组合过程。SQL Server 2008系统有多种不同的主体,不同主体之间的关系是典型的层次结构关系,位于不同层次上的主体其在系统中影响的范围也不同。位于层次比较高的主体,其作用范围比较大;位于层次比较低的主体,其作用范围比较小。
Windows 级别的主体
Windows 域登录名
Windows 本地登录名
SQL Server 级的主体
SQL Server 登录名
数据库级的主体
数据库用户
数据库角色
应用程序角色
SQL Server sa 登录名
SQL Server sa 登录名是服务器级的主体。默认情况下,该登录名是在安装实例时创建的。在 SQL Server 2005 和 SQL Server 2008 中,sa的默认数据库为 master。这是对早期版本的 SQL Server 的行为的更改。
public 数据库角色
每个数据库用户都属于 public 数据库角色。当尚未对某个用户授予或拒绝对安全对象的特定权限时,则该用户将继承授予该安全对象的 public 角色的权限。
INFORMATION_SCHEMA 和 sys
每个数据库都包含两个实体:INFORMATION_SCHEMA 和 sys,它们都作为用户出现在目录视图中。这两个实体是 SQL Server 所必需的。它们不是主体,不能修改或删除它们。
基于证书的 SQL Server 登录名
名称由双井号 (##) 括起来的服务器主体仅供内部系统使用。
关于服务器登录名,服务器角色,数据库用户,数据库角色,数据库架构的关系:
登录名一定属于某些角色,默认为public。
数据库用户对应于服务器登录名以便登录者可以操作数据库。
根据权限需求可把数据库用户划分为一个数据库角色。
数据库用户和数据库角色均持有数据库架构。
数据库架构,类似于数据库对象的命名空间,用户通过架构访问数据库对象。
关系图更加清晰:
实验用例:
SQL Server的用户和权限机制实践步骤:
以系统管理员的身份登录到SQL Server
创建数据库用户user1
在创建数据库用户之前,了解到用户名和登录名是一对一的关系。即一个用户对
应一个登陆名,同样一个登陆名也是对应一个用户名,这里假设数据库用户user1对应
登陆名zhangfaguang,这里并没有指定default_schema,默认使用dbo作为架构。
数据库用户由登录名映射而来,直接在数据库中创建用户而不指定登录名是无法通过
的。
如图:
所以先创建一个登录:
create login zhangfaguang with password=123456
然后创建数据库用户user1:
create user user1 for login zhangfaguang
此外,若有要求把默认架构设置为schema_3110006015,则:
create user user1 for login zhangfaguang with d
文档评论(0)