版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SQLServer的验证模式
账户和角色第4章账户和存取权限1在数据库管理系统中,用检查口令等手段来检查用户身份,合法的用户才能进入数据库系统。当用户对数据库执行操作时,系统自动检查用户是否有权限执行这些操作。24.1SQLServer的验证模式SQLServer对用户的访问进行两个阶段的检验:验证阶段登录SQLServer时进行的检查。如果验证通过,用户就可以连接到SQLServer上;否那么,效劳器将拒绝用户的登录。SQLServer2005支持两种身份验证模式:Windows身份验证模式和混合验证模式。许可确认阶段登录到SQLServer上以后,系统检查用户是否有访问效劳器上数据的权限。34.1.1Windows模式验证在windows验证模式下,SQLServer检测当前使用的Windows用户帐户,确定该账户是否有权限登录。该模式不必提交登录名和密码。SQLServer从RPC协议〔远程过程调用协议〕连接中自动获取登录过程中的Windws用户帐户信息。多协议和命名管道自动使用PRC协议。要使用多协议和命名管道在客户和效劳器间建立连接,客户端的用户必须有合法的效劳器上的Windows帐户,或者效劳器启动了Guest帐户。4.1SQLServer的验证模式4Windows验证模式有以下主要优点:数据库管理员的工作可以集中在管理数据库上面,而不是管理用户账户。对用户账户的管理可以交给Windows去完成。Windows有着更强的用户账户管理工具。可以设置账户锁定、密码期限等。Windows的组策略支持多个用户同时被授权访问SQLServer。4.1SQLServer的验证模式54.1.2混合验证模式混合验证模式允许以SQLServer验证模式或者Windows验证模式来进行验证。使用哪种模式取决于在最初的通信时使用的网络库。如果一个用户使用的是TCP/IPSockets进行登录验证,那么将使用SQLServer验证模式;如果用户使用NamedPipes,那么登录时将使用Windows验证模式。如果网络主要是Windows网,那么用户登录Windows已经得到了确认,使用Windows验证模式将减轻系统的工作负担。如果网络主要是Novell网或对等网,那么使用SQLServer验证模式比较方便。4.1SQLServer的验证模式6SQLServer验证模式处理登录的过程:用户输入登录名和密码后,SQLServer在系统注册表中检测输入的登录名和密码。如果输入的登录名存在,而且密码也正确,就可以登录到SQLServer上。4.1SQLServer的验证模式7混合验证模式具有如下优点:创立了Windows之上的另外一个平安层次。支持更大范围的用户,例如非Windows客户、Novell网络等。一个应用程序可以使用单个的SQLServer登录和口令。4.1SQLServer的验证模式84.1.3设置验证模式在第一次安装SQLServer,或者使用SQLServer连接其他效劳器的时候,需要指定验证模式。对于已经指定验证模式的SQLServer效劳器,在SQLServer中可以进行修改。4.1SQLServer的验证模式9将Windows验证模式改为SQLServer验证模式并启用sa登录帐户:第1步:在“对象资源管理器〞窗口中,选择效劳器,右击,在弹出的快捷菜单上选择“属性〞命令,然后在翻开的“效劳器属性〞对话框中,选择“平安性〞选项,翻开“平安性〞选项卡.第2步:在“效劳器身份验证〞栏中选择“SQLServer和Windows身份验证模式〞,单击“确定〞按钮.第3步:从SQLServerManagementStudio重新启动SQLServer。在对象资源管理器中,右击效劳器,再单击“重新启动〞。如果运行有SQLServer代理,那么也必须重新启动该代理。4.1SQLServer的验证模式10第4步:启用sa登录帐户方法一:使用Transact-SQL启用sa登录帐户:执行以下语句以启用sa帐户并分配一个密码。ALTERLOGINsaENABLE;
GO
ALTERLOGINsaWITHPASSWORD='<password>';
GO方法二:使用ManagementStudio启用sa登录帐户:在对象资源管理器中,依次展开“平安〞、“登录名〞,右键单击“sa〞,再单击“属性〞。在“常规〞页上,为sa登录名创立密码并确认该密码。在“状态〞页的“登录〞局部中,单击“启用〞,然后单击“确定〞。4.1SQLServer的验证模式114.2账户和角色SQLServer的两种账户:登录效劳器的登录帐户〔loginname〕登录帐户只是让用户登录到SQLServer中,并不能让用户访问效劳器中的数据。要访问特定的数据库,还必须具有用户名。使用数据库的用户帐户〔username〕用户名在特定的数据库内创立。用户定义的信息放在效劳器上的每个数据库的sysusers表中。通过授权给用户来指定用户可以访问的数据库对象的权限。124.2.1登录帐户登录到SQLServer,必须具有一个登录帐户。登录帐户的创立登录帐户的属性修改登录帐户的删除4.2账户和角色13创立以sqlserver身份验证的登录账户,步骤:1.翻开SQLServerManagerStudio,展开效劳器,在“平安性〞下的“登录名〞上右击,选择‘新建登录名〞,弹出“登录名-新建〞对话框,在登录名框中输入登录名,如:bookadm,选择“SQLSERVER身份验证〞,并输入密码,可以把“用户下次登录时必须修改密码〞取消掉。在“选择页〞中单击“效劳器角色〞,选择登录帐户所属的效劳器角色。在“选择页〞中单击“用户映射〞,在上面一栏选择要映射的数据库,如bookdb,在用户列会自动出现数据库用户bookadm。在下面一栏中的选中“db-owner〞和“public〞。在“选择页〞中单击‘状态’选中“授予〞、“启用〞,然后点击‘确定’。4.2账户和角色142.右击SQL效劳器,选择“属性〞,弹出的“效劳器属性〞对话框中,单击“平安性〞,在“效劳器身份验证〞下面选中“SQLSERVER和WINDOWS身份验证模式〞。3.重新启动效劳器并登录:右击效劳器,选择“重新启动〞或“停止〞后再“启动〞,翻开“文件〞菜单,选择“连接对象资源管理器〞,在翻开的对话框中输入刚刚的用户名和密码就可以登录了。4.2账户和角色15创立以Windows身份验证的登录账户:在“登录名-新建〞对话框中,在登录名文本框中输入登录名,选择“Windows身份验证〞,单击“搜索〞按钮,在翻开的“选择用户和组〞对话框中输入Windows系统的用户作为登录帐户。4.2账户和角色16登录账户的属性修改:在登录帐户上右击,选择“属性〞,翻开登录帐户属性对话框,在该对话框中可对其属性进行修改。4.2账户和角色17登录账户的删除:在登录帐户上右击,选择“删除〞,在翻开的对话框中选择“确定〞。4.2账户和角色18两个默认登录帐户:1.BUILTIN\Administrators但凡属于Windows中的Administrators组的帐户都允许登录SQLServer。2.sa超级管理员帐户允许SQLServer的系统管理员登录,此SQLServer的管理员不一定是Windows管理员。4.2账户和角色194.2.2数据库用户每个登录帐户在一个数据库中只能有一个用户帐户,但是每个登录帐户可以在不同的数据库中各有一个用户帐户。在新建登录帐户时,可通过“用户映射〞来创立一个与该登录帐户同名的数据库用户来指定数据库的存取权限。登录帐户对某个数据库的访问权限,并不表示该登录帐户对该数据库具有存取权限。如果要对数据库中的对象进行插入等更新操作,还需要设置用户帐户的权限。4.2账户和角色20如果在创立登录帐户时没有指定对某个数据库的存取权限,那么在数据库中,可创立一个新的用户帐户,并关联到该登录帐户,那么该登录帐户会自动具有对该数据库的访问权限。例:在AdventureWorks库中创立一个用户帐户A1,并将其关联到已存在的bookadm登录帐户中。4.2账户和角色214.2.3角色角色是一组用户所构成的组,在同一角色中的用户有相同的权限。角色可将用户集中到一个单元中,然后对该单元应用权限。对一个角色授予、拒绝的权限也适用于该角色的任何成员。可以建立一个角色来代表单位中一类工作人员所执行的工作,然后给这个角色授予适当的权限。当工作人员开始工作时,只须将他们添加为该角色成员,当他们离开工作时,将他们从该角色中删除。而不必在每个人接受或离开工作时,反复授予、拒绝其权限。权限在用户成为角色成员时自动生效。4.2账户和角色22角色可分为效劳器角色和数据库角色。效劳器角色:由效劳器账户组成的组,负责管理和维护SQLServer组。数据库角色:由数据库成员所组成的组,数据库角色指定了可以访问相同数据库对象的一组数据库用户。当几个用户需要在某个特定的数据库中执行类似的动作时,就可以向该数据库中添加一个角色。4.2账户和角色23效劳器角色Sysadmin可执行SQLServer中的任何动作Serveradmin可设置效劳器范围的配置选项Setupadmin可管理链接效劳器和启动过程Securityadmin可管理登录和创立数据库、读取错误日志和更改密码。Processadmin管理SQLServer进程Dbcreator创立、修改和删除数据库Diskadmin管理磁盘文件Bulkadmin可执行大容量插入语句Public具有查看任何数据库的权限4.2账户和角色24数据库角色db_owner在数据库中有全部权限db_accessadmin可以添加、删除用户db_datareader可以查看所有数据库中用户表内数据db_datawriter可以添加、修改或删除所有数据库中用户表内数据的用户db_ddladmin可以在数据库中执行所有定义操作db_securityadmin可以管理数据库中与平安权限有关所有动作db_backupoperator可以备份数据库db_denydatareader不能选择数据库中任何数据db_denydatawriter不能更改数据库中任何数据Public最根本的数据库角色4.2账户和角色25例:查看数据库bookdb中db_owner数据库角色的属性,并将用户bookadm参加到该角色中。例:创立一个新的数据库角色oprole,并向该角色中添加数据库成员,然后设置该角色的权限。4.2账户和角色26应用程序角色应用程序角色只使用应用程序,因而不需要把权限直接赋予用户,所以应用程序角色没有任何成员。此外需要为应用程序设置一个口令来激活它。应用程序角色可以加强对某个特定的应用程序的平安。这些角色允许应用程序自己代替SQLServer接管用户身份验证的职责。比方,如果公司中的员工只是使用某个特定的应用程序(而不是使用Transact-SQL语句或其他任何工具)来修改员工的数据信息,那么就可以为它创立一个应用程序角色。当应用程序角色被应用程序的会话激活以用于连接时,在连接期间,会话就失去了登录、用户账户或所有数据库中的角色的权限。4.2账户和角色27public数据库角色的权限public角色是一种特殊的固定数据库角色,当在数据库添加新用户帐户时,SQLServer会自动将新用户帐户参加public数据库角色中,即数据库的每个合法用户都属于该角色。public角色为数据库中的用户提供了所有默认权限。对于用户建立的数据库对象,public角色默认是不设置权限。public角色为数据库中的所有用户都保存了默认的权限,因此是不能被删除的。4.2账户和角色284.2.4用户和角色的权限问题用户是否具有对数据库存取的权利,要看其权限设置而定,但是,它还要受其所属角色的权限的限制。4.2账户和角色291.用户权限继承角色的权限用户对数据库对象的存取权限继承于所属角色。假设用户User1属于角色Role1,角色Role1已经取得对表Table1的SELECT权限,那么用户User1也自动取得对表Table1的SELECT权限,如果角色Role1对表Table1没有INSERT权限,而用户User1取得了对表Table1的INSERT权限,那么User1最终也取得对表Table1的INSERT权限。拒绝权限优先,只要角色Role1和用户User1中的之一拒绝,那么该权限就是拒绝。4.2账
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2018年1月国家开放大学行管本科《行政领导学》期末纸质考试试题及答案
- 2025年城市文化竞争力评价
- 园区清洁托管外包合同
- 企业宣传业务外包合同
- 普陀仓储租赁外包合同
- 空压机售后服务外包合同
- 电脑售后维修外包合同
- 卸车区小时工外包合同
- 彭阳咨询财务外包合同
- 杨浦区商超配送外包合同
- 2025届浙江省轨道交通运营管理集团有限公司校园招聘40人笔试参考题库附带答案详解
- 肺段切除专题培训培训课件
- 数据服务管理规范
- 数控镗床培训
- 海尔培训体系
- 干熄焦工艺培训课件
- 急救医学关键技能:胸外按压护理课件
- 手术后贫血护理查房
- 新能源汽车压缩机课件
- 2026年入党积极分子考试题库及答案【名师系列】
- 心肺复苏的指南解读
评论
0/150
提交评论