《数据库的安全性最新课件》由会员分享,可在线阅读,更多相关《数据库的安全性最新课件(62页珍藏版)》请在金锄头文库上搜索。
1、第第11 11章章 数据库的安全性数据库的安全性教学提示教学提示:安全性对于任何一种数据库管理系统来说:安全性对于任何一种数据库管理系统来说都是至关重要的,都是至关重要的,SQL Server 2000 SQL Server 2000 提供了有效的提供了有效的数据访问安全机制。本章以附录数据访问安全机制。本章以附录2 2SQLSQL上机考试与上机考试与辅助阅卷系统安全性设计与实现为教学案例。辅助阅卷系统安全性设计与实现为教学案例。教学要求教学要求:通过本章的学习,读者应该掌握:通过本章的学习,读者应该掌握SQL SQL 服务服务器安全性机制及其运用。器安全性机制及其运用。11.1 SQL Se
2、rver的安全机制11.2 服务器登录11.3 服务器角色11.4 数据库用户11.5 数据库角色11.6 管理权限数据库管理系统的安全性SQL Server 的安全机制设置安全认证模式服务器登录账户考试案例简介增加登录账户阻止账户登录删除登录账户 第第11 11章章 数据库的安全性数据库的安全性添加数据库用户修改和查看数据库用户删除数据库用户特殊数据库用户 dbo、guest固定服务器角色查看固定服务器角色成员向固定服务器角色中添加成员从固定服务器角色中删除成员固定数据库角色自定义数据库角色管理数据库角色成员权限使用企业管理器管理权限使用T-SQL语句管理权限第第11 11章章 数据库的安全
3、性数据库的安全性1安全机制 DBMS安全性 SQL安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结 1 SQL Server的安全机制的安全机制1.1 1.1 数据库管理系统的安全性数据库管理系统的安全性数据库管理系统的安全性数据库管理系统的安全性1.2 SQL Server1.2 SQL Server的安全机制的安全机制的安全机制的安全机制第第11 11章章 数据库的安全性数据库的安全性1安全机制 DBMS安全性 SQL安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结数据库管理系统的安全性通常包括两个数据库管理系统的
4、安全性通常包括两个方面:一是指方面:一是指数据访问的安全性数据访问的安全性,二是,二是指指数据运行的安全性数据运行的安全性( (数据库维护:灾数据库维护:灾难恢复等难恢复等) )。 数据访问的安全性数据访问的安全性是指设计和实现数据是指设计和实现数据库资源的授权访问,即设计和实现授权库资源的授权访问,即设计和实现授权的的用户用户在指定的在指定的时间时间、指定或允许的、指定或允许的地地点点( (计算机计算机) )、授权的访问、授权的访问方式方式访问数据访问数据库中的指定的数据资源。库中的指定的数据资源。 1.1 数据库管理系统的安全性数据库管理系统的安全性第第11 11章章 数据库的安全性数据库
5、的安全性1安全机制 DBMS安全性 SQL安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结计算机连接计算机连接计算机连接计算机连接( (计算机级计算机级计算机级计算机级) ) 服务器的登录服务器的登录服务器的登录服务器的登录( (服务器级服务器级服务器级服务器级) )数据库的访问数据库的访问数据库的访问数据库的访问( (数据库数据库数据库数据库级级级级) )表或视图的访问表或视图的访问表或视图的访问表或视图的访问( (数据表或视图数据表或视图数据表或视图数据表或视图级级级级) )过程、内嵌表值函数的访问过程、内嵌表值函数的访问过程、内嵌表值函数的访问过程、
6、内嵌表值函数的访问( (过程或函数级过程或函数级过程或函数级过程或函数级) )表或视图中列的访问表或视图中列的访问表或视图中列的访问表或视图中列的访问( (字段级字段级字段级字段级限限限限) )1.2 SQL Server的安全机制的安全机制身份验证身份验证/ /连接权连接权权限验证权限验证/ /访问权访问权6 6 6 6级级级级/2/2/2/2阶段阶段阶段阶段第第11 11章章 数据库的安全性数据库的安全性1安全机制 DBMS安全性 SQL安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结计算机连接计算机连接计算机连接计算机连接( (计算机级计算机级计算机
7、级计算机级) ) 服务器登录服务器登录服务器登录服务器登录( (服务器级服务器级服务器级服务器级) )数据库访问数据库访问数据库访问数据库访问( (数据库数据库数据库数据库级级级级) )表或视图访问表或视图访问表或视图访问表或视图访问( (数据表或视图数据表或视图数据表或视图数据表或视图级级级级) )过程、内嵌表值函数访问过程、内嵌表值函数访问过程、内嵌表值函数访问过程、内嵌表值函数访问( (过程或函数级过程或函数级过程或函数级过程或函数级) )表或视图中列的访问表或视图中列的访问表或视图中列的访问表或视图中列的访问( (字段级字段级字段级字段级限限限限) )1.2 SQL Server的安全
8、机制的安全机制搜索或搜索或pingping到安装到安装SQL Server SQL Server 服务器的计算机。服务器的计算机。在要访问的数据库中建立数据库用户并与登录账号关联。在要访问的数据库中建立数据库用户并与登录账号关联。登录登录SQL ServerSQL Server服务器的登录账户和口令。服务器的登录账户和口令。数据库用户对要访问的库中的表数据库用户对要访问的库中的表( (视图视图) )设有访问权限。设有访问权限。数据库用户对要访问的库中的过程或函数设有访问权限。数据库用户对要访问的库中的过程或函数设有访问权限。数据库用户对要访问的表数据库用户对要访问的表( (视图视图) )中列的
9、设有访问权限中列的设有访问权限。第第11 11章章 数据库的安全性数据库的安全性2 2 服务器的登录账户服务器的登录账户1安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登录账户 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结2 2. .1 1 设置安全认证模式设置安全认证模式设置安全认证模式设置安全认证模式2 2. .2 2 服务器登录账户服务器登录账户服务器登录账户服务器登录账户2.3 2.3 SQLSQL上机考试与辅助阅卷系统上机考试与辅助阅卷系统上机考试与辅助阅卷系统上机考试与辅助阅卷系统案例简介案例简介案例简介案例简介2.4
10、2.4 增加登录账户增加登录账户增加登录账户增加登录账户2.5 2.5 阻止账户登录阻止账户登录阻止账户登录阻止账户登录2 2. .6 6 删除登录账户删除登录账户删除登录账户删除登录账户第第11 11章章 数据库的安全性数据库的安全性2.1 设置安全认证模式设置安全认证模式【例11.1】查看或设置SQL Server的安全认证模式。(1) (1) 展开【服务器组】、右击服务器展开【服务器组】、右击服务器(2) (2) 单击【属性】,弹出【单击【属性】,弹出【SQL ServerSQL Server属性】,单击【安属性】,单击【安全性】全性】(3) (3) 在【身份验证】中【仅在【身份验证】中
11、【仅WindowsWindows或【或【 SQL Server SQL Server和和WindowsWindows】选项。】选项。(4) (4) 在【审核级别】中选择【无】、【成功】、【失败】在【审核级别】中选择【无】、【成功】、【失败】或【全部或【全部 选项。选项。(5) (5) 在【启动服务账户】中选择【系统账户】或【本账户在【启动服务账户】中选择【系统账户】或【本账户】选项。】选项。(6) (6) 单击【确定】,重新启动单击【确定】,重新启动SQL ServerSQL Server。如图如图11.111.1所示所示。1安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登录账户
12、 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性2.1 设置安全认证模式设置安全认证模式WindowsWindows身份验证模式身份验证模式身份验证模式身份验证模式SQL Server SQL Server 身份验证模式身份验证模式身份验证模式身份验证模式仅仅仅仅WindowsWindows验证模式验证模式验证模式验证模式SQL ServerSQL Server和和和和WindowsWindows使用使用WindowsWindows操作系统的登录账户和密码连接操作系统的登录账户和密码连接SQLSQL服
13、务器。服务器。与与 Windows Windows安全系统集成在一起,优点:如安全安全系统集成在一起,优点:如安全验证和密码加密、审核、密码过期、最短密码长验证和密码加密、审核、密码过期、最短密码长度,多次登录请求无效后锁定账户。度,多次登录请求无效后锁定账户。只使用只使用WindowsWindows身份验证模式。身份验证模式。使用使用SQL ServerSQL Server的登录账户和密码连接的登录账户和密码连接SQLSQL服务器。服务器。用户提供登录账户和密码先在用户提供登录账户和密码先在SQL ServerSQL Server中验证,中验证,如果验证失败后,再去进行如果验证失败后,再去进
14、行WindowsWindows身份验证。身份验证。1安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登录账户 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性2.2 服务器登录账户服务器登录账户1 1用企业管理器查看登录账户用企业管理器查看登录账户用企业管理器查看登录账户用企业管理器查看登录账户【例11.2】使用企业管理器查看服务器登录账号。(1) (1) 展开【服务器组】、服务器、【安全性】。展开【服务器组】、服务器、【安全性】。(2) (2) 单击【登录】,在详细信息窗格中显示登录账号信
15、息。单击【登录】,在详细信息窗格中显示登录账号信息。如图如图11.211.2所示所示。登录账户登录账户(LoginName)(LoginName)是指用户登录是指用户登录( (连接连接) SQL ) SQL ServerServer服务器的账户和密码,是进入数据库服务器服务器的账户和密码,是进入数据库服务器的第一张通行证。的第一张通行证。2 2用用用用T-SQLT-SQL语句查看登录账户语句查看登录账户语句查看登录账户语句查看登录账户【例11.3】使用T-SQL语句查看服务器登录账号 。1安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登录账户 阻止账户登录 删除登录账户3服务器角
16、色4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性2.2 服务器登录账户服务器登录账户3 3 特殊登录账户特殊登录账户特殊登录账户特殊登录账户sasa:SQL ServerSQL Server数据库服务器系统管理员登录账户。数据库服务器系统管理员登录账户。不可删除、不能更改。该账户拥有最高的管理权限,不不可删除、不能更改。该账户拥有最高的管理权限,不要轻易使用要轻易使用sasa。BUILTINAdministratorsBUILTINAdministrators:一个:一个WindowsWindows组账户,凡组账户,凡属于该组的属于该组的
17、WindowsWindows账户都可作为账户都可作为SQL ServerSQL Server的登录账的登录账户,可删除。户,可删除。1安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登录账户 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性2.3 2.3 SQLSQL上机考试与辅助阅卷系统上机考试与辅助阅卷系统上机考试与辅助阅卷系统上机考试与辅助阅卷系统案例简介案例简介案例简介案例简介简介简介:从题库中:从题库中1616份试题通过随机份试题通过随机等方式为同学们发放试题;学生通等方式为同学们
18、发放试题;学生通过上机方式完成试卷,并将其结果过上机方式完成试卷,并将其结果提交到数据库中;教师再从数据库提交到数据库中;教师再从数据库中取出试卷进行阅卷(其中选择题、中取出试卷进行阅卷(其中选择题、判断题、填空题自动批阅)并汇总判断题、填空题自动批阅)并汇总学生考试成绩。学生考试成绩。1安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登录账户 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性2.3 2.3 SQLSQL上机考试与辅助阅卷系统上机考试与辅助阅卷系统上机考试与辅助阅卷系统上机考
19、试与辅助阅卷系统案例简介案例简介案例简介案例简介登登录录名名数据数据库库用用户户/角角色色描述描述SQL考考试试客客户户SQL考考试试客客户户只用在用只用在用户户登登录录开始开始连连接服接服务务器器时时,登,登录录后后用用户户成成为为相相应应的老的老师师或学生。只可或学生。只可查询查询参数参数表和学生信息表中学号、姓名、座号、身份表和学生信息表中学号、姓名、座号、身份证证号,填写学生信息表中的座号。号,填写学生信息表中的座号。SQL考考试试教教师师SQL考考试试教教师师设设置置为为数据数据库库的所有者角色,具有本数据的所有者角色,具有本数据库库的所有的所有权权限,但不能修改限,但不能修改试试卷
20、完成表中的答卷完成表中的答案、案、结结果果图图、提交、提交时间时间和提交机器的内容。和提交机器的内容。sqltest100001高翔高翔100001学号学号为为100001的学生登的学生登录账户录账户。考生考生(角色角色)所有考生都是这个角色的成员,只能进行个所有考生都是这个角色的成员,只能进行个人答卷,不可查询别人的答案或标准答案,人答卷,不可查询别人的答案或标准答案,即只可即只可查询查询参数表和参数表和执执行行p学生学生查询查询个人个人试试卷、卷、p学生提交学生提交试试卷答案。卷答案。saDbo服服务务器管理器管理员员sa,具有服,具有服务务器和本数据器和本数据库库的的所有所有权权限。限。
21、1安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登录账户 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性2.4 增加登录账户增加登录账户1 1 用企业管理器管理登录账户用企业管理器管理登录账户用企业管理器管理登录账户用企业管理器管理登录账户【例11.4】创建登录账号创建登录账号SQLSQL考试客户考试客户 。(1) (1) 双击双击SQLSQL上机考试与阅卷系统上机考试与阅卷系统.exe.exe文件,文件,自解压安装到:自解压安装到:E:E:SQLSQL上机考试与阅卷系统上机考试与阅卷系
22、统。(2) (2) 展开【服务器组】、服务器,右击【数据库展开【服务器组】、服务器,右击【数据库】选择【所有任务】、【附加数据库】菜单,】选择【所有任务】、【附加数据库】菜单,弹出【附加数据库】对话框,单击【弹出【附加数据库】对话框,单击【】按钮】按钮选选“E:“E:SQLSQL上机考试与阅卷系统上机考试与阅卷系统SQLSQL考试考试数据库数据库.mdf”.mdf”进行附加。进行附加。1安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登录账户 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性
23、2.4 增加登录账户增加登录账户1 1 用企业管理器管理登录账户用企业管理器管理登录账户用企业管理器管理登录账户用企业管理器管理登录账户【例11.4】创建登录账号创建登录账号SQLSQL考试客户考试客户 。(3) (3) 展开【服务器组】、服务器、【安全性】。展开【服务器组】、服务器、【安全性】。(4) (4) 右击【登录】,选择【新建登录右击【登录】,选择【新建登录(L)(L)】,弹出【】,弹出【SQL SQL ServerServer登录属性登录属性 新建登录】,新建登录】,如图如图11.311.3所示所示。(5) (5) 单击【常规】、【服务器角色】、【数据库用户】选项单击【常规】、【服
24、务器角色】、【数据库用户】选项卡填写相关内容:名称:卡填写相关内容:名称:SQLSQL考试客户、数据库:考试客户、数据库:SQLSQL考试考试数据库、密码:数据库、密码:123123,选:,选:SQLSQL身份验证。身份验证。(6) (6) 单击【确定】,弹出【确认密码】对话框。单击【确定】,弹出【确认密码】对话框。(7) (7) 在【确认密码】对话框,填写【确认新密码】,并单击在【确认密码】对话框,填写【确认新密码】,并单击【确定】按钮。【确定】按钮。1安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登录账户 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权
25、限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性2.4 增加登录账户增加登录账户2 2用存储过程用存储过程用存储过程用存储过程sp_addloginsp_addlogin创建登录账户创建登录账户创建登录账户创建登录账户【例11.5】使用T-SQL语句查看服务器登录账号 。语法:语法:sp_addlogin sp_addlogin 登录名登录名 , , 密码密码 , , 默认数据库默认数据库 , , 默认语言默认语言功能:功能:创建创建SQL ServerSQL Server身份验证的登录账户。身份验证的登录账户。提示:用提示:用sp_defaultdbsp_default
26、db存储过程可以更改用户的存储过程可以更改用户的默认数据库。默认数据库。 用用sp_defaultlanguagesp_defaultlanguage存储过程可以更改存储过程可以更改用户的默认语言。用户的默认语言。1安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登录账户 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性2.4 增加登录账户增加登录账户3 3 用存储过程用存储过程用存储过程用存储过程sp_grantloginsp_grantlogin授权授权授权授权WindowsWindow
27、s登录账户登录账户登录账户登录账户语法:语法:sp_grantlogin sp_grantlogin 登录名登录名 功能:授予功能:授予Windows NTWindows NT用户或组的成员登用户或组的成员登录连接数据库服务器。录连接数据库服务器。注意注意:只有:只有sysadminsysadmin和和securityadminsecurityadmin角角色的账户可用色的账户可用sp_addloginsp_addlogin创建创建SQL SQL ServerServer身份验证的登录账户、可用身份验证的登录账户、可用sp_grantloginsp_grantlogin授权授权windowsw
28、indows账户登录账户登录SQL ServerSQL Server。1安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登录账户 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性2.5 阻止账户登录阻止账户登录在在SQL ServerSQL Server中要阻止某账户的登录,对中要阻止某账户的登录,对于于WindowsWindows身份验证的账户可用身份验证的账户可用拒绝登录拒绝登录方式方式阻止,对于阻止,对于SQL ServerSQL Server身份验证的身份验证的账户可以账户可以修改密
29、码而不通知该密码的用修改密码而不通知该密码的用户方式户方式阻止,更彻底的方法是阻止,更彻底的方法是删除删除账户。账户。在在SQL ServerSQL Server应用中,有时应用中,有时SQL ServerSQL Server身身份验证的账户忘记登录密码需要数据库份验证的账户忘记登录密码需要数据库管理员重新设置密码,有时用户本人认管理员重新设置密码,有时用户本人认为登录可能泄漏需要更新自己的登录密为登录可能泄漏需要更新自己的登录密码。码。1安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登录账户 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本
30、章小结第第11 11章章 数据库的安全性数据库的安全性2.5 阻止账户登录阻止账户登录1. 1. 用企业管理器设置用企业管理器设置用企业管理器设置用企业管理器设置SQL ServerSQL Server身份验证账号密码身份验证账号密码身份验证账号密码身份验证账号密码操作步骤操作步骤:(1)(1)展开【服务器组】、服务器、【安全性】,单击【登录展开【服务器组】、服务器、【安全性】,单击【登录】。】。(2)(2)右击要设置的右击要设置的SQL ServerSQL Server身份账户,选择【属性】,弹身份账户,选择【属性】,弹出【出【SQL ServerSQL Server登录属性】对话框。登录属
31、性】对话框。(3)(3)在【常规】选项卡的密码区域输入新密码。在【常规】选项卡的密码区域输入新密码。(4)(4)单击【确定】,弹出【确认密码】对话框。单击【确定】,弹出【确认密码】对话框。(5)(5)在【确认密码】对话框,填写【确认新密码】,并单击在【确认密码】对话框,填写【确认新密码】,并单击【确定】按钮。【确定】按钮。1安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登录账户 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性2.5 阻止账户登录阻止账户登录2 2 用存储过程用存储过程用存
32、储过程用存储过程sp_passwordsp_password修改修改修改修改SQL ServerSQL Server身份验证账号密码身份验证账号密码身份验证账号密码身份验证账号密码语法:语法:sp_password sp_password 旧密码旧密码, , 新密码新密码 , , 登录账户登录账户 功能:功能:修改修改SQL ServerSQL Server身份账户的登录密码。身份账户的登录密码。【例11.6】修改自己的登录密码,假设原密码 为:1949,新密码为:1999。【例11.7】设置SQL考试教师的登录密码为2008。 1安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登
33、录账户 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性2.5 阻止账户登录阻止账户登录3.3.用企业管理器授予用企业管理器授予用企业管理器授予用企业管理器授予/ /拒绝拒绝拒绝拒绝WindowsWindows账户登录账户登录账户登录账户登录操作步骤操作步骤:(1)(1)展开【服务器组】,展开要设置的服务器,展开【服务器组】,展开要设置的服务器,展开【安全性】,单击【登录】。展开【安全性】,单击【登录】。(2)(2)右击要设置的右击要设置的WindowsWindows身份验证账户,选择【身份验证账户,选
34、择【属性】菜单项,弹出【属性】菜单项,弹出【SQL ServerSQL Server登录属性】登录属性】对话框。对话框。(3)(3)在【常规】选项卡的身份验证区域单击【拒在【常规】选项卡的身份验证区域单击【拒绝访问】绝访问】/ /【允许访问】选项。【允许访问】选项。(4)(4)单击【确定】按钮。单击【确定】按钮。1安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登录账户 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性2.5 阻止账户登录阻止账户登录4 4 用存储过程用存储过程用存储过程用存
35、储过程sp_denyloginsp_denylogin拒绝拒绝拒绝拒绝WindowsWindows账户登录账户登录账户登录账户登录格式格式:sp_denylogin sp_denylogin 登录名登录名 功能功能:拒绝:拒绝Windows NTWindows NT用户或组的成员登用户或组的成员登录数据库服务器。录数据库服务器。注意注意:其中登录名是要授权的其中登录名是要授权的Windows Windows NTNT用户或组,必须用用户或组,必须用Windows NTWindows NT域名域名限定,其格式为限定,其格式为“域名域名 组名组名”或或“域域名名 用户名用户名”。1安全机制2服务器
36、登录 安全认证模式 登录账户 考试案例 增加登录账户 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性2.6 删除登录账户删除登录账户1.1.用企业管理器删除登录账户用企业管理器删除登录账户用企业管理器删除登录账户用企业管理器删除登录账户操作步骤操作步骤:(1)(1)展开【服务器组】,展开要设置的服务器,展开【安全展开【服务器组】,展开要设置的服务器,展开【安全性】,单击【登录】。性】,单击【登录】。(2)(2)右击要删除的登录账户,单击【删除】菜单项。右击要删除的登录账户,单击【删除】菜单项。(3)(
37、3)在确认对话框中单击【是】按钮。在确认对话框中单击【是】按钮。1安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登录账户 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性2.6 删除登录账户删除登录账户2. 2. 用用用用T-SQLT-SQL语句删除登录账户语句删除登录账户语句删除登录账户语句删除登录账户语法语法:sp_revokeloginsp_revokelogin 登录名登录名 功能:撤销功能:撤销WindowsWindows身份验证的登录账户。身份验证的登录账户。 语法语法: :
38、sp_droploginsp_droplogin 登录名登录名 功能:功能:删除删除sql serversql server身份验证的登录账户。身份验证的登录账户。注意注意:只有:只有sysadminsysadmin和和securityadminsecurityadmin角角色的账户可用色的账户可用和和sp_droploginsp_droplogin删除删除SQL SQL ServerServer身份验证的登录账户、可用身份验证的登录账户、可用sp_revokeloginsp_revokelogin撤销撤销windowswindows账户登录账户登录SQL ServerSQL Server。1
39、安全机制2服务器登录 安全认证模式 登录账户 考试案例 增加登录账户 阻止账户登录 删除登录账户3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性3 服务器的角色服务器的角色角色角色是指服务器管理、数据库管理和访问的机制,包含是指服务器管理、数据库管理和访问的机制,包含两方面的内涵,一是角色的成员,二是角色的权限,两方面的内涵,一是角色的成员,二是角色的权限,即指定角色中成员允许行使的权限。角色通过添加或即指定角色中成员允许行使的权限。角色通过添加或删除成员方法增减成员,通过授予、拒绝或撤销方法删除成员方法增减成员,通过授予、拒绝
40、或撤销方法增减权限。因此,权限可理解为岗位或职务,通过任增减权限。因此,权限可理解为岗位或职务,通过任免指定职务的人员,通过赋予或撤销增减职务的权限。免指定职务的人员,通过赋予或撤销增减职务的权限。SQL Server 2000SQL Server 2000有两种类型的预定义角色:有两种类型的预定义角色:固定服务器固定服务器角色角色(ServerRole)(ServerRole)和和固定数据库角色固定数据库角色。这些角色是预。这些角色是预先定义的,角色的种类和每个角色的权限都是固定的、先定义的,角色的种类和每个角色的权限都是固定的、不可更改或删除,只允许为其添加或删除成员不可更改或删除,只允许
41、为其添加或删除成员( (publicpublic角色角色除外除外, ,其权限可以增减,其成员是数据库其权限可以增减,其成员是数据库中所有的数据库用户中所有的数据库用户) )。1安全机制2服务器登录3服务器角色 固定服务器角色 查看成员 增加成员 删除成员4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性3 服务器的角色服务器的角色3 3. .1 1 固定服务器角色固定服务器角色固定服务器角色固定服务器角色3 3. .2 2 查看固定服务器角色成员查看固定服务器角色成员查看固定服务器角色成员查看固定服务器角色成员3.3 3.3 向固定服务器角色
42、中添加成员向固定服务器角色中添加成员向固定服务器角色中添加成员向固定服务器角色中添加成员3.4 3.4 从固定服务器角色中删除成员从固定服务器角色中删除成员从固定服务器角色中删除成员从固定服务器角色中删除成员1安全机制2服务器登录3服务器角色 固定服务器角色 查看成员 增加成员 删除成员4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性3.1 固定服务器角色固定服务器角色SQL Server SQL Server 事先设计了事先设计了8 8个固定的服务器角色。个固定的服务器角色。这些角色是定义在服务器级上,存在于用户这些角色是定义在服务器级上
43、,存在于用户数据库之外,具有完成特定服务器级管理活数据库之外,具有完成特定服务器级管理活动的权限,其作用域在服务器范围内。动的权限,其作用域在服务器范围内。固定服务器角色的固定服务器角色的成员是服务器的登录账户成员是服务器的登录账户。最初可由最初可由sasa超级账户将其他登录账户添加到超级账户将其他登录账户添加到任一种固定服务器角色中,也可由系统管理任一种固定服务器角色中,也可由系统管理员角色员角色(sysadmin)(sysadmin)或安全管理员角色或安全管理员角色(securityadmin)(securityadmin)的成员将其他登录账户添的成员将其他登录账户添加到任一种固定服务器角
44、色中,还可以由每加到任一种固定服务器角色中,还可以由每种固定服务器角色的每个成员向该角色中添种固定服务器角色的每个成员向该角色中添加其他登录账户。加其他登录账户。1安全机制2服务器登录3服务器角色 固定服务器角色 查看成员 增加成员 删除成员4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性3.1 固定服务器角色固定服务器角色固定服务器角色固定服务器角色权力权力sysadmin系统管理员进行任何活动。serveradmin服务器管理员配置服务器范围的设置。setupadmin设置管理员添加和删除链接服务器,并执行某些系统存储过程(如sp_se
45、rveroption)。securityadmin安全管理员登录账号、用户、角色、权限等管理。processadmin进程管理员进程管理。dbcreator数据库创建者创建和改变数据库。diskadmin磁盘管理员管理磁盘文件。bulkadmin 执行 BULK INSERT 语句。1安全机制2服务器登录3服务器角色 固定服务器角色 查看成员 增加成员 删除成员4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性3.2 查看固定服务器角色成员查看固定服务器角色成员1.1.用企业管理器查看固定服务器角色用企业管理器查看固定服务器角色用企业管理器查
46、看固定服务器角色用企业管理器查看固定服务器角色(1)(1)展开【服务器组】,展开要查看的服务器名,再展开【展开【服务器组】,展开要查看的服务器名,再展开【安全性】。安全性】。(2)(2)单击【服务器角色】,在详细信息窗格显示固定服务器单击【服务器角色】,在详细信息窗格显示固定服务器角色。角色。2.2.用企业管理器查看固定服务器角色成员用企业管理器查看固定服务器角色成员用企业管理器查看固定服务器角色成员用企业管理器查看固定服务器角色成员(1)(1)展开【服务器组】,展开要查看的服务器名;展开【服务器组】,展开要查看的服务器名;(2)(2)展开【安全性】,单击【服务器角色】;展开【安全性】,单击【
47、服务器角色】;(3)(3)在详细信息窗格右击选定的角色,单击【属性】;在详细信息窗格右击选定的角色,单击【属性】;(4)(4)在【服务器角色属性】对话框中显示该角色的成员在【服务器角色属性】对话框中显示该角色的成员( (登登录账户录账户) )列表。列表。1安全机制2服务器登录3服务器角色 固定服务器角色 查看成员 增加成员 删除成员4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性3.2 查看固定服务器角色成员查看固定服务器角色成员3.3.用存储过程用存储过程用存储过程用存储过程sp_helpsrvrolesp_helpsrvrole查看固定
48、服务器角色查看固定服务器角色查看固定服务器角色查看固定服务器角色 语法语法:sp_helpsrvrole sp_helpsrvrole 固定服务器角色名固定服务器角色名4.4.用存储过程用存储过程用存储过程用存储过程sp_helpsrvrolemembersp_helpsrvrolemember查看固定服务器角色成员查看固定服务器角色成员查看固定服务器角色成员查看固定服务器角色成员语法语法:sp_helpsrvrolemembersp_helpsrvrolemember 固定服务器角色名固定服务器角色名1安全机制2服务器登录3服务器角色 固定服务器角色 查看成员 增加成员 删除成员4数据库用户
49、5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性3.3 向固定服务器角色中添加成员向固定服务器角色中添加成员【例【例11.811.8】为使】为使SQLSQL考试教师考试教师 能够建立学生的登录账户,需能够建立学生的登录账户,需要向固定服务器角色安全管理员角色要向固定服务器角色安全管理员角色securityadminsecurityadmin中添中添加成员加成员SQLSQL考试教师考试教师 。(1)(1)展开【服务器组】、服务器、【安全性】。展开【服务器组】、服务器、【安全性】。(2)(2)单击【服务器角色】,在详细信息窗格显示固定服务器单击【服务器角色
50、】,在详细信息窗格显示固定服务器角色。角色。(3)(3)右击【右击【securityadminsecurityadmin】角色行,选择【属性】。】角色行,选择【属性】。(4)(4)在【服务器角色属性】中,单击【常规】选项卡在【服务器角色属性】中,单击【常规】选项卡 ,单,单击【添加】,击【添加】,如图如图11.411.4所示。所示。(5)(5)在添加成员对话框中,选择登录账户【在添加成员对话框中,选择登录账户【SQLSQL考试教师】、考试教师】、单击【确定】。单击【确定】。(6) (6) 在【服务器角色属性】对话框中,单击【确定】。在【服务器角色属性】对话框中,单击【确定】。1.1.用企业管理
51、器向固定服务器角色中添加成员用企业管理器向固定服务器角色中添加成员用企业管理器向固定服务器角色中添加成员用企业管理器向固定服务器角色中添加成员1安全机制2服务器登录3服务器角色 固定服务器角色 查看成员 增加成员 删除成员4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性3.3 向固定服务器角色中添加成员向固定服务器角色中添加成员语法格式语法格式:sp_addsrvrolemember sp_addsrvrolemember 登录用户名登录用户名 , 固定服务器角色名固定服务器角色名 【例【例11.911.9】设置】设置SQLSQL考试教师考
52、试教师 为为sysadminsysadmin角色的成员,角色的成员,使其能够在使其能够在SQLSQL服务器中进行任何活动。服务器中进行任何活动。2 2. .用用用用sp_addsrvrolemembersp_addsrvrolemember添加成员添加成员添加成员添加成员1安全机制2服务器登录3服务器角色 固定服务器角色 查看成员 增加成员 删除成员4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性3.4 从固定服务器角色中删除成员从固定服务器角色中删除成员(1)(1)展开【服务器组】、服务器、【安全性】。展开【服务器组】、服务器、【安全性】
53、。(2)(2)单击【服务器角色】在详细窗格显示固定服务器角色。单击【服务器角色】在详细窗格显示固定服务器角色。(3)(3)右击要删除成员的服务器角色行,单击【属性】。右击要删除成员的服务器角色行,单击【属性】。(4)(4)在【服务器角色属性】对话框中,单击【常规】卡。在【服务器角色属性】对话框中,单击【常规】卡。(5)(5)选择要删除的登录账户、单击【删除】、【确定】。选择要删除的登录账户、单击【删除】、【确定】。1.1.用企业管理器从固定服务器角色中删除成员用企业管理器从固定服务器角色中删除成员用企业管理器从固定服务器角色中删除成员用企业管理器从固定服务器角色中删除成员语法格式语法格式:sp
54、_dropsrvrolemember sp_dropsrvrolemember 登录用户名登录用户名 , 固定服务器角色名固定服务器角色名 【例【例11.1011.10】从】从sysadminsysadmin角色中删除角色中删除SQLSQL考试教师考试教师 成员成员2 2. .用用用用sp_dropsrvrolemembersp_dropsrvrolemember删除成员删除成员删除成员删除成员1安全机制2服务器登录3服务器角色 固定服务器角色 查看成员 增加成员 删除成员4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性4 数据库的用户数据
55、库的用户4 4. .1 1 添加数据库用户添加数据库用户添加数据库用户添加数据库用户4 4. .2 2 修改和查看数据库用户修改和查看数据库用户修改和查看数据库用户修改和查看数据库用户4.3 4.3 删除数据库用户删除数据库用户删除数据库用户删除数据库用户4.4 4.4 特殊数据库用户特殊数据库用户特殊数据库用户特殊数据库用户 dbodbo、guestguest数据库用户数据库用户(dbAccess)(dbAccess):对于每个要求访问数据库的登录账户,对于每个要求访问数据库的登录账户,必须在要访问的数据库中建立该数据库的访问账户,且与必须在要访问的数据库中建立该数据库的访问账户,且与其登录
56、账户链接关联,才可进入该数据库访问(注:该数其登录账户链接关联,才可进入该数据库访问(注:该数据库中有据库中有guestguest数据库用户或该登录账户加入相应固定数据数据库用户或该登录账户加入相应固定数据库角色除外)。否则,该登录账户就无法进入该数据库访库角色除外)。否则,该登录账户就无法进入该数据库访问。这个数据库访问账户就是数据库用户问。这个数据库访问账户就是数据库用户(dbAccess)(dbAccess)。有。有关信息保存在各自数据库关信息保存在各自数据库sysuserssysusers表中。表中。1安全机制2服务器登录3服务器角色4数据库用户 添加用户 修改查看用户 删除用户 特殊
57、用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性4.1 添加数据库用户添加数据库用户【例【例11.1111.11】为】为SQLSQL考试数据库考试数据库 添加数据库用户。添加数据库用户。(1)(1)展开【服务器组】,展开要查看的服务器名。展开【服务器组】,展开要查看的服务器名。(2)(2)展开【服务器】,展开【展开【服务器】,展开【SQLSQL考试数据库】数据库。考试数据库】数据库。(3)(3)右击【用户】,单击【新建数据库用户右击【用户】,单击【新建数据库用户.】菜单,弹】菜单,弹出【数据库用户属性出【数据库用户属性新建用户】对话框。新建用户】对
58、话框。如图如图11.511.5所示。所示。(4) (4) 从登录名下拉列表框中选择一个登录账号。从登录名下拉列表框中选择一个登录账号。(5) (5) 在用户名框中输入数据库用户名。在用户名框中输入数据库用户名。(6) (6) 单击【确定】按钮。单击【确定】按钮。1.1.使用企业管理器添加数据库用户使用企业管理器添加数据库用户使用企业管理器添加数据库用户使用企业管理器添加数据库用户1安全机制2服务器登录3服务器角色4数据库用户 添加用户 修改查看用户 删除用户 特殊用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性4.1 添加数据库用户添加数据库用户语
59、法语法:sp_grantdbaccess sp_grantdbaccess 登录账户名登录账户名, , 数据库用户名数据库用户名 功能:在当前数据库中,添加功能:在当前数据库中,添加 数据库用户名数据库用户名 为本数据库的为本数据库的用户,并与将账户名为用户,并与将账户名为 登录账户名登录账户名 的登录账户链接的登录账户链接( (关关联联) )。【例【例11.1211.12】在当前数据库】在当前数据库SQLSQL考试数据库考试数据库 中,创建中,创建SQLSQL考考试教师试教师 名字的数据库用户,并与名字的数据库用户,并与SQLSQL考试数据库考试数据库 登录登录账户关联。账户关联。2 2.
60、.使用使用使用使用T-SQLT-SQL语句添加数据库用户语句添加数据库用户语句添加数据库用户语句添加数据库用户1安全机制2服务器登录3服务器角色4数据库用户 添加用户 修改查看用户 删除用户 特殊用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性4.2 修改和查看数据库用户修改和查看数据库用户修改数据库用户,修改数据库用户,即修改即修改用户所属的数据库的角色用户所属的数据库的角色及及所拥有的权限所拥有的权限。这些内容分别在介绍数据库角。这些内容分别在介绍数据库角色和管理权限的部分介绍。色和管理权限的部分介绍。查询分析器查询分析器:FExec Exec
61、 sp_helpusersp_helpuserFselect userselect userFselect select user_nameuser_name()()企业管理器企业管理器:展开【服务器组】,服务器,【数据:展开【服务器组】,服务器,【数据库】,展开要查看的数据库,单击【用户】,在库】,展开要查看的数据库,单击【用户】,在详细信息窗格中显示该数据库的用户。详细信息窗格中显示该数据库的用户。查看数据库用户:查看数据库用户:1安全机制2服务器登录3服务器角色4数据库用户 添加用户 修改查看用户 删除用户 特殊用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安
62、全性数据库的安全性4.3 删除数据库用户删除数据库用户(1)(1)展开【服务器组】、服务器、【数据库】、数展开【服务器组】、服务器、【数据库】、数据库;据库;(2)(2)单击【用户】,在详细信息窗格中右击想要删单击【用户】,在详细信息窗格中右击想要删除的数据库用户,选择【删除】,在确认对话框除的数据库用户,选择【删除】,在确认对话框中单击【是】。中单击【是】。1.1.使用企业管理器删除数据库用户使用企业管理器删除数据库用户使用企业管理器删除数据库用户使用企业管理器删除数据库用户语法语法:sp_revokedbaccess sp_revokedbaccess 数据库用户名数据库用户名 2 2.
63、.使用使用使用使用sp_revokedbaccesssp_revokedbaccess删除数据库用户删除数据库用户删除数据库用户删除数据库用户1安全机制2服务器登录3服务器角色4数据库用户 添加用户 修改查看用户 删除用户 特殊用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性4.4 特殊数据库用户特殊数据库用户 dbo、guestdbodbo是数据库对象的所有者,每个数据库中都存是数据库对象的所有者,每个数据库中都存在,不能删除,具有操作该数据库的在,不能删除,具有操作该数据库的最高权最高权力力。户与该数据库创建者的登录账户。户与该数据库创建者的登
64、录账户关联关联,自动关联自动关联固定服务器角色固定服务器角色sysadminsysadmin中的所有中的所有成员,同时成员,同时sysadminsysadmin的任何成员创建的任何的任何成员创建的任何对象都自动属于对象都自动属于dbodbo。guestguest用户用户: :允许在该数据库中没有相应用户的登允许在该数据库中没有相应用户的登录账户访问数据库,即可认为录账户访问数据库,即可认为guestguest自动关自动关联服务器所有登录账户联服务器所有登录账户。guest guest 用户可以同其他用户可以同其他用户账户一样被授于权限。默认情况下,新建的数据用户账户一样被授于权限。默认情况下,
65、新建的数据库中没有库中没有 guest guest 用户。可以在除用户。可以在除 master master 和和 tempdb tempdb 外(在这两个数据库中它必须始终存在)的所有数据外(在这两个数据库中它必须始终存在)的所有数据库中添加或删除库中添加或删除 guest guest 用户。用户。1安全机制2服务器登录3服务器角色4数据库用户 添加用户 修改查看用户 删除用户 特殊用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性5 数据库的角色数据库的角色5 5. .1 1 固定数据库角色固定数据库角色固定数据库角色固定数据库角色5 5. .2
66、 2 自定义数据库角色自定义数据库角色自定义数据库角色自定义数据库角色 5.3 5.3 管理数据库角色成员管理数据库角色成员管理数据库角色成员管理数据库角色成员数据库角色数据库角色(dbRole)(dbRole)是定义在数据库级上,保存在各自数据是定义在数据库级上,保存在各自数据库的系统表库的系统表sysuserssysusers之中,作用在各自的数据库之内,同之中,作用在各自的数据库之内,同样包含两方面的内涵,一是角色的成员,二是角色的权限。样包含两方面的内涵,一是角色的成员,二是角色的权限。数据库角色的成员是数据库用户数据库角色的成员是数据库用户(dbAccess)(dbAccess)。数
67、据库角色。数据库角色分为固定数据库角色、用户自定义角色和应用程序角色。分为固定数据库角色、用户自定义角色和应用程序角色。本书只介绍前本书只介绍前2 2种角色。种角色。1安全机制2服务器登录3服务器角色4数据库用户5数据库角色 固定数据库角色 自定义数据库角色 管理数据库角色 6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性5.1 固定数据库角色固定数据库角色固定数据库角色固定数据库角色是系统预定义在数据库级上管理的角色,除是系统预定义在数据库级上管理的角色,除publicpublic角色外,角色的种类和每个角色的权限都是固定的、角色外,角色的种类和每个角色的权限都
68、是固定的、不可更改或删除,只允许为其添加或删除成员。每个数据不可更改或删除,只允许为其添加或删除成员。每个数据库都有库都有1010个固定数据库角色,如下表所示。个固定数据库角色,如下表所示。publicpublic是一个特殊的数据库角色,数据库中的每个数据库用是一个特殊的数据库角色,数据库中的每个数据库用户都自动是此角色的成员,最初创建只有本数据库的系统户都自动是此角色的成员,最初创建只有本数据库的系统表和系统视图的表和系统视图的selectselect权限。权限。 可以通过授予、拒绝或撤可以通过授予、拒绝或撤销方法增减权限,提供数据库中所有用户的默认权限。销方法增减权限,提供数据库中所有用户
69、的默认权限。查看固定数据库角色列表:查看固定数据库角色列表:F展开展开【服务器组服务器组】、服务器、服务器、【数据库数据库】、数据库,单击、数据库,单击【角色角色】,在右侧详细信息窗格中列出角色列表。,在右侧详细信息窗格中列出角色列表。F查询分析器中,执行查询分析器中,执行sp_helpdbfixedrolesp_helpdbfixedrole1安全机制2服务器登录3服务器角色4数据库用户5数据库角色 固定数据库角色 自定义数据库角色 管理数据库角色 6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性5.1 固定数据库角色固定数据库角色角色角色描述描述Public所
70、有人所有人db_owner所有者,在数据所有者,在数据库库中中拥拥有全部有全部权权限限 db_accessadmin用用户户管理者,可以添加或管理者,可以添加或删删除用除用户户ID db_securityadmin 安全管理者,管理安全管理者,管理权权限、所有限、所有权权、角色和成、角色和成员资员资格格 db_ddladmin 可以可以发发出出 ALL DDL(除除GRANT、REVOKE、 DENY) db_backupoperator 备备份操作者。份操作者。 db_datareader 数据数据读读者,可以者,可以读读本本库库内任何表的数据内任何表的数据 db_datawriter 数据
71、写者,可以插入、数据写者,可以插入、删删除、修改本数据除、修改本数据库库内任何表中的数据。内任何表中的数据。 db_denydatareader 不能不能读库读库内任何表中任何数据用内任何表中任何数据用户户。 db_denydatawriter 不能改不能改库库内任何表中任何数据用内任何表中任何数据用户户。 1安全机制2服务器登录3服务器角色4数据库用户5数据库角色 固定数据库角色 自定义数据库角色 管理数据库角色 6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性5.2 自定义数据库角色自定义数据库角色(1 1)展开【服务器组】、服务器、【数据库】、数据库。)展开
72、【服务器组】、服务器、【数据库】、数据库。(2 2)右击【角色】单击【新建数据库角色】弹出【数据库角)右击【角色】单击【新建数据库角色】弹出【数据库角色属性色属性新建角色】对话框。如图新建角色】对话框。如图11.611.6所示。所示。(3 3)在对话框中输入角色的名称:考生,选中【标准角色】)在对话框中输入角色的名称:考生,选中【标准角色】单选按钮。单选按钮。(4 4)单击【添加】,可以为角色添加用户,也可不添加用户)单击【添加】,可以为角色添加用户,也可不添加用户创建一个暂无成员的角色。单击【确定】。创建一个暂无成员的角色。单击【确定】。1.1.使用企业管理器管理自定义数据库角色使用企业管理
73、器管理自定义数据库角色使用企业管理器管理自定义数据库角色使用企业管理器管理自定义数据库角色自定义数据库角色自定义数据库角色是由用户定义,存在于数据库之中,作用是由用户定义,存在于数据库之中,作用在各自数据库之内,允许用户增减权限、添加或删除成员在各自数据库之内,允许用户增减权限、添加或删除成员的角色。自定义数据库角色定义的目的是为了方便权限管的角色。自定义数据库角色定义的目的是为了方便权限管理。理。【例【例11.1311.13】创建】创建SQLSQL考试数据库考试数据库 库角色库角色 考生考生 。1安全机制2服务器登录3服务器角色4数据库用户5数据库角色 固定数据库角色 自定义数据库角色 管理
74、数据库角色 6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性5.2 自定义数据库角色自定义数据库角色语法:语法:sp_addrolesp_addrole 角色名角色名 , , 角色的所有者角色的所有者功能:在当前数据库中添加标准的用户角色。新角色的所有功能:在当前数据库中添加标准的用户角色。新角色的所有者必须是当前数据库中的某个用户或角色,默认值为者必须是当前数据库中的某个用户或角色,默认值为 dbodbo。语法:语法:sp_droprolesp_droprole 角色名角色名 功能:从当前数据库删除标准用户角色。功能:从当前数据库删除标准用户角色。2 2. .用
75、用用用T-SqlT-Sql创建或删除自定义数据库角色创建或删除自定义数据库角色创建或删除自定义数据库角色创建或删除自定义数据库角色1安全机制2服务器登录3服务器角色4数据库用户5数据库角色 固定数据库角色 自定义数据库角色 管理数据库角色 6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性5.3 管理数据库角色成员管理数据库角色成员(1)(1)展开【服务器组】、服务器、【数据库】、数据库;展开【服务器组】、服务器、【数据库】、数据库;(2)(2)单击【角色】,在右侧详细信息窗格中选定角色右击,单单击【角色】,在右侧详细信息窗格中选定角色右击,单击【属性】,弹出【数据
76、库角色属性】对话框击【属性】,弹出【数据库角色属性】对话框(3)(3)单击【添加单击【添加】添加角色成员,选中成员单击【删除】删】添加角色成员,选中成员单击【删除】删除角色成员。除角色成员。1.1.使用企业管理器管理数据库角色成员使用企业管理器管理数据库角色成员使用企业管理器管理数据库角色成员使用企业管理器管理数据库角色成员1安全机制2服务器登录3服务器角色4数据库用户5数据库角色 固定数据库角色 自定义数据库角色 管理数据库角色 6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性5.3 管理数据库角色成员管理数据库角色成员语法:语法:sp_addrolemembe
77、r sp_addrolemember 数据库角色数据库角色, , 安全账户安全账户 功能:为数据库角色添加成员。功能:为数据库角色添加成员。语法:语法:sp_droprolemember sp_droprolemember 数据库角色数据库角色, , 安全账户安全账户 功能:从数据库角色中删除成员。功能:从数据库角色中删除成员。2 2. .使用使用使用使用T-SQLT-SQL语句增删数据库角色成员语句增删数据库角色成员语句增删数据库角色成员语句增删数据库角色成员【例【例11.1411.14】SQLSQL上机考试与辅助阅卷系统账户设置,上机考试与辅助阅卷系统账户设置,具体要求见表具体要求见表11
78、.111.1。数据库角色数据库角色指当前数据库中的数据库角色的名称,包括固定指当前数据库中的数据库角色的名称,包括固定数据库角色数据库角色(public(public角色除外角色除外) )和自定义角色;和自定义角色;安全账户安全账户指当前数据库用户、当前数据库角色或指当前数据库用户、当前数据库角色或windowswindows登登录账户。录账户。1安全机制2服务器登录3服务器角色4数据库用户5数据库角色 固定数据库角色 自定义数据库角色 管理数据库角色 6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性6 管理权限管理权限6 6. .1 1 权限权限权限权限6 6.
79、 .2 2 使用企业管理器管理权限使用企业管理器管理权限使用企业管理器管理权限使用企业管理器管理权限6.3 6.3 使用使用使用使用T-SQLT-SQL语句管理权限语句管理权限语句管理权限语句管理权限权限权限是指用户是否能进行访问数据库资源的相应操作。即是指用户是否能进行访问数据库资源的相应操作。即权权限限就是就是用户用户是否可以执行访问数据库是否可以执行访问数据库资源资源的相应的相应操作语句操作语句或存储过程。或存储过程。管理权限管理权限实质就是管理数据库访问的安全性,有三方面的内实质就是管理数据库访问的安全性,有三方面的内涵:一是涵:一是用户用户,有服务器,有服务器登录账户、角色中的成员和
80、数据登录账户、角色中的成员和数据库用户库用户,二是访问的数据库,二是访问的数据库资源资源(对象),有服务器、数(对象),有服务器、数据库、库中表或视图、自定义函数、存储过程、表或视图据库、库中表或视图、自定义函数、存储过程、表或视图中的列,三是相应的中的列,三是相应的操作方式操作方式。总之,管理权限就是将。总之,管理权限就是将用用户、资源和操作权限户、资源和操作权限的有机配置。的有机配置。1安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限 权限 管理权限(1) 管理权限(2) 7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性6.1 权限权限语句权限语句权限
81、是指用是指用户能否当前数户能否当前数据库上进行据库上进行备备份数据库份数据库和和创创建数据库建数据库、表表、视图视图、用户定用户定义函数义函数、存储存储过程过程、规则和规则和默认默认等对象,等对象,即指用户能否即指用户能否执行右表所列执行右表所列语句。语句。1.1.语句权限语句权限语句权限语句权限权限权限: :语句权限、对象权限和暗示性权限。语句权限、对象权限和暗示性权限。动动作作对对象象语语句句备备份份数据数据backup database日志日志backup log创创建建数据数据库库create database数据表数据表create table视图视图create view存存储过储
82、过程程create procedure自定自定义义函数函数create function规则规则create rule默默认认create default1安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限 权限 管理权限(1) 管理权限(2) 7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性6.1 权限权限对象权限对象权限是指用户能否在当前数据库中是指用户能否在当前数据库中表或视图表或视图、用户、用户定义函数、存储过程、表或视图的列上进行相应的访定义函数、存储过程、表或视图的列上进行相应的访问操作。问操作。2.2.对象权根对象权根对象权根对象权根对对象象操
83、作操作表或表或视图视图select、insert、update 和和 delete存存储过储过程程ExecuteExecute内嵌表内嵌表值值函数函数Select表或表或视图视图的列的列select和和update1安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限 权限 管理权限(1) 管理权限(2) 7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性6.1 权限权限暗示性权限暗示性权限是指将用户是指将用户( (成员成员) )加入角色,系统自动将角加入角色,系统自动将角色的权限传递给成员的权限,特别是预定义角色,如色的权限传递给成员的权限,特别是预定义角色,
84、如固定服务器角色成员所具有的权限。暗示性权限是由固定服务器角色成员所具有的权限。暗示性权限是由添加或删除角色成员实现的。添加或删除角色成员实现的。3.3.暗示性权限暗示性权限暗示性权限暗示性权限1安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限 权限 管理权限(1) 管理权限(2) 7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性6.2 使用企业管理器管理权限使用企业管理器管理权限(1)(1)展开【服务器组】,右击要设置的数据库,选择【属性展开【服务器组】,右击要设置的数据库,选择【属性】菜单项,弹出数据库【属性】对话框。】菜单项,弹出数据库【属性】对话框
85、。(2)(2)单击【权限】选项卡,单击【权限】选项卡,如图如图11.711.7所示所示。(3)(3)权限选项卡中信息表格左侧列出了数据库中所有用户和权限选项卡中信息表格左侧列出了数据库中所有用户和角色,在上方列出所有语句权限,单击用户角色,在上方列出所有语句权限,单击用户/ /角色与权角色与权限的限的交叉点的方框交叉点的方框可以设置用户或角色的授权状况。可以设置用户或角色的授权状况。(4)(4)单击【确定】完成。单击【确定】完成。1.1.管理语句权限管理语句权限管理语句权限管理语句权限【例【例11.1511.15】使用企业管理器管理语句权限。】使用企业管理器管理语句权限。1安全机制2服务器登录
86、3服务器角色4数据库用户5数据库角色6管理权限 权限 管理权限(1) 管理权限(2) 7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性6.2 使用企业管理器管理权限使用企业管理器管理权限(1)(1)展开【服务器组】、服务器、【数据库】、数据库。展开【服务器组】、服务器、【数据库】、数据库。(2)(2)根据用户类型,单击【用户】或【角色】,在右侧详细根据用户类型,单击【用户】或【角色】,在右侧详细信息窗格显示【用户】或【角色】列表。信息窗格显示【用户】或【角色】列表。(3)(3)右击要设置用户或角色,单击【属性】,弹出【数据库右击要设置用户或角色,单击【属性】,弹出【数据库用
87、户属性】或【数据库角色属性】对话框,在常规选项用户属性】或【数据库角色属性】对话框,在常规选项卡上单击【权限】按钮,卡上单击【权限】按钮,如图如图11.811.8所示。所示。(4)(4)【权限】单击【权限】单击对象与权限的交叉点对象与权限的交叉点的方框可以设置用户的方框可以设置用户或角色的授权状况。或角色的授权状况。(5)(5)单击【列】按钮弹出【列权限】对话框,在【常规】卡单击【列】按钮弹出【列权限】对话框,在【常规】卡表格,单击表格,单击列与权限的交叉点列与权限的交叉点的方框可以设置用户或角的方框可以设置用户或角色的授权状况,单击【确定】按钮。色的授权状况,单击【确定】按钮。(6) (6)
88、 设置完毕后,单击【确定】,使设置生效。设置完毕后,单击【确定】,使设置生效。2.2.使用企业管理器为用户或角色设置对象权限使用企业管理器为用户或角色设置对象权限使用企业管理器为用户或角色设置对象权限使用企业管理器为用户或角色设置对象权限1安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限 权限 管理权限(1) 管理权限(2) 7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性6.2 使用企业管理器管理权限使用企业管理器管理权限(1)(1)展开【服务器组】、服务器、【数据库】、数据库;展开【服务器组】、服务器、【数据库】、数据库;(2)(2)根据对象类型,单击
89、【表】、【视图】或【存储过程】。根据对象类型,单击【表】、【视图】或【存储过程】。(3)(3)在详细信息窗格中,右击要管理权限的对象单击【所有在详细信息窗格中,右击要管理权限的对象单击【所有任务】、【管理权限】菜单,任务】、【管理权限】菜单,如图如图11.911.9所示所示。之后弹出。之后弹出【对象属性】对话框,【对象属性】对话框,如图如图11.1011.10所示所示。(4)(4)在【权限】选项卡信息表格,左侧列出【用户在【权限】选项卡信息表格,左侧列出【用户/ /数据库数据库角色角色/public/public】,上方列出权限,单击其中】,上方列出权限,单击其中行列的交叉行列的交叉点点的方框
90、可以设置对象的授权状况。的方框可以设置对象的授权状况。(5) (5) 设置完毕后,单击【确定】,使设置生效。设置完毕后,单击【确定】,使设置生效。3.3.用企业管理器为数据库对象设置用户与访问权限用企业管理器为数据库对象设置用户与访问权限用企业管理器为数据库对象设置用户与访问权限用企业管理器为数据库对象设置用户与访问权限1安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限 权限 管理权限(1) 管理权限(2) 7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性6.3 使用使用T-SQL语句管理权限语句管理权限语句权限语句权限语法格式:语法格式: GRANT G
91、RANT 语句语句 ,. TO ,. TO 安全用户安全用户 ,. ,. 对象权限对象权限语法格式:语法格式: GRANT GRANT 权限权限 ,. ,. ON ON 表或视图表或视图 ( ( 列列,.) | ,.) | ON ON 存储过程存储过程 | ON | ON 用户自定义函数用户自定义函数 TO TO 安全账户安全账户 ,. ,. 1.1.授予权限授予权限授予权限授予权限数据控制语句:数据控制语句:GRANTGRANT、DENYDENY或或REVOKEREVOKE语句授予、拒绝或撤语句授予、拒绝或撤销安全账户的语句执行权限。销安全账户的语句执行权限。1安全机制2服务器登录3服务器角
92、色4数据库用户5数据库角色6管理权限 权限 管理权限(1) 管理权限(2) 7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性6.3 使用使用T-SQL语句管理权限语句管理权限功能功能:授予当前数据库中的数据库用户、数据库角色或:授予当前数据库中的数据库用户、数据库角色或windowswindows登录账户能够在当前数据库中的执行登录账户能够在当前数据库中的执行 语句语句/ /权限权限 指定的指定的T-SQL T-SQL 语句。语句。1.1.授予权限授予权限授予权限授予权限( (续续续续) )若若 安全账户安全账户 指定的是指定的是windowswindows登录账户登录账户
93、,则先以,则先以windowswindows登录账户名相同的名字在当前数据库中创建数据库用登录账户名相同的名字在当前数据库中创建数据库用户,并与户,并与windowswindows登录账户同名关联,然后授予指定语登录账户同名关联,然后授予指定语句执行权。句执行权。安全账户:安全账户:指当前数据库用户、当前数据库角色或服务器指当前数据库用户、当前数据库角色或服务器的的windowswindows登录账户;登录账户;ONON:指当前数据库中供访问的对象资源:表或视图、表或指当前数据库中供访问的对象资源:表或视图、表或视图视图( (列列,.),.)、存储过程或用户自定义函数;、存储过程或用户自定义函
94、数;语句:语句:指特指表指特指表11.411.4所列的权限语句所列的权限语句;权限:权限:指供访问对象的相对应操作,指供访问对象的相对应操作,如表如表11.511.5所示所示。1安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限 权限 管理权限(1) 管理权限(2) 7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性6.3 使用使用T-SQL语句管理权限语句管理权限语句权限语句权限语法格式:语法格式: DENY DENY 语句语句 ,. TO ,. TO 安全账户安全账户 ,. ,. 对象权限对象权限语法格式:语法格式: DENY DENY 权限权限 ,. ,
95、. ON ON 表或视图表或视图(列列,. ) | ,. ) | ON ON 存储过程存储过程 | ON | ON 用户自定义函数用户自定义函数 TO TO 安全账户安全账户 ,. ,. 2.2.拒绝权限拒绝权限拒绝权限拒绝权限功能:功能:使当前数据库中的数据库用户、数据库角色或使当前数据库中的数据库用户、数据库角色或windowswindows登录账户在当前数据库中的不能执行登录账户在当前数据库中的不能执行 语句语句/ /权限权限 指定的指定的T-SQL T-SQL 语句。语句。1安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限 权限 管理权限(1) 管理权限(2) 7本章
96、实训8本章小结第第11 11章章 数据库的安全性数据库的安全性6.3 使用使用T-SQL语句管理权限语句管理权限语句语句:REVOKE REVOKE 语句语句 ,. FROM ,. FROM 安全账户安全账户 ,. ,. 对象对象:REVOKE REVOKE 权限权限 ,. ,. ON ON 表或视图表或视图(列列,. ) | ,. ) | ON ON 存储过程存储过程 | ON | ON 用户自定义函数用户自定义函数 FROM FROM 安全账户安全账户 ,. ,. 3.3.撤销权限撤销权限撤销权限撤销权限功能:功能:撤销当前数据库中的数据库用户、数据库角色或撤销当前数据库中的数据库用户、数
97、据库角色或windowswindows登录账户在当前数据库中的执行登录账户在当前数据库中的执行 语句语句/ /权限权限 指定的指定的T-SQL T-SQL 语句的权限。语句的权限。注意:注意:若若 安全账户安全账户 指定的是指定的是windowswindows登录账户,虽然登录账户,虽然撤销了指定语句执行权,但并没有从当前数据库中撤销了指定语句执行权,但并没有从当前数据库中删除与删除与windowswindows登录账户同名的数据库用户。登录账户同名的数据库用户。【例【例11.1611.16】设置】设置SQLSQL上机考试与辅助阅卷系统账户上机考试与辅助阅卷系统账户权限,具体要求见表权限,具体
98、要求见表11.111.1。1安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限 权限 管理权限(1) 管理权限(2) 7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性实训实训目的目的目的目的内容与过程内容与过程内容与过程内容与过程小结小结小结小结学员理解SQL Server的安全机制,掌握用企业管理器进行安全管理的基本操作,掌握用T_SQL语句实现建立登录账户、设置数据访问权限等功能的方法与语句。1安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结理解SQL Server 数据访问的安全机制,理解访问权限的概念,体会从建立
99、登录账户到设置数据访问权限的步骤,掌握用企业管理器进行建立登录账户到设置数据访问权限的基本操作,掌握用T_SQL语句进行建立登录账户到设置数据访问权限的方法与语句 。第第11 11章章 数据库的安全性数据库的安全性本章小结本章小结理解SQL Server 2000 的六级安全访问机制,计算机的连接、服务器登录与固定服务器角色、数据库访问与固定数据库角色、数据表或视图的访问权限、存储过程与内嵌表值函数的访问权限、数据表或视图列的访问权限。掌握登录账号、数据库用户、权限和角色四个基本概念。其中:登录账号(LoginName)是登录服务器的账号与密码,数据库用户(dbAccess)是进入数据库访问的
100、账户,权限是是否能进行访问数据库资源的相应操作,角色是指服务器管理、数据库管理和访问的机制,包含两方面的内涵,一是角色的成员,二是角色的权限,即指定角色中成员允许行使的权限。掌握登录账户管理、数据库用户管理、角色成员管理和权限管理的方法。如表11.6所示。1安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结第第11 11章章 数据库的安全性数据库的安全性本章小结:本章小结:安全性存储过程小结(安全性存储过程小结(1) 1)1安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结类别系统存储过程/命令说明sql身份验证账户管理s
101、p_addlogin添加登录账户sp_defaultdb默认数据库sp_defaultlanguage默认语言sp_password 修改账户口令sp_droplogin删除登录账户windows身份验证账户管理sp_grantlogin授予登录sp_denylogin 拒绝登录sp_revokelogin撤销登录固定服务器角色成员管理sp_addsrvrolemember 添加固定服务器角色成员sp_dropsrvrolemember删除固定服务器角色成员sp_helpsrvroler查看固定服务器角色固定数据库角色sp_helpdbfixedrole查看固定数据库角色sp_dbfixedr
102、olepermission显示固定数据库角色的权限第第11 11章章 数据库的安全性数据库的安全性本章小结:本章小结:安全性存储过程小结(安全性存储过程小结(2)2)1安全机制2服务器登录3服务器角色4数据库用户5数据库角色6管理权限7本章实训8本章小结类别系统存储过程/命令说明数据库用户管理sp_grantdbaccess授权数据库访问sp_revokedbaccess撤销数据库访问数据库角色管理sp_addrole添加角色sp_droprole删除角色sp_addrolemember添加角色成员sp_droprolemember删除角色成员权限管理GRANT 授权REVOKE 撤销DENY拒绝登录账户Sa超级管理员BUILTINAdministrators操作系统管理员数据库用户Dbo数据库所有者Guest客户第第11 11章章 数据库的安全性数据库的安全性