




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库基础与应用-SQL Server 2008第第9 9章章 SQL Server 2008SQL Server 2008的安全机制的安全机制本章主要本章主要内内容容哈尔滨师范大学恒星学院创建登录账户创建登录账户创建数据库用户创建数据库用户角色角色SQL Server 2008的安全机制概述的安全机制概述1234权限权限5 安全性是所有数据库管理系统的一个重要特征。理解安全性问题是理解数据库管理系统安全性机制的前提。1.第一个安全性问题:当用户登录数据库系统时,如何确保只有合法的用户才能登录到系统中?这是一个最基本的安全性问题,也是数据库管理系统提供的基本功能。在Microsoft SQL
2、Server 2008系统中,通过身份验证模式和主体解决这个问题。哈尔滨师范大学恒星学院一一. SQL Server 2008. SQL Server 2008的安全机制概述的安全机制概述1)身份验证模式 Microsoft SQL Server 2008系统提供了两种身份验证模式:Windows身份验证模式和混合模式。Windows身份验证模式: 在该模式中,用户通过Windows用户账户连接SQL Server时,使用Windows操作系统中的账户名和密码。混合模式: 在混合模式中,当客户端连接到服务器时,既可能采取Windows身份验证,也可能采取SQL Server身份验证。哈尔滨师范
3、大学恒星学院查看与更改身份验证模式哈尔滨师范大学恒星学院2)主体 主体是可以请求系统资源的个体或组合过程。例如,数据库用户是一种主体,可以按照自己的权限在数据库中执行操作和使用相应的数据。 Microsoft SQL Server 2008系统有多种不同的主体,不同主体之间的关系是典型的层次结构关系,位于不同层次上的主体其在系统中影响的范围也不同。位于层次比较高的主体,其作用范围比较大;位于层次比较低的主体,其作用范围比较小。 主体 WindowsWindows 级级 Windows 组 Windows 域登录名 Windows 本地登录名 SQL ServerSQL Server 级级 SQ
4、L Server 登录名 固定服务器角色 数据库级数据库级 数据库用户 固定数据库角色 应用程序角色 安全对象 服务器安全对象范围服务器安全对象范围 端点 SQL Server 登录名 数据库 数据库安全对象范围数据库安全对象范围 数据库用户/应用程序角色/角色/程序集/消息类型/路由/服务/远程服务绑定/全文目录/证书/非对称密钥/对称密钥/约定/架构 架构安全对象范围架构安全对象范围 类型/XML 架构集合/聚合/约束/函数/过程/队列/统计信息/同义词/表/视图 请求 哈尔滨师范大学恒星学院2.第二个安全性问题:当用户登录到系统中,他可以执行哪些操作、使用哪些对象和资源?在Microso
5、ft SQL Server 2008系统中,通过安全对象和权限设置来解决这个问题。 主体 WindowsWindows 级级 Windows 组 Windows 域登录名 Windows 本地登录名 SQL ServerSQL Server 级级 SQL Server 登录名 固定服务器角色 数据库级数据库级 数据库用户 固定数据库角色 应用程序角色 安全对象 服务器安全对象范围服务器安全对象范围 端点 SQL Server 登录名 数据库 数据库安全对象范围数据库安全对象范围 数据库用户/应用程序角色/角色/程序集/消息类型/路由/服务/远程服务绑定/全文目录/证书/非对称密钥/对称密钥/约
6、定/架构 架构安全对象范围架构安全对象范围 类型/XML 架构集合/聚合/约束/函数/过程/队列/统计信息/同义词/表/视图 请求 哈尔滨师范大学恒星学院主体和安全对象的主体和安全对象的结构示意图结构示意图3.第三个安全性问题:数据库中的对象由谁所有?如果是由用户所有,那么当用户被删除时,其所拥有的对象怎么办,难道数据库对象可以成为没有所有者的“孤儿”吗?在Microsoft SQL Server 2008系统中,这个问题是通过用户和架构分离来解决的。 数据库对象 架构 用户 包含在 被拥有 表 视图 存储过程 函数 哈尔滨师范大学恒星学院数据库对象、架构和数据库对象、架构和用户之间的关系示意
7、用户之间的关系示意图图安全机制的5个等级:客户机安全机制网络传输的安全机制实例级别安全机制数据库级别安全机制对象级别安全机制哈尔滨师范大学恒星学院二二. .创建登录账户创建登录账户 1.创建Windows登录账户哈尔滨师范大学恒星学院三三. .创建数据库用户创建数据库用户哈尔滨师范大学恒星学院2.创建SQL Server登录账户哈尔滨师范大学恒星学院3.启用、禁用和解锁登录要启用、禁用或解锁一个登录的操作步骤:(1)启动Microsoft SQL Server Management Studio,在“对象资源管理器”视图中,连接到适当的服务器,然后向下浏览至“安全性”文件夹。(2)展开“安全性
8、”文件夹和“登录名”文件夹以列出当前的登录。右击一个登录,然后从快捷菜单中选择“属性”以查看此登录的属性。这样会打开“登录属性”对话框。哈尔滨师范大学恒星学院(3)在“登录属性”对话框左侧列表中选择“状态”选项,打开“状态”页面哈尔滨师范大学恒星学院(4)然后可以进行以下操作:要启动登录,在“登录”选项区下选择“启用”单选按钮。要禁用登录,在“登录”选项区下选择“禁用”单选按钮。要解锁登录,清除“登录已锁定”复选框。(5)最后单击“确定”按钮,完成操作。哈尔滨师范大学恒星学院4.修改登录具体操作步骤如下:(1)打开“登录属性”对话框哈尔滨师范大学恒星学院(2)单击“登录属性”对话框左侧的“用户
9、映射”选项,可以为当前用户添加一个连接数据库“msdb”哈尔滨师范大学恒星学院5.删除登录1)在Microsoft SQL Server Management Studio中删除登录账户启动Microsoft SQL Server Management Studio,然后访问适当的服务器。在服务器的“安全性”文件夹中展开“登录名”文件夹。右击想要删除的登录,然后从快捷菜单中选择“删除”,要开“删除对象”对话框,2)使用Transact-SQL语句删除登录账户命令格式如下:DROP LOGIN login_name【例9.1】删除已经创建好的“stu2”账户。 DROP LOGINstu2哈尔滨
10、师范大学恒星学院三三. .创建数据库用户创建数据库用户1.通过设置“用户映射”指明数据库用户哈尔滨师范大学恒星学院2.创建数据库用户哈尔滨师范大学恒星学院四四. .角色角色哈尔滨师范大学恒星学院1.1.固定服务器角色固定服务器角色v 固定服务器角色是服务器级别的主体,它们的作用范围是整个服务器。固定服务器角色是服务器级别的主体,它们的作用范围是整个服务器。v 固定服务器角色已经具备了执行指定操作的权限,可以把其他登录名固定服务器角色已经具备了执行指定操作的权限,可以把其他登录名作为成员添加到固定服务器角色中,这样该登录名可以继承固定服务作为成员添加到固定服务器角色中,这样该登录名可以继承固定服
11、务器角色的权限。器角色的权限。固定服务器角色的特点固定服务器角色的特点v 在在Microsoft SQL ServerMicrosoft SQL Server系统中,可以把登录名添加到固定服务器角系统中,可以把登录名添加到固定服务器角色中,使登录名作为固定服务器角色的成员继承固定服务器角色的权色中,使登录名作为固定服务器角色的成员继承固定服务器角色的权限。限。v 对于登录名来说,可以选择其是否成为某个固定服务器角色的成员对于登录名来说,可以选择其是否成为某个固定服务器角色的成员服务器角色哈尔滨师范大学恒星学院按照从最低级别的角色(bulkadmin)到最高级别的角色(sysadmin)的顺序进
12、行描述:Bulkadmin:这个服务器角色的成员可以运行BULK INSERT语句。这条语句允许从文本文件中将数据导入到SQL Server 2008数据库中,为需要执行大容量插入到数据库的域账户而设计。Dbcreator:这个服务器角色的成员可以创建、更改、删除和还原任何数据库。这不仅是适合助理DBA的角色,也可能是适合开发人员的角色。Diskadmin:这个服务器角色用于管理磁盘文件,比如镜像数据库和添加备份设备。它适合助理DBA。Processadmin:SQL Server 2008能够多任务化,也就是说可以通过执行多个进程做多个事件。例如,SQL Server 2008可以生成一个进
13、程用于向高速缓存写数据,同时生成另一个进程用于从高速缓存中读取数据。这个角色的成员可以结束(在SQL Server 2008中称为删除)进程。哈尔滨师范大学恒星学院Securityadmin:这个服务器角色的成员将管理登录名及其属性。他们可以授权、拒绝和撤销服务器级权限。也可以授权、拒绝和撤销数据库级权限。另外,它们可以重置SQL Server 2008登录名的密码。Serveradmin:这个服务器角色的成员可以更改服务器范围的配置选项和关闭服务器。例如SQL Server 2008可以使用多大内存或监视通过网络发送多少信息,或者关闭服务器,这个角色可以减轻管理员的一些管理负担。Setupa
14、dmin:为需要管理链接服务器和控制启动的存储过程的用户而设计。这个角色的成员能添加到setupadmin,能增加、删除和配置链接服务器,并能控制启动过程。Sysadmin:这个服务器角色的成员有权在SQL Server 2008中执行任何任务。Public:有两大特点,第一,初始状态时没有权限;第二,所有的数据库用户都是它的成员。哈尔滨师范大学恒星学院使用操作平台管理服务器角色(1)查看服务器角色的属性启动Microsoft SQL Server Management Studio,在“对象资源管理器”中依次展开“安全性|服务器角色”节点 哈尔滨师范大学恒星学院选择其中的一个服务器,在其上单
15、击右键,在弹出的快捷菜单中选择“属性”选项。例如选择sysadmin这个服务器并右击,在快捷菜单中单击“属性”选项,打开如图所示“服务器角色属性”对话框,在该对话框中就可以查看sysadmin这个服务器角色的属性了。哈尔滨师范大学恒星学院(2)添加服务器角色的角色成员为服务器角色添加“角色成员”,可以在服务器角色的“服务器角色属性”对话框中单击“添加”按钮。单击“浏览”按钮,弹出“查找对象”对话框,单击要添加的登录名左边的复选框,单击“确定”按钮即可将选中的角色成员添加进来。哈尔滨师范大学恒星学院(3)删除服务器角色的角色成员 要删除一个已经存在的角色成员,只需要选中该角色成员并在其上单击鼠标
16、右键,然后在弹出的快捷菜单中选择“删除”选项,即可删除服务器角色。 哈尔滨师范大学恒星学院2.数据库角色三种类型的数据库角色:固定数据库角色:微软提供的作为系统一部分的角色;用户定义的标准数据库角色:你自己定义的角色,将Windows用户以一组自定义的权限分组;应用程序角色:用来授予应用程序专门的权限,而非授予用户组或者单独用户。 哈尔滨师范大学恒星学院1)固定数据库角色微软提供了9个内置的角色,以便于在数据库级别授予用户特殊的权限集合db_owner:该角色的用户可以在数据库中执行任何操作。db_accessadmin:该角色的成员可以从数据库中增加或者删除用户。db_backupopper
17、ator:该角色的成员允许备份数据库。db_datareader:该角色的成员允许从任何表读取任何数据。db_datawriter:该角色的成员允许往任何表写入数据。db_ddladmin:该角色的成员允许在数据库中增加、修改或者删除任何对象(即可以执行任何DDL语句)。哈尔滨师范大学恒星学院db_denydatareader:该角色的成员被拒绝查看数据库中的任何数据,但是他们仍然可以通过存储过程来查看。db_denydatawriter: 像db_denydatareader角色,该角色的成员被拒绝修改数据库中的任何数据,但是他们仍然可以通过存储过程来修改。db_securityadmin:
18、该角色的成员可以更改数据库中的权限和角色。public:在SQL Server 2008中每个数据库用户都属于public数据库角色。当尚未对某个用户授予或者拒绝对安全对象的特定权限时,这该用户将据称授予该安全对象的public角色的权限,这个数据库角色不能被删除哈尔滨师范大学恒星学院2)用户自定义数据库角色哈尔滨师范大学恒星学院3)应用程序角色 应用程序角色允许用户为特定的应用程序创建密码保护的角色。哈尔滨师范大学恒星学院1.1.常用的权限常用的权限安全对象安全对象常用权限常用权限数据库数据库CREATE DATABASECREATE DATABASE、CREATE DEFAULTCREAT
19、E DEFAULT、CREATE FUNCTIONCREATE FUNCTION、CREATE PROCEDURECREATE PROCEDURE、CREATE VIEWCREATE VIEW、CREATE TABLECREATE TABLE、CREATE RULECREATE RULE、BACKUP DATABASEBACKUP DATABASE、BACKUP LOGBACKUP LOG表表SELECTSELECT、DELETEDELETE、INSERTINSERT、UPDATEUPDATE、REFERENCESREFERENCES表值函数表值函数SELECTSELECT、DELETEDEL
20、ETE、INSERTINSERT、UPDATEUPDATE、REFERENCESREFERENCES视图视图SELECTSELECT、DELETEDELETE、INSERTINSERT、UPDATEUPDATE、REFERENCESREFERENCES存储过程存储过程EXECUTEEXECUTE、SYNONYMSYNONYM标量函数标量函数EXECUTEEXECUTE、REFERENCESREFERENCES哈尔滨师范大学恒星学院五.权限权限9.6.4 操作权限权限分为3种状态:授予、拒绝、撤销,可以使用如下的语句来修改权限的状态。授予权限(GRANT):授予权限以执行相关的操作。通过角色,所
21、有该角色的成员继承此权限。撤销权限(REVOKE):撤销授予的权限,但不会显示阻止用户或角色执行操作。用户或角色仍然能继承其他角色的GRANT权限。拒绝权限(DENY):显式拒绝执行操作的权限,并阻止用户或角色继承权限,该语句优先于其他授予的权限。哈尔滨师范大学恒星学院1.授予权限 本语法格式:GRANTALL|statement,.n TO security_account,.n 哈尔滨师范大学恒星学院相关参数据说明如下:ALL:表示希望给该类型的对象授予所有可用的权限。不推荐使用此选项,保留些选项仅用于向后兼容。授予ALL参数相当于授予以下权限:如果安全对象为数据库,则ALL表示CREAT
22、E DATABASE、CREATE DEFAULT、CREATE FUNCTION、CREATE PROCEDURE、CREATE VIEW、CREATE TABLE、CREATE RULE等权限。如果安全对象为标量函数,则ALL表示EXECUTE和REFERENCES。如果安全对象为表值函数,则ALL表示SELECT、DELETE、INSERT、UPDATE、REFERENCES。如果安全对象为存储过程,则ALL表示EXECUTE、SYNONYM。哈尔滨师范大学恒星学院如果安全对象为表,则ALL表示SELECT、DELETE、INSERT、UPDATE、REFERENCES。如果安全对象为视
23、图,则ALL表示SELECT、DELETE、INSERT、UPDATE、REFERENCES。Statement:表示可以授予权限的命令,例如,CREATE DATABASE。security_account:表示定义被授予权限的用户单位。security_account可以是SQL Server的数据库用户,可以是SQL Server的角色,也可以是Windows的用户或工作组哈尔滨师范大学恒星学院【例9.2】使用GRANT命令授予角色“students_mag”对”students”数据库中“stu”表的DELETE、INSERT、UPDATE权限。 USE students Go GRANT DELETE, INSERT, UPDATE ON stu TO students_mag GO哈尔滨师范大学恒星学院2.撤销权限语法格式:REVOKEALL|statement,.n FROM security_account,.n【例9.3】使用REVOKE语句撤销 “students_mag”角色对“stu”表所拥有的DELETE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 造林合同协议书
- 兄弟合同协议书
- 除草合同协议书
- 行业前景与职业发展策略试题及答案
- 电池维修合同协议书
- 造景养护合同协议书
- 转让美容院竞业协议合同
- 工地招聘考试题及答案
- 解除厂房购买合同协议
- 解约合同退款协议书模板
- 广州市2025届高考二模试卷(含答案)
- 法律文化-形考作业4-国开(ZJ)-参考资料
- 茶饮品牌门店运营效率提升策略:2025年管理优化报告
- 2025年山东菏泽市光明电力服务有限责任公司招聘笔试参考题库含答案解析
- 高中学生法制教育
- 2025-2030中国延缓衰老食品行业深度调研及市场需求与投资研究报告
- 2025年中国汽车零部件市场研究报告-2025-04-零部件
- ISO9001、ISO14001、QC080000质量体系程序文件大全
- 城镇污水处理厂工艺设计(活性污泥法) 1
- 发动机冷却系统的匹配设计毕业论文
- 职业病范围和职业病患者处理办法的规定(87)卫防字第60号
评论
0/150
提交评论