第10章 账户和存取权限

上传人:我*** 文档编号:137617418 上传时间:2020-07-10 格式:PPT 页数:50 大小:734KB
返回 下载 相关 举报
第10章 账户和存取权限_第1页
第1页 / 共50页
第10章 账户和存取权限_第2页
第2页 / 共50页
第10章 账户和存取权限_第3页
第3页 / 共50页
第10章 账户和存取权限_第4页
第4页 / 共50页
第10章 账户和存取权限_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《第10章 账户和存取权限》由会员分享,可在线阅读,更多相关《第10章 账户和存取权限(50页珍藏版)》请在金锄头文库上搜索。

1、SQL Server的验证模式 账户和角色,第10章 账户和存取权限,对于一个数据库管理员来说,安全性就意味着必须保证那些具有特殊数据访问权限的用户能够登录到SQL Server,并且能够访问数据以及对数据库对象实施各种权限范围内的操作;同时,他还要防止所有的非授权用户的非法操作。 SQL Server提供了既有效又容易的安全管理模式,这种安全管理模式是建立在安全身份验证和访问许可两者机制上的。,基本原理,主体:它是一个标识,用来访问SQL 服务器的对象,可能是用户或应用程序。 安全对象:在服务器和数据库中,可通过权限保护的对象。 权限:用来规定特定主体在访问安全对象时允许或不允许的行为。 安

2、全级别:SQL Server 具有多个安全级别,各级别间具有层次关系。 登录名:通过登录名可以连接到服务器。 用户:通过用户可以访问数据库。 角色:通过角色可以赋予访问数据库的权限。,重要概念,主 体,主体,Server 角色,SQL Server 登录,Windows 组,域用户账户,本地用户账户,用户,数据库角色,应用程序角色,组,SQLServer,数据库,Windows,安全对象,权限,安全对象,主体,Server 角色,SQL Server 登录,Windows 组,域用户账户,本地用户账户,用户,数据库角色,应用程序角色,组,SQLServer,数据库,Windows,安全对象,权

3、限,文件,密钥,服务器,架构,数据库,SQL Server 2005 权限,主体,Server 角色,SQL Server 登录,Windows 组,域用户账户,本地用户账户,用户,数据库角色,应用程序角色,组,SQLServer,数据库,Windows,安全对象,权限,文件,密钥,服务器,架构,数据库,CREATE ALTER DROP CONTROL CONNECT SELECT EXECUTE UPDATE DELETE INSERT TAKE OWNERSHIP VIEW DEFINITION BACKUP,授予/撤销/拒绝,ACL,10.1 SQL Server的验证模式,SQL S

4、erver对用户的访问进行两个阶段的检验: 验证阶段 登录SQL Server时进行的检查。如果验证通过,用户就可以连接到SQL Server上;否则,服务器将拒绝用户的登录。从而保证了系统安全性。 许可确认阶段 登录到SQL Server上以后,系统检查用户是否有访问服务器上数据的权限。,10.1.1 Windows模式验证 在windows验证模式下,SQL Server检测当前使用的Windows用户帐户,确定该账户是否有权限登录。该模式不必提交登录名和密码。,10.1 SQL Server的验证模式,Windows验证模式有以下主要优点: 数据库管理员的工作可以集中在管理数据库上面,而

5、不是管理用户账户。对用户账户的管理可以交给Windows去完成。 Windows有着更强的用户账户管理工具。可以设置账户锁定、密码期限等。 Windows的组策略支持多个用户同时被授权访问SQL Server。,10.1 SQL Server的验证模式,10.1.2 混合验证模式 混合验证模式允许以SQL Server验证模式或Windows验证模式来进行验证。使用哪种模式取决于在最初的通信时使用的网络库。如果一个用户使用的是TCP/IP Sockets进行登录验证,则将使用SQL Server验证模式;如果用户使用Named Pipes,则登录时将使用Windows验证模式。 SQL Ser

6、ver验证模式处理登录的过程: 用户输入登录名和密码后, SQL Server在系统注册表中检测输入的登录名和密码。如果输入的登录名存在,而且密码也正确,就可以登录到SQL Server上。,10.1 SQL Server的验证模式,混合验证模式具有如下优点: 创建了Windows之上的另外一个安全层次。 支持更大范围的用户,例如非Windows客户、Novell网络等。 一个应用程序可以使用单个的SQL Server登录和口令。,10.1 SQL Server的验证模式,10.1.3 设置验证模式 第1步:在“对象资源管理器”窗口中,选择服务器,右击,在弹出的快捷菜单上选择“属性”命令,然后

7、在打开的“服务器属性”对话框中,选择“安全性”选项,打开“安全性”选项卡 . 第2步:在“服务器身份验证”栏中设置验证模式后,单击“确定”按钮. 第3步:重新启动SQL Server,以新的验证模式登录服务器。,10.1 SQL Server的验证模式,10.2 账户和角色,SQL Server的两种账户: 登录服务器的登录帐户(login name) 登录帐户只是让用户登录到SQL Server中,但登录名本身并不能让用户访问服务器中的数据。要访问特定的数据库,还必须具有用户名。 使用数据库的用户帐户(user name ) 用户名在特定的数据库内创建。用户定义的信息放在服务器上的每个数据库

8、的sysusers表中。通过授权给用户来指定银行可以访问的数据库对象的权限。,角色 角色是一组用户所构成的组,可分为服务器角色和数据库角色。 当几个用户需要在某个特定的数据库中执行类似的动作时,就可以向该数据库中添加一个角色(role)。数据库角色指定了可以访问相同数据库对象的一组数据库用户。,10.2 账户和角色,服务器角色 Sysadmin 可执行SQL Server中的任何动作 Serveradmin 可设置服务器范围的配置选项 Setupadmin 可管理链接服务器和启动过程 Securityadmin 可管理登录和创建数据库、读取错误日志和更改密码。 Processadmin 管理S

9、QL Server进程 Dbcreator 创建、修改和删除数据库 Diskadmin 管理磁盘文件 Public 具有查看任何数据库的权限,10.2 账户和角色,10.2.1 登录帐户 登录帐户的添加 登录帐户的设置 登录帐户的删除,10.2 账户和角色,登录帐户的添加 1、SQL Server服务器登录管理: 创建、管理SQL Server登录帐号,具体执行步骤如下: (1)打开SSMS在【对象资源管理器】中,展开【安全性】文件夹。 (2)右击【登录名】,从弹出的快捷菜单中选择【新建登录名】选项,则出现【登录名新建】对话框,如下图。 (3)选择【服务器角色】页框,如图。在框中,列出了系统的

10、固定服务器角色。在这些固定服务器角色的左端有相应的复选框,打勾的复选框表示该登录帐号是相应的服务器角色成员。,10.2 账户和角色,登录帐户的添加 (3)选择【服务器角色】页框,如图。在框中,列出了系统的固定服务器角色。在这些固定服务器角色的左端有相应的复选框,打勾的复选框表示该登录帐号是相应的服务器角色成员。,10.2 账户和角色,图10-3 服务器角色对话框,登录帐户的添加 (4)选择【用户映射】页框,如图。上面的列表框列出了【映射到此登录名的用户】,单击左边的复选框设定该登录账号可以访问的数据库以及该帐号在各个数据库中对应的用户名。在【数据库角色成员身份】中可指定该帐号所属的数据库角色。

11、,10.2 账户和角色,图10-4 用户映射对话框,登录帐户的添加 (5)选择【安全对象】页框,如图。安全对象是 SQL 数据库引擎授权系统控制对其进行访问的资源。点击【添加】按钮,可对不同类型的安全对象进行安全授予或拒绝;单击【确定】即可完成登录帐号的创建。,10.2 账户和角色,10.2.2 数据库用户 每个登录帐户在一个数据库中中你能有一个用户帐户,但是每个登录帐户可以在不同的数据库中各有一个用户帐户。 如果在创建登录帐户时没有指定对某个数据库的存取权限,则在数据库中,可创建一个新的用户帐户,并关联到该登录帐户,则该登录帐户会自动具有对该数据库的访问权限。 例:在AdventureWor

12、ks库中创建一个用户帐户bookA,并将其关联到bookadm登录帐户中。,10.2 账户和角色,利用SSMS可授予SQL Server登录访问数据库的许可权限:,打开SSMS,展开要登录的服务器和数据库文件夹,展开要创建用户的数据库及安全性文件夹。,图10-6 新建数据库用户对话框,右击用户图标,从快捷菜单中选择【新建用户】选项,则出现【数据库用户新建】对话框,如图。,10.2.3 角色 拥有相同权限的用户集合称为角色 服务器角色:由服务器账户组成的组,负责管理和维护SQL Server组。 数据库角色:由数据库成员所组成的组,此成员可以是用户或者其他的数据库角色。,10.2 账户和角色,1

13、.固定数据库角色 db_owner 在数据库中有全部权限 db_accessadmin 可以添加、删除用户 db_datareader 可以查看所有数据库中用户表内数据 db_datawriter 可以添加、修改或删除所有数据库中用户表内数据的用户 db_ddladmin 可以在数据库中执行所有定义操作 db_securityadmin可以管理数据库中与安全权限有关所有动作 db_backoperator 可以备份数据库 db_denydatareader 不能选择数据库中任何数据 db_denydatawriter 不能改变数据库中任何数据 Public,10.2 账户和角色,(1)管理服务

14、器角色。 打开SSMS,展开指定的服务器,单击【安全性】文件夹,再单击【服务器角色】,在右边的页框中右击所要的角色,从弹出菜单中选择【属性】,则出现【服务器角色属性】对话框,如图。,在该对话框可看到属于该角色的成员。单击【添加】或单击【删除】按钮。,图10-16 “数据库角色新建”对话框,(2)管理数据库角色。 在SSMS中,展开【服务器】、【数据库】和【安全性】文件夹,右击【数据库角色】,从弹出菜单中选择【新建数据库角色】,则出现【新建数据库角色】对话框,如图。,图10-16 “数据库角色新建”对话框,2.应用程序角色 应用程序角色只使用应用程序,因而不需要把权限直接赋予用户,所以应用程序角

15、色没有任何成员。此外需要为应用程序设置一个口令来激活它。 应用程序角色可以加强对某个特定的应用程序的安全。这些角色允许应用程序自己代替SQL Server接管用户身份验证的职责。比如,如果公司中的员工只是使用某个特定的应用程序(而不是使用Transact-SQL语句或其他任何工具)来修改员工的数据信息,那么就可以为它创建一个应用程序角色。 当应用程序角色被应用程序的会话激活以用于连接时,在连接期间,会话就失去了登录、用户账户或所有数据库中的角色的权限。,10.2 账户和角色,3.public数据库角色的权限 public角色是一种特殊的固定数据库角色,当在数据库添加新用户帐户时,SQL Ser

16、ver会自动将新用户帐户加入public数据库角色中,即数据库的每个合法用户都属于该角色。 public角色为数据库中的用户提供了所有默认权限。 对于用户建立的数据库对象, public角色默认是不设置权限。 public角色为数据库中的所有用户都保留了默认的权限,因此是不能被删除的。,10.2 账户和角色,10.2.4 用户和角色的权限问题 用户是否具有对数据库存取的权利,要看其权限设置而定,但是,它还要受其所属角色的权限的限制。,10.2 账户和角色,1. 用户权限继承角色的权限 用户对数据库对象的存取权限继承于所属角色。假如用户User1属于角色Role1,角色Role1已经取得对表Table1的SELECT权限,则用户User1也自动取得对表Table1的SELECT权限,如果角色Role1对表Table1没有INSERT权限,而用户User1取得了对表Table1的INSERT权限,则角色Role1最终也取得对表Table1的INSERT权限。 拒绝权限优先,只要角色Role1和用户User1中的之一拒

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号