第8章 SQL Server 安全管理

合集下载

第8章 数据库的安全与权限

第8章 数据库的安全与权限
SQL Server 2005是以“默认安全”。SQL Server是一个设计用于在服务器 上运行,能够接受远程用户和应用程序访问的数据库管理系统。为了远程访问 SQL Server实例,需要一种网络协议来建立到SQL Server服务器的连接 可以通过以下操作来配置远程访问,启用远程访问连接。 (1)执行【开始】|【所有程序】|【Microsoft SQL Server 2005】|【配置工具 】|【SQL Server外围应用配置器】命令,进入SQL Server 2005外围应用配置 器窗口。

掌握SQL Server 2005中的权限管理策略
2013年7月5日
第2页
数据库原理及应用案例教程
北京大学出版社
教学重点及难点
重点:

掌握SQL Server 2005中用户和角色的策略 掌握SQL Server 2005中的权限管理策略


难点:
掌握数据库安全控制的各种方法
2013年7月5日
第6页
2013年7月5日
数据库原理及应用案例教程
北京大学出版社
8.1 数据库安全控制机制
数据库的安全性是指保护数据库,以防止不合法的使用使数据泄密、
更改或破坏。是数据库管理员必须认真考虑的问题。具体来讲,数据库管 理员必须制定一套安全控制策略,一方面要保证那些合法用户可以登录到
数据库服务器中,并且能够实施数据库中各种权限范围内的操作;另一方
(2)在强制存取控制方法中,每一个数据对象被标以一定的密级,每
一个用户也被授予某一个级别的许可证。对于任意一个对象,只有具有 合法许可证的用户才可以存取。强制存取控制因此相对比较严格。
2013年7月5日
第11页

第8章 管理SQL Server 2005的安全

第8章 管理SQL Server 2005的安全
第一章 数据库与SQL Server 2005简介
8.3 角色与用户
8.3.2 固定数据库角色
• 每个数据库用户都属于public数据库角色。当尚未对 某个用户授予或拒绝对安全对象的特定权限时,则该 用户将继承授予该安全对象的public角色的权限。
第一章 数据库与SQL Server 2005简介
第一章 数据库与SQL Server 2005简介
8.1 SQL Server 2005安全
8.1.1 SQL Server 2005安全简介
• 数据库的安全性是指保护数据库以防止不合法的使用 所造成的数据泄漏、更改或破坏。系统安全保护措施 是否有效是数据库系统的主要指标之一。数据库的安 全性和计算机系统的安全性(包括操作系统、网络系 统的安全性)是紧密联系、相互支持的。
第一章 数据库与SQL Server 2005简介
8.2 管理服务器的安全性
第一章 数据库与SQL Server 2005简介
8.2 管理服务器的安全性
8.2.3 创建登录账号
• 将Windows账号添加到SQL Server中
– (2)单击“Search…”按钮,出现如图所示的对话框,将 Windows账号添加到SQL Server中。单击“OK”按钮,即 完成了登录名的创建。
第一章 数据库与SQL Server 2005简介
8.2 管理服务器的安全性
8.2.3 创建登录账号
第一章 数据库与SQL Server 2005简介
8.2 管理服务器的安全性
8.2.3 创建登录账号
• 新建SQL Server账号
– (2)在“Login name”文本框中,输入新的SQL Server账 号名,在“Password”和“Confirm password”中,输入 登录名对应的密码。 – (3)单击“OK”按钮,完成登录名的创建。

SQL server安全管理

SQL server安全管理

实验七SQL Server安全管理SQL Server2000的安全模式分为3层结构,分别为服务器安全管理、数据库安全管理、数据库对象的访问权限管理。

通过本实验来学习登录机制、数据库用户和对象操作权限的管理方法。

[知识要点]1.SQL Server的安全模型SQL Server2000的安全模型分为3层结构,分别为:∙服务器安全管理∙数据库安全管理∙数据库对象的访问权限管理用户访问数据库时需要经历的3个阶段及相应的安全认证过程:第一阶段:用户首先要登录到SQLServer实例。

在登录时,系统要对其进行身份验证,被认为合法才能登录到SQLServer实例。

第二阶段:用户在每个要访问的数据库里必须获得一个用户账号。

SQL Server实例将SQL Server登录映射到数据库用户账号上,在这个数据库的用户账号上定义数据库的管理和数据对象的访问的安全策略。

第三阶段:用户访问数据库。

用户访问数据库对象时,系统要检查用户是否具有访问数据库对象、执行动作的权限,经过语句许可权限的验证,才能实现对数据的操作。

2.SQL Server身份验证模式身份验证用来识别用户的登录账号和用户与SQL Server相连接的合法性,如果验证成功,用户就能连接到SQL Server上。

SQL Server使用下面两种身份验证模式:∙Windows Only身份验证模式;∙SQL Server和Windows混合验证模式3.数据库用户一般情况下,用户获得登录SQLServer实例的登陆账号后,系统管理员还必须为该登录用户访问的数据库创建一个数据库用户账号,该用户登录后才可访问此数据库。

SQL Server 2000系统中有如下默认的数据库用户:∙Guest用户。

任何登录账号都可以用此账号使用数据库;∙Dbo用户。

dbo数据库用户存在于每个数据库下,对应SQL Server的固定服务器角色SysAdmin的成员账号。

4.许可权限管理许可权限指明用户获得哪些数据库对象的使用权,以及用户能够对这些对象执行何种操作。

SQL Server 安全管理

SQL Server 安全管理

SQL Server数据库系统通常运行在Windows服务器上,而 Windows作为网络操作系统,本身就具备管理登录、验证用户 合法性的能力,因此Windows验证模式正是利用了这一用户安 全性和帐号管理的机制,允许SQL Server可以使用Windows的 用户名和口令。 在这种模式下,用户只需要通过Windows的验证,就可以 连接到SQL Server,而SQL Server本身也就不需要管理一套登 录数据。 SQL Server身份验证模式允许用户使用SQL Server安全 性连接到SQL Server。在该认证模式下,用户在连接SQL Server时必须提供登录名和登录密码,这些登录信息存储在系统 表syslogins中,与Windows的登录帐号无关。 SQL Server自身执行认证处理,如果输入的登录信息与系
图10-3 服务器角色对话框
服务器登录帐号和用户帐号管理
(5)选择【用户映射】页 框,如右图所示。上面的 列表框列出了“映射到此 登录名的用户”,单击左 边的复选框设定该登录账 号可以访问的数据库以及 该帐号在各个数据库中对 应的用户名。下面的列表 框列出了相应的“数据库 角色成员身份”清单,从 中可以指定该帐号所属的 数据库角色。

统表syslogins中的某条记录相匹配,则表明登录成功。
利用SQL Server管理平台可 以进行认证模式的设置,步骤如 下: (1)打开SQL Server管理平台, 右击要设置认证模式的服务器, 从弹出的快捷菜单中选择【属性】 选项,则出现SQL Server属性对 话框。 (2)在SQL Server属性对话框 中选择【安全性】选项页,如图 所示。 (3)在【服务器身份验证】选 项栏中,可以选择要设置的认证 模式,同时在“登录审核”中还 可以选择跟踪记录用户登录时的 哪种信息,例如登录成功或登录 失败的信息等。 (4)在“服务器代理帐户”选 项栏中设置当启动并运行SQL Server时,默认的登录者中哪一 位用户。

第八章SQLServer安全性管理

第八章SQLServer安全性管理
权限:权限规定了用户在指定数据库中所能进行的操作。
第11章 SQL Server的安全性管理
11. 1 安全性管理概述 11. 2 登录身份验证管理 11. 3 角色管理 11. 4 数据库用户管理 11. 5 权限管理
登录身份验证模式
SQL Server 2000身份验证 Windows身份验证
Windows身份验证
单击“是”按钮,则系统会停止当前服 务并重新启动SQL Server 2000服务器, 使修改后的设置开始生效。
SQL Server 2000的登录账户
与SQL Server 2000提供的两种确认用户 的验证模式相对应,在SQL Server 2000 中存在两类登录账户: SQL Server账户 和Windows账户。其中Windows账户又 包含“Windows用户”账户和“Windows组” 账户两种类型。
修改登录账户属性
修改SQL Server登录账户属性 修改Windows登录账户属性
修改SQL Server登录账户属性
(1)企业管理器: 双击需要修改属性的 SQL Server登录账户, 这里双击newlogin2, 打开“SQL Server登 录属性”对话框,在 里面可以修改密码、 默认数据库和默认语 言。
Windows身份验证
在安装SQL Server 2000的过程中,系统 会让用户选择在登录SQL Server 2000时 使用哪种身份验证模式。在SQL Server 2000安装成功后,用户也可以根据需要 随时修改身份验证模式,修改的方法如 下:
Windows身份验证
Windows身份验证
删除登录账户
使用企业管理器删除(以newlogin1为例) 使用系统存储过程删除登录账户时,要

SQLServer的安全性管理

SQLServer的安全性管理

SQL Server 登录身份验证模式
▪ 2. SQL Server 和 Windows身 份 验 证 模 式 (又称为混合模式)
▪ 允 许 用 户 使 用 Windows 身 份 验 证 或 SQL Server身份验证。使用SQL Server身份验证 时,必须提供一个已存在的SQL Server登录 帐户和密码。
11.4 权限管理
▪ 权限用来指定授权用户可以使用的数据库对 象以及对这些数据库对象可以执行的操作。 用户在登录SQL Server之后,根据其用户帐 户所属的Windows组或角色,决定了该用户 能够对哪些数据库对象执行哪种操作以及能 够访问、修改哪些数据。在每个数据库中, 用户的权限独立于用户帐户和用户在数据库 中的角色,每个数据库都有自己独立的权限 系统。权限的管理主要是完成对权限的授权、 拒绝和回收。
▪ db_denydatareader:不能读取数据库内用户表中 的任何数据。
▪ db_denydatawriter:不能添加、修改或删除数据 库内用户表中的任何数据。
▪ db_owner:可以执行数据库的所有配置和维护活 动。
▪ db_securityadmin:可以修改角色成员身份和管 理权限。
用哪些数据库。
▪ 数据库对象的安全性:规定用户打开某一数据库后, 可以操作哪些数据库对象以及怎样操作。
SQL Server 登录身份验证模式
▪ SQL Server登录身份验证用来确认该用户是 否具有连接SQL Server的权限。任何用户在 使用SQL Server数据库之前,必须通过系统 的安全身份验证。SQL Server 2005提供了 两种确认用户的验证模式:即“Windows身 份验证模式”和“SQL Server和Windows 身份验证模式”。

sql server实验指导第四版

sql server实验指导第四版

sql server实验指导第四版SQL Server实验指导第四版第一章:SQL Server的介绍SQL Server是由Microsoft开发的一种关系型数据库管理系统(RDBMS)。

它具有强大的数据管理和分析功能,被广泛应用于企业级应用程序和数据仓库中。

本章将介绍SQL Server的概述、特点以及应用领域,帮助读者了解SQL Server的基本知识。

第二章:SQL Server的安装和配置在使用SQL Server之前,需要先进行安装和配置。

本章将详细介绍SQL Server的安装步骤和配置选项,包括选择适当的版本、设置数据库引擎和其他组件,以及配置网络和安全设置等。

读者将学会如何正确地安装和配置SQL Server。

第三章:SQL Server的基本操作本章将介绍SQL Server的基本操作,包括创建数据库、创建表、插入数据、更新数据和删除数据等。

通过实际操作,读者将学会如何使用SQL Server进行数据库的基本管理和数据操作。

第四章:SQL Server的高级操作本章将深入介绍SQL Server的高级操作,包括查询数据、排序数据、过滤数据、连接表和子查询等。

读者将学会如何使用SQL语句来实现复杂的数据查询和分析。

第五章:SQL Server的性能优化本章将介绍SQL Server的性能优化技术,包括索引优化、查询优化、存储过程优化和服务器配置优化等。

通过掌握这些技术,读者将能够提高SQL Server的性能和响应速度。

第六章:SQL Server的备份和恢复在数据库管理中,备份和恢复是非常重要的任务。

本章将详细介绍SQL Server的备份和恢复技术,包括完整备份、差异备份、事务日志备份和数据库恢复等。

读者将学会如何使用SQL Server来保护数据库的安全和可靠性。

第七章:SQL Server的高可用性在企业级应用中,数据库的高可用性是至关重要的。

本章将介绍SQL Server的高可用性技术,包括故障转移集群、数据库镜像、数据库复制和Always On可用性组等。

SQL-Server数据库安全管理

SQL-Server数据库安全管理

SQL-Server数据库安全管理目录SQL-Server数据库安全管理 (1)一、SQL Server 的安全机制 (3)1.客户机的安全机制 (3)2.网络传输的安全机制 (3)3.服务器安全机制 (3)4.数据库的安全机制 (3)5.数据库对象的安全机制 (4)二、设置数据库服务器的访问权限 (4)1.SQL Server的验证模式 (4)(1).Windows身份验证模式 (4)(2).SQL Server和Windows混合身份验证模式 (4)2.设置登录账户 (5)3.服务器角色的概念 (6)三、数据库角色 (7)1.固定数据库角色有以下几种 (7)2.用户自定义数据库角色 (8)四、数据库访问审核 (9)五、屏蔽SQL Server常见漏洞 (9)1.修改SA密码 (9)2.删除或禁用不必要的用户 (10)3.删除危险的存储过程 (10)4.关闭不必要的网络连接功能 (10)5.配合防火墙过滤指定端口访问 (11)6.禁用不必要的协议 (11)7.加密数据 (11)8.定期安装补丁 (11)一、SQL Server 的安全机制SQL Server 的安全机制主要包括以下五个方面:1.客户机的安全机制客户机的安全机制是指:用户必须能够登录到客户机,然后才能使用SQL Server 2005应用系统或客户机管理工具来访问数据库。

对于使用Windows系统的客户来说,它主要涉及的是操作系统的安全,主要是Windows账号的安全(这个意思就是保证你的电脑系统的安全,也就保证了SQL Server 2005的第一道防线)。

2.网络传输的安全机制网络传输的安全一般采用数据的加密和解密技术来实现,但加密的SQL Server会使网络速度变慢,所以对安全性要求不高的网络一般都不采用加密技术。

3.服务器安全机制服务器安全机制是指:当用户登录服务器时,必须使用一个账号(也称为登录账号)和密码,这个账号和密码是服务器上的账号和密码,服务器会按照不同的身份验证方式来判断这个账号和密码的正确性。

SQL SERVER 安全管理

SQL SERVER 安全管理

Windows验证模式主要有以下优点: 验证模式主要有以下优点: 验证模式主要有以下优点
数据库管理员的工作集中在管理数据库方面,而不是管理用户 帐户。对用户帐户的管理可以交给Windows服务器去完成。 Windows服务器有着更强的用户帐户管理工具。可以设置帐 户锁定、密码期限等。如果不是通过定制来扩展SQL Server, SQL Server是不具备这些功能的。 Windows 服务器的组策略支持多个用户同时被授权访问SQL Server。 该模式是默认的身份验证模式,比混合模式更为安全。请尽可 能使用Windows身份验证。
(1)SQL Server 2005的安全机制
1.什么是数据安全性 什么是数据安全性
是指保护数据以防止因使用不当而造成数据 的泄密和破坏。为了实现数据的安全性,SQL Server 2005提供了内置的安全性以保护数据。
1.SQL Server 2005的安全机制可以分为 个等级: 的安全机制可以分为4个等级 的安全机制可以分为 个等级:
(3)服务器的安全性
服务器的安全性是通过设置系统登录账户的权限进行管理 的。用户在连接到SQL Server 2005时与登录账号相关联。 在SQL Server 2005中有两类登录账号: 一类是登录服务器的登录帐号(Login Name) 一类是使用数据库的用户帐号(User Name) 登录帐号是指能登录到SQL Server的帐号,它属于服务器 的层面,本身并不能让用户访问服务器中的数据资源,而登录 者要使用服务器中的数据库资源时,必须要有相应的用户帐号 才能使用。就如同公司门口先刷卡进入(登录服务器),然后 再拿钥匙打开自己的办公室(进入数据库)一样。
1.查看登录帐号
在安装SQL Server 2005以后,系统默认创建几个登录 帐号。启动SQL Server Management Studio,在“对象资 源管理器”窗口中,依次展开“安全性”、“登录名”节点, 即可看到系统创建的默认登录帐号及已建立的其他登录帐号 SQL Server有两个默认的系统管理员登录帐户: 有两个默认的系统管理员登录帐户: 有两个默认的系统管理员登录帐户

第8章习题参考答案

第8章习题参考答案

第8章习题解答1.思考题(1)SQL Server 2008提供了哪些安全管理机制?安全性管理是建立在什么机制上的?答:SQL Server 2008提供了非常完善的安全管理机制,包括用户登录、管理和对用户使用数据库对象的管理。

SQL Server2008的安全性管理是建立在身份验证和访问许可机制上的。

(2)SQL Server 2008有几种身份验证方式?它们的区别是什么?哪种身份验证方式更安全?答:SQL Server 2008有两种身份验证方式,即Windows身份验证模式和混合模式。

Windows 身份验证模式会启用 Windows 身份验证并禁用 SQL Server 身份验证。

混合模式会同时启用 Windows 身份验证和 SQL Server 身份验证。

Windows 身份验证始终可用,并且无法禁用。

SQL Server 2008 的默认身份验证模式是Windows身份验证模式,混合模式更为安全。

(3)数据库的权限是指什么权限?权限管理的主要任务是什么?角色中的所有成员能否继承该角色所拥有的权限?答:SQL Server2008中的权限包括3种类型:对象权限、语句权限和隐含权限。

权限管理的主要任务是对象权限和语句权限的管理。

角色中的所有成员继承该角色所拥有的权限。

(4)SQL Server 2008中有几种角色类型?它们的主要区别是什么?答:SQL Server 2008中有3种角色类型:固定角色、用户定义的数据库角色和应用程序角色。

固定角色:是指其权限已被SQL Server 2008定义,且SQL Server 2008管理者不能对其权限进行修改的角色。

这些固定角色涉及服务器配置管理以及服务器和数据库的权限管理。

按照管理目标对象的不同,固定角色又分为固定服务器角色和固定数据库角色。

用户定义数据库角色:就是当一组用户需要设置的权限不同于固定数据库角色所具有的权限时,为了满足要求而定义的新的数据库角色。

SQL Server 2008数据库应用教程第8章 SQL Server 2008的安全管理

SQL Server 2008数据库应用教程第8章  SQL Server 2008的安全管理

数据库角色
描 述
数据库的所有者,能够执行数据库的所有管理操 作
能够添加或删除用户ID 执行语句及对象权限管理 能够增加、修改或删除数据库中的对象 能够执行数据库备份和还原 能够读取用户表中的所有数据 能够更改用户表中的所有数据 禁止用户查看用户表中的数据
db_denydatawriter
禁止修改任意用户表中的数据
serveradmin
能够设置服务器范围的配置选项,关闭服务器
securityadmin
安全管理员,可以管理登录服务器权限
setupadmin
能够添加和删除链接服务器,并且也可以执行某些系统存储过 程
processadmin
管理在SQL Server中运行的进程
续表
服务器角色 描 述
dbcreator
第8章 SQL Server 2008的安全管理
8.1
创建与管理登录名
8.2
角色和用户的创建与管理
8.3
数据控制语言对数据库权限的控制
8.1 创建与管理登录名
8.1.1 登录名的创建
1.在可视化环境中创建登录名
(1)启动SQL Server Management Studio, 在“对象资源管理器”窗口中展开实例节点 →选择“安全性”→选择“新建”→在“登 录”处单击鼠标右键,如图8-1所示。
系统存储过程sp_addlogin能够创建新的 SQL Server登录,该登录允许用户使用SQL Server身份验证连接到SQL Server实例。
8.1.2 维护登录名
1.使用系统存储过程sp_password添加 或更改用户密码 2.使用系统存储过程sp_defaultdb修改 SQL Server登录名的默认数据库 3.使用系统存储过程sp_droplogin删除 登录名

第8章SQLServer安全管理

第8章SQLServer安全管理

第8章SQLServer安全管理第8 章安全管理(4课时)主要内容:1 安全管理概述(身份验证模式、主体和安全对象)2 登录名管理(创建、维护等)3 数据库用户管理(创建、维护等)4 架构管理(创建、修改和删除等)5 角色管理(固定角色、用户定义的数据库角色、应用程序角色)6 权限管理(权限类型、常用对象的权限、管理权限)8.1 安全管理概述本章主线安全管理是数据库管理系统一个非常重要的组成部分,是数据库中数据被合理访问和修改的基本保证。

SQL Server提供了非常完善的安全管理机制(身份验证机制[authentication]和访问许可机制[permission]),包括用户登录管理和用户使用数据库对象的管理。

只有使用特定的身份验证方式的用户,才能登录到系统中。

只有具有一定权限的用户,才能对数据库对象执行相应的操作。

当用户登录数据库系统时,应确保只有合法的用户才能登录到系统中,这是一个基本的安全问题。

SQL Server 2008系统中,通过身份验证模式和主体解决这个问题。

8.1.1 身份验证模式身份验证是确定客户端能否连接到SQL Server的验证方式,通过登录账号和密码来实现。

从客户端看,登录到SQL Server 2008系统可以通过两种身份验证:●Windows身份验证●SQL Server身份验证Windows身份验证。

该方式使用Windows操作系统的安全机制验证身份,只要用户能够通过Windows用户账号验证,即可连接到SQL Server而不用再进行身份验证。

Windows 身份验证方式是默认的身份验证方式,比SQL Server方式更安全。

这种身份验证方式下的连接是信任连接。

Windows身份验证方式下的用户账户是Windows操作系统下的用户或组,是由Windows 维护的。

当然Windows下的用户或组要成为SQL Server的登录账户必须经过映射。

SQL Server身份验证方式。

SQL Server系统安全管理

SQL Server系统安全管理
份验证
SQL Server身份验 证:使用SQL
Server的账户进行 身份验证
证书身份验证:使 用数字证书进行身
份验证
安全策略:设置身 份验证策略,确保
系统安全
混合身份验证:同 时使用Windows和 SQL Server身份验

混合身份验证
01 概念:结合Windows身
份验证和SQL Server身 份验证
2 数据库用户、角 色、应用程序等
权限回收的方法: 使用DROP USER、
3 DROP ROLE、 DROP APPLICATION等 命令
权限回收的后果:
4 可能导致应用程序 无法正常工作,需 要重新分配权限
安全配置选项
01
身份验证:设置用户名和密码,确 保只有授权用户才能访问数据库
02
权限管理:为不同用户分配不同的 权限,限制其对数据库的操作
权限分配
角色分配:根 据不同用户角 色分配相应的 权限
01
权限控制:通 过设置权限控 制,确保数据 安全
03
02
权限级别:设置 不同级别的权限, 如管理员、普通 用户等
04
权限审计:定期 审计权限分配情 况,确保权限分 配合理有效
权限回收
权限回收的原因:
1 防止权限滥用, 保障系统安全
权限回收的对象:
权限管理:为不同 用户分配不同权限, 最小化权限原则
定期更新:及时更 新***ver补丁和 软件,防止安全漏 洞
安全审计:启用 SQL Server审计 功能,记录所有数 据库操作
安全配置:设置防 火墙,限制访问来 源,禁用不必要的 服务和功能
安全审计
01
审计对象:SQL Server系统、数 据库、用户操作

第8章SQLServer安全管理

第8章SQLServer安全管理

8.2.1 使用企业管理器管理登录账户
[实例8.1]利用企业管理器创建一个SQL账户 名为test,密码为xxxbjwk,默认数据库为学生 库的账户。
步骤:
图8.2 创建登录账户
图8.3 创建登录账户
图8.4 分配数库访问权限
这样使用企业管理器就可以创建一个登录账户。 在建立SQL账户实现服务器连接时,用户必须 拥有合法的账号和正确的密码。在SQL Server 系统中,登录密码并不是必须的。但是用户最 好设置密码,没有密码的保护,SQL Server的 服务器级安全保护就像没有上锁的大门,知道 门的位置(账号)的用户都可以畅通无阻。
上面采用的是SQL账户的创建,如若采用 Windows账户登录,则不同之处就是在图8.2中 选择Windows身份验证,这时登录名称不能随 便键入,它必须是Windows的用户。可以在
“域”组合框的下拉菜单中选择域名,然后点
击按钮,在弹出的对话框中(如图8.5所示)中 选择Windows用户或组,单击“添加”按钮后 再单击“确定”按钮,系统自动将该Windows 用户或组添加到图8.2的“名称”文本框中如图 8.6所示。其他操作与建立SQL账户相同。
sp_defaultdb [@loginnme=] ‘登录名’ [,[@defdb=]'database' 命令说明:database是新的默认数据库的名称。 另外还可以使用系统存储过程删除SQL账户 命令格式:sp_droplogin [@loginnme=] ‘登录名’ 如删除SQL账户yn_sql。可使用如下语句: sp_droplogin ‘yn_sql’
每个安全等级就好像一道门,如果门没有上 锁,或者用户拥有开门的钥匙,则用户可以 通过这道门达到下一个安全等级,如果通过 了所有的门,则用户就可以实现对数据库的 访问了。这种关系可以用图8.1来表示。

(安全生产)第章SQL_S_的安全管理

(安全生产)第章SQL_S_的安全管理

第8章任务八保证数据库安全性______应用SQL Server 2005安全管理策略任务熟练掌握如何注册服务器,学习如何管理用户、角色并授予相关权限。

目标●了解SQL Server 2005的安全机制●掌握登录名的创建与管理。

●掌握角色和用户的创建与管理。

●了解数据控制语言对数据库权限的控制。

●了解SQL Server 2005的安全管理模型8.1任务8-1 SQL Server 2005 安全机制任务:了解SQL Server 2005的安全机制以及相关概念。

就目前而言,绝大多数数据库管理系统都还是在某一特定操作系统平台下运行的应用程序,SQL Server 2005也不例外,SQL Server 2005的安全机制分为以下4个等级。

●客户机操作系统的安全性。

●SQL Server的登录安全性。

●数据库的使用安全性。

●数据库对象的使用安全性。

每个安全等级都好像一道门,如果门没有上锁,或者用户就有开门的钥匙,用户就可以直接通过这道门,从而轻松的到达下个一个安全等级。

如果通过了所有的门,则用户就可以实现对数据库的方问了。

这种关系如图8-1所示。

图8-1 SQL Server 2005的安全等级1.操作系统的安全性在使用客户计算机通过网络实现对SQL Server服务器的访问时,用户要首先获得客户计算机操作系统的使用权。

一般来说,能够实现网络互联的前提下,用户没有必要直接登录运行SQL Server 服务器的主机,除非SQL Server服务器就运行在本地计算机上。

SQL Server 可以直接访问网络端口,所以可以实现对Windows NT安全机制以外的服务器及其数据库的访问。

操作系统安全性是操作系统管理员或者网络管理员的任务。

由于SQL Server采用了集成Windows NT 网络安全机制,从而使得操作系统安全性的地位得到提高,但同时也加大了管理数据库系统安全性和灵活性的难度。

2.SQL Server的安全性SQL Server的服务器级安全性建立在控制服务器登录账号和密码的基础之上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第8 章安全管理(4课时)主要内容:1 安全管理概述(身份验证模式、主体和安全对象)2 登录名管理(创建、维护等)3 数据库用户管理(创建、维护等)4 架构管理(创建、修改和删除等)5 角色管理(固定角色、用户定义的数据库角色、应用程序角色)6 权限管理(权限类型、常用对象的权限、管理权限)8.1 安全管理概述本章主线安全管理是数据库管理系统一个非常重要的组成部分,是数据库中数据被合理访问和修改的基本保证。

SQL Server提供了非常完善的安全管理机制(身份验证机制[authentication]和访问许可机制[permission]),包括用户登录管理和用户使用数据库对象的管理。

只有使用特定的身份验证方式的用户,才能登录到系统中。

只有具有一定权限的用户,才能对数据库对象执行相应的操作。

当用户登录数据库系统时,应确保只有合法的用户才能登录到系统中,这是一个基本的安全问题。

SQL Server 2008系统中,通过身份验证模式和主体解决这个问题。

8.1.1 身份验证模式身份验证是确定客户端能否连接到SQL Server的验证方式,通过登录账号和密码来实现。

从客户端看,登录到SQL Server 2008系统可以通过两种身份验证:●Windows身份验证●SQL Server身份验证Windows身份验证。

该方式使用Windows操作系统的安全机制验证身份,只要用户能够通过Windows用户账号验证,即可连接到SQL Server而不用再进行身份验证。

Windows 身份验证方式是默认的身份验证方式,比SQL Server方式更安全。

这种身份验证方式下的连接是信任连接。

Windows身份验证方式下的用户账户是Windows操作系统下的用户或组,是由Windows 维护的。

当然Windows下的用户或组要成为SQL Server的登录账户必须经过映射。

SQL Server身份验证方式。

该方式使用SQL Server系统的安全机制验证身份。

当客户端连接到服务器时必须提供登录名和密码,此种连接称为非信认连接,用户登录账户是由SQL Server维护的。

身份验证模式是SQL Server 2008系统验证客户端的方式,从服务器端看,SQL Server 服务器身份验证模式有两种:●Windows 身份验证模式●SQL Server和Windows 身份验证模式通过SQL Server Management Studio工具可以查看和设置连接的服务器身份验证模式(演示),当然设置完成后,要重新启动SQL Server才能生效。

8.1.2 主体和安全对象在权限管理中首先要理解主体与安全对象的概念。

【主体、安全对象和权限,对应哪些人、哪些资源和哪些操作,三个对象可用一个造句连接:给予<主体>对于<安全对象>的<权限>】主体是可以请求系统资源的个体、组和过程,是可以请求SQL Server 资源的实体。

例如,数据库用户是一种主体,可以按照自己的权限在数据库中执行相应的操作。

SQL Server 2008系统有多种不同的主体,不同主体之间的关系是典型的层次结构关系,位于不同层次上的主体其在系统中影响的范围也不同。

主体的影响范围取决于主体定义的范围(Windows、服务器或数据库)以及主体是单个的还是一个集合。

每个主体都具有一个安全标识符(SID)。

SQL Server 2008系统中,可以把主体的层次分为3个级别:●Windows级别●SQL Server级别●数据库级别Windows级别的主体包括:●Windows 域登录名●Windows 本地登录名SQL Server级别的主体包括:●SQL Server登录名数据库级别的主体包括:●数据库用户●数据库角色●应用程序角色安全对象是SQL Server 数据库引擎授权系统控制对其进行访问的资源。

SQL Server系统通过验证主体是否已经获得适当的权限来控制主体对安全对象的各种操作。

安全对象范围有服务器、数据库和架构。

服务器安全对象范围包括:●端点●SQL Server 登录账户●数据库数据库安全对象范围包括:●用户●角色●应用程序角色●程序集●消息类型●路由●服务●远程服务绑定●全文目录●证书●非对称密钥●对称密钥●约定●架构架构安全对象范围包括:● 类型● XML 架构集合● 对象(聚合、约束、函数、过程、队列、统计信息、同义词、表、视图等)主体和安全对象之间是通过权限关联起来的。

主体通过发出请求来访问系统资源(安全对象)。

主体能否对安全对象执行访问操作,需要判断主体是否拥有访问安全对象的权限。

那么,数据库中的对象由谁所有?如果是由用户所有,当用户被删除时,其所拥有的对象怎么办?难道数据库对象可以成为没有所有者的“孤儿”吗?在SQL Server 2008系统中,这个问题是通过用户和架构分离来解决的,用户并不拥有数据库对象,架构拥有数据库对象,用户通过架构来使用数据库对象。

数据库对象、架构和用户之间的关系示意图如下:8.2 登录名管理登录账户是基于服务器级使用的名称。

登录名管理包括创建登录名、设置密码策略、查看登录名信息及修改登录名等。

sa 是一个默认的SQL Server 登录名,拥有操作SQL Server 系统的所有权限,该登录名不能被删除。

以”##”开头和结尾的用户是SQL Server 内部使用的账户,由证书创建,不应该被删除。

BUILDIN\Administrator 账户是与本地管理员组关联的登录名,默认属于sysadmin 角色。

这个账户使得任何属于本地管理员的账户都可以获得对SQL Server 的完全控制权。

【无论是哪一种环境下安装SQL Server 2008,都会碰到为每个SQL Server 2008服务配置账户的问题。

安装SQL Server 2008时会用的账户如下:[1] 本地用户帐户[2] 域用户帐户[3] 内置系统帐户● Network Service 帐户(网络服务)● Local Service 帐户(本地服务)● Local System 帐户(本地系统)本地用户帐户。

工作组环境,如果计算机不在域中,则建议使用不具有 Windows 管理员权限的本地用户帐户。

域用户帐户。

如果服务必须与网络服务进行交互,则访问类似于文件共享的域资源;如果服务使用到运行 SQL Server 的其他计算机的链接服务器连接,则可以使用具有最低特权的域帐户。

许多服务器到服务器的活动只能使用域用户帐户来执行。

此帐户应由域管理员在域环境内预先创建。

Local Service 帐户。

是一个内置帐户,与 Users 组的成员具有相同级别的资源和对象访问权限。

请注意,SQL Server 或 SQL Server 代理服务不支持 Local Service 帐户。

该帐户的实际名称为“NT AUTHORITY\LOCAL SERVICE ”。

Network Service 帐户。

是一个内置帐户,比 Users 组的成员拥有更多的对资源和对象的访问权限。

以 Network Service 帐户身份运行的服务将使用计算机帐户的凭据访问网络资源。

该帐户的实际名称为“NT AUTHORITY\NETWORK SERVICE ”。

Local System 帐户。

Local System 是一个具有高特权的内置帐户。

它对本地系统有许多权限并作为网络上的计算机。

该帐户的实际名称为“NT AUTHORITY\SYSTEM”。

】8.2.1 创建登录名创建登录名包括定义登录名名称,与之映射的Windows登录账户(Windows身份验证),登录口令,默认数据库等信息。

⏹映射Windows登录账户为SQL Server 登录账户(1)映射Windows登录账户为SQL Server 登录账户CREATE LOGIN login_name FROM WINDOWS,其中,登录名必须用方括号括起来,名称格式为:域名\计算机名\用户名或组名。

例:已经创建Windows用户bobbie,请创建登录名if suser_ID('admi\bobbie')is not nulldrop login[admi\bobbie]gocreate login[admi\bobbie]from windowsgo(2)创建SQL Server登录账户CREATE LOGIN login_name WITH PASSWORD=’password’例:创建名称为user01的SQL Server登录账户if suser_ID('user01')is not nulldrop login user01gocreate login user01with password='user123'go例:创建指定默认数据库的登录名if suser_ID('user02')is not nulldrop login user02gocreate login user02withpassword='user02123',default_database=northwindgo在Microsoft SQL Server 2008系统中,可以使用Master数据库用的系统视图sys.server_principals目录视图可以查看有关服务器级的主体信息,sys.sql_logins目录视图提供了SQL Server登录名信息。

其中,S类型表示SQL Server登录名,U表示Windows登录名,G表示Windows组。

8.2.2 维护登录名登录名创建之后,可以根据需要修改登录名的名称、密码、密码策略、默认的数据库等信息,可以禁用或启用该登录名,也可以删除不需要的登录名。

使用ALTER LOGIN语句用来修改登录名的属性信息。

【修改登录名与删除再重建该登录名是不同的,修改登录名时修改前后登录名的SID是不变的】,也可以禁用或启用指定的登录名。

例:修改登录名的名称ALTER LOGIN user01WITH name=suser01例:修改登录名的密码ALTER LOGIN suser01WITH PASSWORD='suser01123'例:禁用登录名suser01登录ALTER LOGIN suser01DISABLE例:启用登录名suser01登录ALTER LOGIN suser01ENABLE如果某个登录名不再需要了,可以使用DROP LOGIN语句删除该登录名8.3 数据库用户管理数据库用户是数据库级的主体,是登录名在数据库中的映射,是在数据库中执行操作和活动的行动者。

相关文档
最新文档