资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第5章 访问权限和管理权限,(一)Windows 身份验证模式,SQL Server数据库系统通常运行在Windows NT服务器平台上,,而NT作为网络操作系统,本身就具备管理登录、验证用户合法性,的能力,Windows NT认证模式正是利用了这一用户安全性和帐号管理,的机制,允许SQL Server也可以使用NT的用户名和口令。在这种,模式下,用户只需要通过Windows NT的认证,就可以连接到SQL,Server,而SQL Server本身也就不需要管理一套登录数据,(二)混合验证模式,混合验证模式允许用户使用Windows NT安全性或SQL Server安,全性连接到SQL Server,NT的用户既可以使用NT认证,也可以使用SQL Server认证,Windows身份验证,SQL Server身份验证,当用户登录到Windows域时,用户名和密码被传递到Windows域控制器之前被加密,Windows操作系统从不验证用户,支持复杂加密、密码的截止日期和最短长度等密码策略,不支持密码策略,支持帐户锁定策略,在使用无密码进行多次尝试后锁定帐户,不支持帐户锁定策略,在Windows 98/Me操作系统中不能使用,在Windows 98/Me操作系统中可以使用,5.1.2 Windows和SQL Server身份验证的比较,Windows身份验证模式:用户只能使用Windows身份验证连接到,SQL Server 2000,混合模式:用户既可以使用Windows身份验证连接到SQL,Server 2000,又可以使用SQL Server身份验证连接到SQL Server 2000,5.1.3 设置验证模式,对于指定了验证模式的SQL Server服务器,还可以在,企业管理器中打开服务器的 属性 安全性,审核级别:,无:表示禁用审核。,成功:表示只审核成功登录尝试。,失败:表示只审核失败登录尝试。,全部,:表示既审核成功登录尝试又审核失败登录尝试,在安装SQL Server后,系统默认创建两个帐号。,BUILTINAdministrator是Windows NT组帐户,属于这个组的帐户都可以作为SQL Server登录帐户。,sa是系统管理员登录帐户,系统管理员sa是为向后兼容而提供的特殊登录,此SQL Server的管理员不一定是Windows NT的管理员,5.2 创建和管理登录,5.2.1 创建和管理服务器登录账号,其具体执行方式有:,(1)使用向导方式,(2)打开企业管理器,展开希望创建新的登录的服务器,,展开安全性,选择“新建登录”,在安装SQL Server后,默认数据库中包含两个用户:dbo和guest。,任何一个登录帐号都可以通过guest帐号来存取相应的数据库,当建立一个新的数据库时,默认只有dbo帐号而没有guest帐号,操作步骤为:,(1)在企业管理器中展开服务器组,(2)展开希望创建新的数据库,(3)在“用户”下选择“新建数据库用户”,5.2.2 创建和管理用户登录账号,在SQL Server中权限可以分为对象权限、语句权限和暗示性权限,1、对象权限(对象许可),对特定的数据库对象,即表、视图、字段和存储过程的操作许,可,它决定了能对表、视图等数据库对象执行哪些操作,2、语句权限(语句许可),表示对数据库的操作许可。也就是说,创建数据库或者创建数,据库中的其它内容所需要的许可类型,3、暗示性权限(预定义许可),指系统安装以后有些用户和角色不必授权就有的许可,5.3 数据库特定的权限,5.3.1 权限的分类,可用于语句权限的Transact-SQL语句及其含义如下:,Create database,:,创建数据库,Create table,:,创建表,Create view,:,创建视图,Create rule,:,创建规则,Create default,:,创建缺省,Create procedure,:,创建存储过程,Create index,:,创建索引,Backup database,:,备份数据库,Backup log,:,备份事务日志,(1)打开企业管理器,展开指定的数据库节点,(2)选中到需要查看或修改权限的表,单击鼠标右键,选择菜单,命令“属性”,打开“表属性”对话框,(3)在“表属性”对话框中单击“权限”按钮,在后面的6列表示,对数据库对象的操作,具体含义如下:,SELECT 对表或者视图的查询,INSERT 对表或者视图的插入记录,UPDATE 对表或者视图的数据修改,DELETE 删除表或者视图的数据,EXEC 执行存储过程,DRI 可对表的外键加上限制,以达成表的参考完整性,5.3.2 管理对象权限,1、使用企业管理器管理对象权限,(4),授予权限 表示允许某个用户或角色对一个对象执行某些操作,禁止权限 禁止某个用户或角色获得对一个对象执行某种操作的权限,空,未授权限 表示尚未授权用户或角色对一个对象执行某种操作,(5)还可以单击一个特定的用户或角色,然后单击“列”按钮,打开“列权限”对话框,将权限控制到字段级别,5.3.2 管理对象权限,1、使用企业管理器管理对象权限,可以使用grant(授予)、revoke(取消)和deny(禁止)三种命令来实现管理权限,(1)Grant语句其语法:,Grant on|,To,with grant option,获得某种权限的用户可将其再授予其他用户,含义:对指定的操作对象 的指定操作权限 授予指定的用户,例1:把查询Student表的权限授予给用户Z1,Grant select on student to Z1,例2:把对Student表和Course表的全部操作权限授予给用户Z2和Z3,Grant all privileges on student,course to Z2,Z3,5.3.2 管理对象权限,2、使用Transact-SQL语句管理对象权限,(2)Deny语句其语法:,Deny on|,To,含义:拒绝权限并防止指定的用户、组或角色从组和角色成员的关系中继承权限,例1:禁止用户Z1使用Student表的查询操作权限,Deny select on student to Z1,例2:禁止用户Z2,Z3使用Student表和Course表的全部操作权限,Deny all privileges on student,course to Z2,Z3,5.3.2 管理对象权限,2、使用Transact-SQL语句管理对象权限,(3)Revoke语句其语法:,Revoke on|,To,含义:取消以前授予或拒绝了的权限,例:Revoke select on student to Z1,5.3.2 管理对象权限,2、使用Transact-SQL语句管理对象权限,服务器角色是负责管理和维护SQL Server的组,SQL Server2000在安装过程中定义了几个固定的服务器角色:,System Administrators,:可执行SQL Server安装中的任何操作,Security Administrators,:可管理登录和创建数据库的权限,还可以,读取错误日志和更改密码,Server Administrators,:可设置服务器范围的配置选项,关闭服务器,Setup Administrators,:可以管理链接服务器和启动过程,Process Administrators,:可以管理在SQL Server中运行的进程,Database Creators,:可以创建、更改和除去数据库,Disk Administrators,:可以管理磁盘文件,Bulk Insert Administrators,:可以执行大容量插入(Bulk Insert),语句,5.4.1 服务器角色,5.4 角色的使用,5.4.2 数据库角色,5.4 角色的使用,public,:最基本的数据库角色,数据库的所有用户都自动属于,public,角色,并且不能从,public,角色中删除,db_owner,:拥有在数据库中的全部权限,可以执行,SQL Server,数据库中的任何操作,db_accessadmin,:,可以增加或删除数据库用户、工作组和角色,db_addladmin,:增加、修改和删除数据库中的对象(使用,Create,、,Alter,和,Drop,语句),db_securityadmin,:可以管理全部权限、对象所有权、角色和角色成员资格(使用,GRANT,、,REVOKE,和,DENY,语句),5.4.2 数据库角色,5.4 角色的使用,db_backupoperator,:,可以备份和恢复数据库,db_datareader,:能且仅能对数据库中的任何表执行,select,操作,从而读取所有表的信息,db_datawriter,:能够增加、修改和删除表中的数据,但不能进行,select,操作,db_denydatareader,:不能读取数据库中任何表中的数据,db_denydatawriter,:不能对数据库中的任何表执行增加、修改和删除数据操作,
展开阅读全文