第7章SQL Server 2005的安全机制课件.ppt
《第7章SQL Server 2005的安全机制课件.ppt》由会员分享,可在线阅读,更多相关《第7章SQL Server 2005的安全机制课件.ppt(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 7 章 SQL Server 2005 的安全机制7.1 【案例 21】创建用户账户及登录相关知识1SQL Server 2005 的安全机制SQL Server 2005 的安全机制可以分为 4 个等级,包括操作系统的安全性、SQL Server 2005 的登录安全性、数据库的使用安全性及数据库对象的使用安全性。(1)操作系统的安全性SQL Server 2005 与其他数据库管理系统一样,是运行在某一特定操作系统平台下的应用程序,因此操作系统的安全性直接影响到 SQL Server 2005 的安全性。用户使用客户机通过网络对 SQL Server 服务器访问时,首先要获得客户机操作
2、系统的使用权。SQL Server 2005 可以直接访问网络端口,所有可以实现对 Windows NT 安全体系以外的服务器及其数据库的访问。在能够实现网络互连的前提下,用户没有必要向运行 SQL Server 2005服务器的主机进行登录,除非 SQL Server 2005 服务器就运行在本地计算机上。(2)SQL Server 2005 的登录安全性SQL Server 2005 的安全性建立在控制服务器登录和密码的基础上。SQL Server 2005 采用了 SQL Server 登录和 Windows 登录两种方式。用户无论采用哪种登录方式,其提供的登录账号和密码都决定了用户获得
3、 SQLServer 2005 的访问权限,以及在访问 SQL Server 2005 进程时可以拥有的权利。(3)数据库的安全性用户从输入口令登录计算机,到通过 SQL Server 2005 服务器的安全性检查后,将直接面对不同的数据库入口,这是用户将接受的第三次安全性检验。在建立用户的登录账号信息时,SQL Server 2005 会提示用户选择默认的数据库。以后用户每次连接上服务器后,都会自动转到默认的数据库上。无论任何用户,如果在设置登录账号时没有指定默认的数据库,则用户的权限将局限在 master 数据库以内。(4)数据库对象的安全性创建数据库对象时,SQL Server 2005
4、 将自动把该数据库对象的拥有权赋予该对象的所有者,数据库对象的安全性是核查用户权限最好的一个安全等级,对象的拥有者可以实现对该对象的安全控制。默认情况下,只有数据库的拥有者才可以在该数据库中进行操作。当一个非数据库的拥有者想访问数据库中的对象时,必须事先由数据库的拥有者赋予该用户对指定对象执行的特定操作的权限。2SQL Server 2005 验证模式SQL Server 2005 的安全模式可以使用两种身份验证模式。 仅为 Windows 身份验证:适用于数据库仅在组织内部访问时,当使用 Windows 身份验证连接到 SQL Server域时。时,Microsoft Windows 将完全
5、负责对客户端进行身份验证。在这种情况下,将按其 Windows 用户账户来识别客户端。当用户通过 Windows 用户账户进行连接时,SQL Server 使用 Windows 操作系统中的信息验证账户名和密码,这是 SQL Server 默认的身份验证模式。在 Windows 身份验证模式下,SQL Server 检测当前使用 Windows 的用户账户,并在系统注册表中查找该用户,以确定该用户账户是否有权登录。 混合身份验证:适用于当外界的用户需要访问数据库时或当用户不能使用 Windows使用混合身份验证模式时,SQL Server 2005 首先确定用户的连接是否使用有效的 SQL S
6、erver 用户账户登录。如果用户有有效的登录账户和正确的密码,则接受用户的连接;如果用户有有效的登录账户,但是使用了不正确的密码,则用户的连接被拒绝。仅当用户在没有有效的登录账户时,SQL Server 2005 才检查 Windows 账户的信息。在这样的情况下,SQL Server 2005 确定 Windows 账户是否有连接到服务器的权限。如果账户有权限,连接被接受;否则连接被拒绝。混合身份验证模式具有如下优点:创建了 Windows NT/2000 之上的另外一个安全层次;支持更大范围的用户(如非 Windows 客户);应用程序可以使用独立的 SQL Server 登录和口令。3
7、SQL Server 2005 的系统登录名用户是配置 SQL Server 服务器安全中的最小单位,通过使用不同用户的登录名可以配置不同的范围级别。服务器登录也有两种情况:可以使用域账户创建域登录,域账户可以是域或本地用户账户、本地组账户或通用的和全局的域组账户;还可以通过指定唯一的登录 ID 和密码来创建 SQL Server 2005 登录。SQL Server 2005 服务器内置的系统登录名包括系统管理员组、本地管理员、sa、Network Service 和 SYSTEM。(1)系统管理员组SQL Server 2005 中管理员组在数据库服务器上属于本地组。这个组的成员通常包括本
8、地管理员用户账户和任何设置为管理员本地系统的其他用户。在 SQL Server 2005 中,此组默认授予 sysadmin 服务器角色。(2)本地管理员管理员是在 SQL Server 2005 服务器上的本地用户账户。这个账户提供对本地系统的管理权限,主要在安装系统时使用它。如果计算机是 Windows 域的一部分,管理员账户通常也有域范围的权限。在 SQL Server 2005中,这个账户默认授予 sysadmin 服务器角色。(3)sa 登录sa 是 SQL Server 系统管理员的账户。而在 SQL Server 2005 中采用了新的集成和扩展的安全模式,与其他管理员登录一样,
9、sa 默认授予 sysadmin 服务器角色。在默认安装 SQL Server 2005 的时候,sa 账户没有被指派密码。(4)Network Service 和 SYSTEM 登录Network Service 和 SYSTEM 是 SQL Server 2005 服务器上内置的本地账户,而是否创建这些账户的服务器登录,依赖于服务器的配置。4使用 SSMS 创建登录名 打开 SQL Server Management Studio 窗口,展开服务器“安全性”结点。 右击“登录名”结点,从弹出的快捷菜单中选择“新建登录名”命令,打开“登录名-新建”窗口,然后在“登录名”文本框中输入登录的用户
10、名。 在下方选择“SQL Server 身份验证”单选按钮,输入密码及确认密码,注意密码区分大小写。 在“默认数据库”下拉列表中选择默认进入的数据库,再根据需要设置其他选项或者保持默认值。 选择“用户映射”选项,打开“用户映射”选项页,勾选该数据库前的复选框,其他项保持默认值。 单击“确定”按钮,完成新登录名的创建。5使用系统存储过程管理登录名(1)创建登录名可以使用 SP_ADDLOGIN 系统存储过程创建一个新的 SQL Server 登录名。6数据库用户数据库用户是数据库的主体,是在数据库中执行操作和活动的行动者,是登录名在数据库中的映射。使用数据库用户账户可限制访问数据库的范围,默认的
11、数据库用户有:dbo 用户、guest 用户、INFORMATION_SCHEMA和 sys 用户等。(1)dbo 用户dbo 用户是指数据库所有者,是一个特殊类型的数据库用户,被授予特殊的权限。通常情况下,创建数据库的用户就是数据库的所有者。dbo 用户被隐式授予对数据库的所有权限,并且能将这些权限授予其他用户。通过sysadmin 服务器角色成员创建的对象自动属于 dbo 用户,sysadmin 服务器角色的成员被自动映射为 dbo 用户,以sysadmin 角色登录可以执行 dbo 用户能执行的任何任务。在 SQL Server 数据库中创建的对象也有所有者,这些所有者是指数据库对象所有
12、者。通过非 sysadmin 服务器角色成员创建的对象属于创建对象的用户,当其他用户引用它们的时候必须以用户的名称来限定。(2)guest 用户创建数据库时,该数据库默认包含 guest 用户,授予 guest 用户的权限由在数据库中没有用户账户的用户继承。guest 用户是一个允许具有有效 SQL Server 登录的任何人访问数据库的特殊用户,guest 用户可以使用户加到数据库,默认情况下,guest 用户存在于 model 数据库中,并且被授予 guest 的权限。以 guest 账户访问数据库的用户被认为是 guest 用户的身份并且继承 guest 账户的所有权限和许可。由于 mo
13、del 是创建所有数据库的模板,这意味着所有新的数据库将包括 guest 账户,并且该账户将被授予 guest 权限。除 master 和 tempdb 数据库外的所有数据库都能添加或者删除 guest 用户,因为有许多用户以 guest 账户身份访问 master 和 tempdb 数据库,且 guest 账户在 master 和 tempdb 数据库中有被限制的许可和权限。使用 guest 账户时要注意以下两点:guest 账户是公关服务器角色的一个成员,并且继承这个角色的权限;在任何人以 guest 账户访问数据库前,guest 必须存在于数据库中;guest 账户仅用于账户具有访问 S
14、QL Server的权限,不能通过这个用户账户访问数据库。(3)INFORMATION_SCHEMA 和 sys 用户每个数据库都包含两个实体:INFORMATION_SCHEMA 和 sys,它们都作为用户出现在目录视图中,这两个实体是 SQL Server 所必需的,不能修改或删除它们。这是创建在每个数据库中的两个特殊架构,仅在 master 数据库中可见,所有系统对象包含在 sys 或 INFORMATION_ SCHEMA 的架构中。相关的 sys 和 INFORMATION_SCHEMA架构的视图,提供存储在数据库中所有数据对象的元数据的内部系统视图。sys 和 INFORMATIO
15、N_SCHEMA 用户用于引用这些视图。7使用存储过程添加数据库用户可以用系统存储过程 sp_grantdbaccess 来实现,语法格式如下:sp_grantdbaccessloginname= login , name_in_db=name_it_db语法中的参数解释如下:lllloginname:表示映射到新数据库用户的 Windows 组、Windows 登录名或 SQL Server 登录名的名称。name_it_db:表示新数据库用户名称。name_in_db:表示 OUTPUT 变量,其数据类型为 sysname,默认值为 NULL。name_in_db 不能存在于当前数据库中。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第7章 SQL Server 2005的安全机制课件 2005 安全 机制 课件
限制150内