版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章安全与权限
第5章安全与权限ppt课件(全)第5章安全与权限
5.1安全与权限的基础知识5.1.1SQLserver2008安全机制的总体策略远程网络主机通过Internet访问SQLserver2008服务器所在的网络,这由网络环境提供某种保护机制。(2)网络中的主机访问SQLserver2008服务器,这首先要求对SQLServer进行正确配置,其内容将要在下一节中介绍;其次是要求拥有对SQLserver2008实例的访问权——登录名。(3)访问SQLserver2008数据库,这要求拥有对SQLserver2008数据库的访问权——数据库用户。(4)访问SQLserver2008数据库中的表和列,这要求拥有对表和列的访问权——权限。第5章安全与权限ppt课件(全)安全对象Server角色SQLServer登录Windows组域用户账户本地用户账户用户数据库角色应用程序角色组SQLServer数据库Windows文件密钥服务器架构数据库安全对象权限主体5.1.2安全对象第5章安全与权限ppt课件(全)SQLServer2008的安全机制SQLServer2008的安全机制可以分为四个级别:操作系统的安全性SQLServer2008的登录安全性数据库的使用安全性数据库对象的使用安全性第5章安全与权限ppt课件(全)SQLServer2008权限Server角色SQLServer登录Windows组域用户账户本地用户账户用户数据库角色应用程序角色组SQLServer数据库Windows文件密钥CREATEALTERDROPCONTROLCONNECTSELECTEXECUTEUPDATEDELETEINSERTTAKEOWNERSHIPVIEWDEFINITIONBACKUP授予/撤销/拒绝ACL服务器架构数据库安全对象权限主体5.1.3SQLServer2008权限第5章安全与权限ppt课件(全)Windows身份验证模式用户由Windows授权,适用于当数据库仅在组织内部访问时。通过登录而被授予SQLServer的访问权混合身份验证模式用户通过一个受信任连接连接到SQLServer并使用Windows身份验证来访问SQLServer适用于当外界的用户需要访问数据库时或当用户不能使用WINDOWS域时。SQLServer身份验证模式第5章安全与权限ppt课件(全)5.2.1SQLServer2008的身份认证模式
1.Windows身份验证模式当使用Windows身份验证连接到SQLServer时,MicrosoftWindows将完全负责对客户端进行身份验证。在这种情况下,将按其Windows用户账户来识别客户端。当用户通过Windows用户账户进行连接时,SQLServer使用Windows操作系统中的信息验证账户名和密码,这是SQLServer默认的身份验证模式,比混合模式安全的多。第5章安全与权限ppt课件(全)5.2.1SQLServer2008的身份认证模式2.混合身份验证模式混合验证模式允许以SQLServer身份验证模式或者Windows身份验证模式来进行验证。使用哪个模式取决于在最初的通信时使用的网络库。如果一个用户使用TCP/IPSockets进行登录验证,则使用SQLServer身份验证模式;如果用户使用命名管道,则登录时将使用Windows验证模式。这种模式能更好地适应用户的各种环境。第5章安全与权限ppt课件(全)
5.2.3设置身份验证模式
通过图形化界面设置身份验证模式
第1步:打开SQLServerManagementstudio,使用WINDOWS或SQLSERVER身份验证建立连接。
第2步:对象资源管理器-服务器右击-属性-服务器属性
第3步:选择安全性-在此设置身份验证模式第5章安全与权限ppt课件(全)5.3数据库账户在SQLServer中,账号有两种:一种是登录服务器的登录账号,另外一种就是使用数据库的用户账号。登录账号只是让用户登录到SQLServer中,登录名本身并不能让用户访问服务器中的数据库。要访问特定的数据库,还必须具有用户名。用户名在特定的数据库内创建,并关联一个登录名(当一个用户创建时,必须关联一个登录名)。通过授权给用户来指定用户可以访问的数据库对象的权限。第5章安全与权限ppt课件(全)5.3.1服务器的登录账号创建登录账号时需要指出该账号使用的是Windows身份验证还是使用的SQLServer身份验证。
1.使用Windows身份验证的登录2.使用SQLServer身份验证的登录第5章安全与权限ppt课件(全)5.3.2数据库用户账户一般情况下,用户登录SQLServer实例后,还不具备访问数据库的条件。在用户可以访问数据库之前,管理员必须为该用户在数据库中建立一个数据库账号作为访问该数据库的ID。这个过程就是将SQLServer登录账号映射到需要访问的每个数据库中,这样才能够访问数据库。如果数据库中没有用户账户,则即使用户能够连接到SQLServer实例也无法访问到该数据库。1.默认的数据库用户2.添加数据库用户3.删除数据库用户第5章安全与权限ppt课件(全)创建数据库用户的方法创建数据库用户可分为两个过程:首先创建数据库用户使用的SQLServer2008登录名,如果使用内置的登录名则可省略这一步。其次为数据库创建用户,指定到创建的登录名。用SQLServerManagementStudio或CREATEUSER语句创建用户5.3.1管理用户的方法第5章安全与权限ppt课件(全)下面通过SQLServerManagementstudio工具来创建数据库用户帐户,然后给用户授予访问【教务管理系统】数据库的权限。1、展开【服务器】|【数据库】|【教务管理系统】节点。2、再展开【安全性】|【用户】节点并右击,选择【新建用户】,打开【数据库用户-新建】3、在【用户名】文本框中输入dur_suna来指定要创建的数据库用户名称4、单击【登录名】文本框旁边的【选项】,打开【选择登录名】窗口,然后单击【浏览】按钮,弹出【查找对象】对话框。5、启用suna旁边的复选框,单击确定按钮,返回【选择登录名】窗口,单击确定,返回【数据库用户-新建】窗口6、用同样的方式,选择【默认架构】为dbo7、单击确定按钮8、为了验证是否创建成功,可以展开用户节点第5章安全与权限ppt课件(全)5.4固定服务器角色
服务器角色独立于各个数据库。如果我们在SQLServer中创建一个登录账号后,要赋予该登录者具有管理服务器的权限,此时可设置该登录账号为服务器角色的成员。SQLServer提供了以下固定服务器角色:
第5章安全与权限ppt课件(全)内置服务器角色角色描述sysadmin可执行任何操作
dbcreator创建和修改数据库
diskadmin管理磁盘文件
serveradmin配置服务器级的设置
securityadmin管理和审核服务器登录
processadmin管理SQLServer进程
bulkadmin执行BULKINSERT语句
setupadmin配置和复制已链接的服务器
第5章安全与权限ppt课件(全)5.4.2服务器角色管理
通过图形化界面实现服务器角色管理第1步以系统管理员身份登录到SQLServer服务器,在登录图标对应的列表项中,选择登录账号“zhou”的项目双击;第2步选择“服务器角色”选项卡,如图8.9所示,选项卡中列出了SQLServer所有的固定服务器角色,将“Systemadministrators”服务器角色前的复选框选中。图8.9SQLServer服务器角色设置窗口第5章安全与权限ppt课件(全)5.4.2服务器角色管理2.利用系统存储过程实现服务器角色管理
利用系统存储过程sp_addsrvrolemember可将一登录账号添加到某一固定服务器角色中,使其成为固定服务器角色的成员。语法格式:
sp_addsrvrolemember‘login’,'role'
参数含义:
login:添加到固定服务器角色role的登录账号名,
【例8.6】
将WindowsNT用户dream\zhouym添加到sysadmin固定服务器角色中。EXECsp_addsrvrolemember'dream\zhouym','sysadmin'
第5章安全与权限ppt课件(全)5.4.2服务器角色管理利用sp_dropsrvrolemember系统存储过程可从固定服务器角色中删除SQLServer登录账号或WindowsNT用户或组。【例8.7】从sysadmin固定服务器角色中删除登录zhou。
EXECsp_dropsrvrolemember'zhou','sysadmin'
利用sp_srvrolepermission系统存储过程可以浏览固定服务器角色的权限。第5章安全与权限ppt课件(全)5.5数据库角色固定数据库角色授予了管理公共数据库任务的权限
用户定义的数据库角色相同数据库权限的多个用户
应用程序角色包含数据库中所有用户5.3.3数据库角色第5章安全与权限ppt课件(全)5.5.1固定的数据库角色
1.通过管理器工具浏览固定的数据库角色
第1步打开对象资源管理器,选择任意一个数据库名。第2步展开数据库的节点,选择【安全性】
第3步在【安全性】下选择【角色】,展开节点,然后选择【数据库角色】,就可以看到系统默认的固定数据库角色了
2.使用系统存储过程浏览固定的数据库角色
EXECSP_HELPdbfixedrolego第5章安全与权限ppt课件(全)5.5.1固定的数据库角色1.固定数据库角色固定数据库角色定义在数据库级别上,并且有权进行特定数据库的管理及操作。SQLServer提供了以下固定数据库角色:(1)db_owner:数据库所有者,可执行数据库的所有管理操作。SQLServer数据库中的每个对象都有所有者,通常创建该对象的用户即为其所有者。其他用户只有在相应所有者对其授权后,方可访问该对象。(2)db_accessadmin:数据库访问权限管理者,具有添加、删除数据库使用者、数据库角色和组的权限。
第5章安全与权限ppt课件(全)5.5.1固定的数据库角色(3)db_securityadmin:数据库安全管理员,可管理数据库中的权限,如设置数据库表的增、删、修改和查询等存取权限。(4)db_ddladmin:数据库DDL管理员,可增加、修改或删除数据库中的对象。(5)db_backupoperator:数据库备份操作员,具有执行数据库备份的权限。(6)db_datareader:数据库数据读取者。(7)db_datawriter:数据库数据写入者,具有对表进行增、删修改的权限。(8)db_denydatareader:数据库拒绝数据读取者,不能读取数据库中任何表的内容9)db_denydatawriter:数据库拒绝数据写入者,不能对任何表进行增、删修改操作。(10)public:是一个特殊的数据库角色,每个数据库用户都是public角色的成员,因此,不能将用户、组或角色指派为public角色的成员,也不能删除public角色的成员。通常将一些公共的权限赋给public角色。第5章安全与权限ppt课件(全)5.5.2用户自定义数据库角色1.通过SQL命令创建数据库角色1)定义数据库角色语法格式:
CREATEROLErole_name[AUTHORIZATIONowner_name]
其中语法中的参数介绍如下:role_name将要创建的角色的名称owner_name该角色拥有者的名字,默认为dbo。其中owner_name必须是当前数据库里的用户或角色第5章安全与权限ppt课件(全)5.5.2用户自定义数据库角色2.通过管理器创建数据库角色第1步:展开指定的数据库节点。第2步:
选择【安全性】选项,展开【安全性】节点,选择【角色】选项;
第3步:
展开【角色】选项下的节点,选择【数据库角色】选项,鼠标右键单击,选择【新建数据库角色】;
第4步:
输入数据库角色的名字,也可以单击【添加】按钮添加数据库成员。
第5步:
单击【确定】按钮第5章安全与权限ppt课件(全)5.5.3应用程序角色应用程序角色是用户定义数据库角色的一种形式,与固定数据库角色不同。它规定了某个应用程序的安全性,用来控制通过某个应用程序对数据的间接访问。例如,管理员允许雇员使用雇员处理程序录入新员工、离职员工和打印统计报表等。第5章安全与权限ppt课件(全)5.6数据库权限权限提供了一种方法来对特权进行分组,并控制实例、数据库和数据库对象的维护和实用程序的操作。用户可以具有授予一组数据库对象的全部特权的管理权限,也可以具有授予管理系统的全部特权但不允许存取数据的系统权限。第5章安全与权限ppt课件(全)5.6.1权限概述权限类型:对象权限语句权限隐式权限
对于表和视图,拥有者可以授予数据库用户INSERT、UPDATE、DELETE、SELECT和REFERENCES五种权限。第5章安全与权限ppt课件(全)5.6.2管理权限对于用户或角色权限的操作有以下3种状态:授予、废除和拒绝。用户和角色的权限以记录的形式存储在各个数据库的sysprotects系统表中。1.授予权限GRANT2.撤销权限REVOKE3.拒绝权限DENY第5章安全与权限ppt课件(全)5.6.2管理权限1授予权限利用GRANT语句可以给数据库用户或数据库角色赋予执行T-SQL语句的权限及对数据库对象进行操作的权限。授予执行T-SQL语句的权限。第5章安全与权限ppt课件(全)5.6.2管理权限
语法格式:
GRANT{ALL|statement[,...n]}TOsecurity_account[,...n]授予对数据库对象操作的权限。语法格式:
GRANT
{ALL[PRIVILEGES]|permission[,...n]}{
[(column[,...n])]ON{table|view}
|ON{table|view}[(column[,...n])]
|ON{stored_procedure|extended_procedure}
|ON{user_defined_function}}TOsecurity_account[,...n][WITHGRANTOPTION][AS{group|role}]
第5章安全与权限ppt课件(全)5.6.2管理权限例如:在下面的例子中使用GRANT语句,授予角色guest对“教务管理系统”数据库中“学生信息”表的INSERT、UPDATE、DELETE权限
use教务管理系统gograntselect,update,deleteon学生信息toguestgo第5章安全与权限ppt课件(全)5.6.2管理权限2.拒绝权限使用DENY命令可以拒绝给当前数据库内的用户授予的权限,并防止数据库用户通过其组或角色成员资格继承权限。拒绝语句权限。语法格式:DENY{ALL|statement[,...n]}TOsecurity_account[,...n]拒绝对象权限。语法格式:DENY
{ALL[PRIVILEGES]|permission[,...n]}{
[(column[,...n])]ON{table|view}
|ON{table|view}[(column[,...n])]
|ON{stored_procedure|extended_procedure}
|ON{user_defined_function}
}TOsecurity_account[,...n][CASCADE]第5章安全与权限ppt课件(全)5.6.2管理权限【例8.18】首先给public角色授予对于表XS的SELECT权限,然后,拒绝用户zhang,wang,[Nanjing\liu]的特定权限,这样,这些用户就没有对XS表的操作权限了。
USEXSCJGOGRANTSELECTONXSTOpublicGODENYSELECT,INSERT,UPDATE,DELETEONXSTOzhang,wang,[dream\zhou]GO【例8.19】首先将在“教务管理系统”数据库的“学生信息”表中执行INSERT操作的权限授予PUBLIC角色,这样所有的数据库用户都拥有了该项权限。然后,又拒绝了用户guest拥有该项权限use教务管理系统GOGRANTINSERTON学生信息TOPUBLICGODENYINSERTON学生信息TOGUEST第5章安全与权限ppt课件(全)5.6.2管理权限3.撤消权限利用REVOKE命令可取消以前给当前数据库用户授予或拒绝的权限。取消以前授予或拒绝的语句权限。语法格式:REVOKE{ALL|statement[,...n]}FROMsecurity_account[,...n]取消以前授予或拒绝的对象权限。语法格式:REVOKE[GRANTOPTIONFOR]
{ALL[PRIVILEGES]|permission[,...n]}{
[(column[,...n])]ON{table|view}
|ON{table|view}[(column[,...n])]
|ON{stored_procedure|extended_procedure}
|ON{user_defined_function}}{TO|FROM}
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安防系统安装施工合同要求
- 一线普工培训
- 济宁学院《金属工艺学》2021-2022学年第一学期期末试卷
- 2024年石家庄客运从业资格证考试题库模拟考试下载
- 垃圾分类内容总结
- 护学岗日常管理与评估方案
- 集合的交并差课程设计
- 国内外智能温室技术应用案例介绍
- 2023年学校疫情防控新策略方案
- 消费维权服务站培训
- 杭州市2025届高三教学质量检测(一模) 英语试题卷(含答案解析)
- 培训教学课件模板
- 2024公安机关人民警察高级执法资格考试题(解析版)
- 国开2024年秋《机电控制工程基础》形考任务4答案
- 加强学校食堂管理提高食品安全意识(培训课件)
- 2023-2024学年辽宁省沈阳126中八年级(上)期中数学试卷(含解析)
- 黑马王子量柱理论精华图解
- 预制场80T龙门吊验算书(36m)
- 铁路超限货物运输的规定
- 高等有机化学第十章氨基-羟基的保护与脱保护
- (完整版)工程量计算书
评论
0/150
提交评论