范文一:数据库安全管理
第 10章
数据库安全管理
教学目标
通过本章学习,使学生掌握数据库安全管理的有关概念,掌握数据库
安全管理的基本方法,根据实际需要,能够熟练地建立和管理 登录帐 户、
数据库的用户、架构、角色和其权限设置。
重点难点
SQL Server2008的安全验证方式
SQL Server登录账号管理
SQL Server数据库的安全管理
10.1任务描述
本章完成项目的第 10个任 务。
1.创建一个验证模式为“ SQL Server身份验证”的登录账号 stu_login,默认数据 库为 Student 。
2.在大学生选课管理数据库 Student 中,完成如下操 作。
(1)创建该数据库的一个用户 student_user1,并与登录账号 stu_login相关联。
(2)设置该用户 student_user1拥有的权限:只能建立该数据库中的视图,只能 查询该数据库中的所有表和视图的内容。
10.2 SQL Server 2008的身份验证模式
安全帐户认证是用来确认登录 SQL Server 的用户的登录帐号和密码的正确性, 由此来验证其是否具有连接 SQL Server的权限。 SQL Server 2008提供了两种确认用 户的验证模式:Windows 身份验证模式,混合身份验证模式(Windows 身份验证 和 SQL Server身份验证) 。
1. Windows 身份验证模式
SQL Server数据库系统通常运行在 Windows NT / Windows 2000 / Windows 2003或其以上版本的服务器平台上,而这类 Windows 服务器操作系统,本身就具备管理 登录、 验证用户合法性的能力, 因此 Windows 身份验证模式正是利用了这一用户安 全性和帐号管理的机制, 允许 SQL Server也可以使用 NT 的用户名和口令。 在这种模 式下,用户只需要通过 Windows 的验证,就可以连接到 SQL Server ,而 SQL Server 本身也就不需要管理一套登录数据。
2. 混 合身份验证 模式
混 合身份验证模 式允许用户使用 Windows 服务器操作系统安全性或 SQL Server安全性连接到 SQL Server ,是指允许以 SQL Server 验证模式或者 Windows 验证模式 对登录的用户账号进行验证。 其工作模式是:客户机的用户账号和密码首先进行 SQL Server 身份验证,如果通过验证,则登录成功。否则,再进行 Windows 身份验证, 如果通过,则登录成功。如果都不能通过验证,则无法连接到 SQL Server 服务器。
3.设置验证模式
(1) 启动 SQL Server Management Studio, 并连接到 SQL Server 2008中的数据库。
在“对象资源管理器”窗口中,右击连接的 SQL Server 服务器名称,系统弹出快捷 菜单,如图 10-1所示。
图 10-1设置验证模式
(2)执行弹出菜单中的【属性】命令,打开“服务器属性”对话框,如图 10-2所示。
图 10-2“服务器属性”对话框
(3)在服务器属性对话框中,选择“安全性”选择页,进入其“安全性”设置
页面,在其“服务器身份验证”选项中可选择 SQL Server 的验证模式,还可设置其 他有关选项,设置完成后单击“确定”按钮即可。
10.3 SQL Server 登录账号管理
在 SQL Server 2008中有两类登录账号:一类是登陆服务器的登录账号;另一类 是使用数据库的用户账号。登录账号是指能登录到 SQL Server 的账号,属于服务器 的层面,本身并不能让用户访问服务器中的数据库,而登陆者要使用服务器中的数 据库时, 必须要有相应的用户账号才能使用数据库。 就如同公司门口先刷卡进入 (登 录服务器) ,然后再拿钥匙打开自己的办公室(进入数据库)一样。
用户名要在特定的数据库内创建并关联一个登录名 (登录账号) , 当创建一个用 户时,必须关联一个登录名,一个登录名只能与一个数据库用户相关联。
10.3.1创建登录账号
要登录到 SQL Server 必须具有一个登录账号,用户可以使用系统默认的几个登 录账号,也可以创建新的登录账号。
1.启动 SQL Server Management Studio,并连接到 SQL Server 2008中的数 据库。 在“对象资源管理器”窗口中,展开“安全性”节点,右击其“登录名”节点,系 统弹出快捷菜单,如图 10-3所示。
图 10-3 新建登录名
2.在弹出菜单中,执行【新建登录名】命令,打开“登录名 - 新建”对话框, 如图 10-4所示。
图 10-4“登录名 -新建” 对话框
3.在 “登录名 -新建” 对话框中,在“登录名”文本框中输入新建的登录名称。 然后再选择其身份验证模式:若选择“ Windows 身份验证”选项,可通过单击“登 录名”文本框后面的“搜索”按钮,查找并添加 Windows 操作系统中的用户名称; 若选择“ SQL Server身份验证”选项,则需在“密码”与“确认密码”文本框中输入 登录时所采用的密码。在“默认数据库”与“默认语言”下拉框中可选择新建的登 录名登录 SQL Server 2008后默认使用的数据库与语言。 最后单击 “确定” 按钮即可。
10.3.2管理登录账号
启动 SQL Server Management Studio,并连接到 SQL Server 2008中的数据库。在 “对象资源管理器”窗口中,展开“安全性”节点,再展开其“登录名”节点,右 击要操作的登录名称,系统弹出快捷菜单,如图 10-5所示。
图 10-5 操作登录名
1. 重命名登录名
执行弹出菜单中的【重命名】命令。
2.删除登录名
执行弹出菜单中的【删除】命令。
3.查看和修改登录名的属性
执行弹出菜单中的【属性】命令,进入“登录属性”对话框,同上图 10-4,在 登录属性对话框中,可查看或根据需要修改登录账号的相关属性。
4.禁用登录账号
执行弹出菜单中的【属性】命令,进入“登录属性”对话框,在此对话框中, 选择 “状态” 选择页, 进入登录账号的状态设置页面, 如图 10-6所示, 在此页面中, 选择“登录”项中的“禁用”选项即可。
图 10-6“登录属性”对话框
10.4 数据库的安全管理
10.4.1数据库用户管理
登录账号创建之后,用户只能通过该登录名访问整个 SQL Server 2008,而不是 SQL Server 2008中的数据库。如果用户 要访 问 SQL Server 2008中的数据库,还需要 给这个用户授予访问该数据库的权限,即在所要访问的数据库中为该用户创建一个 数据库用户账户。
1.创建数据库用户
(1) 启动 SQL Server Management Studio, 并连接到 SQL Server 2008中的 数据库。 在“对象资源管理器”窗口中,展开“数据库”节点,再展开创建用户的数据库名 (如 Studen t ) ,再展开其“安全性”节点,右击其“用户”节点,系统弹出快捷菜 单,如图 10-7所示。
图 10-7新建数据库用户
(2)执行弹出菜单中的【新建用户】命令,打开“数据库用户 -新建”对话框, 如图 10-8所示。
图 10-8“数据库用户 -新建”对话框
(3)在“数据库用户 -新建”对话框中:在“用户名”文本框中输入新建数据库 用户的名称;通过“登录名”文本框后面的“?”按钮选择该数据库用户所关联的 SQL Server登录账号;通过“默认架构”文本框后面的“?”按钮可设置该用户的默 认架构;在“此用户拥有的架构”列表框中,可选择该用户所拥有的架构;在“数 据库角色成员身份”列表框中,可选择赋予该用户什么样的数据库角色。
(4)在“数据库用户 -新建”对话框中,单击“安全对象”选择页,进入“安全 对象”设置页面,在此页面中,可以添加允许该数据库用户能够访问的数据库对象 和设置访问这些数据库对象的相关权限。
2.管理数据库用户
启动 SQL Server Management Studio,并连接到 SQL Server 2008中的 数据库。在 “对象资源管理器”窗口中,展开“数据库”节点,再展开要操作用户所属的数据 库名(比如 Student ) ,再展开其“安全性”节点,再展开其“用户”节点,右击要 操作的用户名,系统弹出快捷菜单,如图 10-9所示。
图 10-9 操作数据库用户
(1)删除数据库用户,执行弹出菜单中的【删除】命令。
(2)重命名数据库用户,执行弹出菜单中的【重命名】命令。
(3) 查看和修改数据库用户的属性, 执行弹出菜单中的 【属性】 命令, 进入 “数 据库用户”属性对话框,在此对话框中,查看或根据需要修改数据库用户的相关属 性即可,同创建数据库用户一样。
10.4.2数据库权限管理
权限是针对用户而言的,若用户相对 SQL Server 进行某种操作,就必须具备使 用该操作的权限。权限用来指定授权用户可以使用的数据库对象和这些授权用户可 以对这些数据库对象执行的操作。用户在登录到 SQL Server 之后,其用户帐号所归 属的 Windows 组或角色所被赋予的权限决定了该用户能够对哪些数据库对象执行哪 种操作以及能够访问、修改哪些数据。在每个数据库中用户的权限独立于用户帐号 和用户在数据库中的角色,每个数据库都有自己独立的权限系统,在 SQL Server 中 包括三种类型的权限:即对象权限、语句权限和预定义权限。
1.权限类型
(1)对象权限
表示对特定的数据库对象,即表、视图、字段和存储过程的操作权限,它决定 了能对表、视图等数据库对象执行哪些操作。
对象权限有:
●SELECT , INSERT , UPDATE , DELETE 语句权限可以应用到整个 表或视图中
●SELECT , UPDATE 语句权限可以有选择地应用到表或视图中的单个 列上
●SELECT 权限可以应用到用户定义函数中
●INSERT, DELETE 语句权限只能应 用到 表或视图中, 但不能应用到 其单个列上
(2)语句权限
表示对数据库的操作权限,也就是说,创建数据库或者创建数据库中的其它对 象所需要的权限类型称为语句权限。
语句权限有:
●C reate database:创建数据库
●C reate table:创建表;
●C reate view:创建视图;
●C reate rule:创建规则;
●C reate default:创建缺省;
●C reate procedure:创建存储过程;
●C reate index:创建索引;
●B ackup database:备份数据库;
●B ackup log:备份事务日志。
(3)预定义权限
是指系统安装以后有些用户和角色不必授权就有的权限。
2.授予用户权限
(1) 启动 SQL Server Management Studio, 并连接到 SQL Server 2008中的 数据库。 在“对象资源管理器”窗口中,展开“数据库”节点,展开授权用户所属的数据库 名(如 Stud ent ) ,展开其“安全性”节点,展开其“用户”节点,右击要授予权限 的用户名称,系统弹出快捷菜单,如图 10-10所示。
图 10-10 授予用户权限
(2)执行弹出菜单中的【属性】命令,打开“数据库用户”对话框,在该对话 框中,选择“安全对象”选择页,进入其“安全对象”设置页面,如图 10-11所示。
图 10-11“数据库用户”对话框
(3)在 “数据库用户” 对话框的“安全对象”设置页面中,单击“安全对象” 选项后面的“搜索”按钮,进入“添加对象”对话框,如图 10-12所示,在此对话 框中,选择要添加对象的类型,这里选择“特定类型的所有对象”单选钮,选择完 毕后,单击“确定”按钮,进入“选择对象类型”对话框,如图 10-13所示。
图 10-12“添加对象”对话框
(4)在 “选择对象类型” 对话框中,选择允许该用户能够访问和操作的具体对 象类型,选择完毕后,单击“确定”按钮,则返回 “数据库用户” 对话框的“安全 对象”设置页面,如图 10-14所示。
图 10-13“选择对象类型”对话框
图 10-14 “数据库用户” 的“安全对象”页面
(5) 这时在 此 “数据库用户” 对话框的“安全对象”设置 页面中的“安全对 象” 列表框中列出了允许该用户所能访问和操作的所属数据库 (即 Student ) 和该数据库 中的所有表和视图等对象, 从中选择数据库对象, 则在其下面的的 “ xxx 的权限显式” 列表框中,列出了该用户对此对象的所有操作权限,在这里可设置该用户对此对象 的相关操作权限,既可授予该用户对此对象的相关操作权限,也可拒绝该用户对此 对象的相关操作权限。根据需要进行相关设置即可。
3.收回用户权限
收回 用户权限 的操作与授予 用户权限操 作基本相同。
(1) 启动 SQL Server Management Studio, 并连接到 SQL Server 2008中的 数据库。 在“对象资源管理器”窗口中,展开“数据库“节点,展开要收回权限用户所属的 数据库名 (如 Stude nt ) ,展开其“安全性”节点,展开其“用户”节点,右击要收 回权限的用户名称,系统弹出快捷菜单。
(2)执行弹出菜单中的【属性】命令,打开“数据库用户”对话框,在该对话 框中选择“安全对象”选择页,进入其“安全对象”设置页面。
(3)在数据库用户对话框的“安全对象”设置页面中,单击“搜索”按钮,添 加允许该用户的原访问及操作的对象类型。
(4)在返回的数据库用户对话框的“安全对象”设置页面中,在“安全对象” 列表框中选择要收回用户权限的数据库对象,在其下面的“显示权限列表框”中取 消该用户原来设置的有关权限,最后单击“确定”按钮即可。
10.4.3数据库架构管理
架构是形成单个命名空间的数据库实体的集合,可以包含如表、视图、存储过 程等数据库对象。架构独立于创建它们的数据库用户而存在。多个用户可以通过角 色成员身份或 Windows 组成员身份拥有一个架构。
在 SQL Server 2008中,架构是一个重要的内容,完全限定的对象名称中就包含 架构,即 服务器 . 数据库 . 架构 . 对象。在创建数据库对象时如果没有设置或更改其架 构,系统将把 dbo 作为其默认架构。
在 SQL Server 2008中,允许用户创建和使用自己的架构,来更好地管理数据库的安 全。
1.创建数据库架构
(1) 启动 SQL Server Management Studio, 并连接到 SQL Server 2008中的数 据库。 在“对象资源管理器”窗口中,展开“数据库“节点,再展开创建架构的数据库 名 (如 Stud ent ) ,再展开其“安全性”节点,右击其“架构”节点,系统弹出快捷菜
单,如图 10-15所示。
图 10-15 新建架构
(2) 执行弹出菜单中的 【新建架构】 命令, 打开 “架构 -新建” 对话框, 如图 10-16所示。
图 10-16“架构 -新建” 对话框
(3) 在“架构 -新建” 对话框中:在“架构名称”文本框中输入新建架构的名称; 通过“架构所有者”文本框后面的“搜索”按钮,添加该架构的所有者,架构所有 者可以是数据库用户、数据库角色、也可以是应用程序角色;单击“权限”选择页, 进入“权限”设置页面,在此页面中,可设 置数据库用户、数据库角 色或应用程序 角色对该架构的操作权限。
2.管理数据库架构
注意:只能操作自定义的架构。
启动 SQL Server Management Studio,并连接到 SQL Server 2008中的数 据库。在 “对象资源管理器”窗口中,展开“数据库“节点,再展开要操作的架构所属的数 据库 名(如 Stu dent ) ,再展开其“安全性”节点,再展开其“架构”节点,右击要 操作的架构名称,系统弹出快捷菜单,如图 10-17所示。
图 10-17操作架构
(1)删除数据库架构,执行弹出菜单中的【删除】命令。
(2)修改架构属性,执行弹出菜单中的【属性】命令,进入“架构属性”对话 框,在此对话框中,修改架构的相关属性,同创建架构一样。
3.设置数据库架构的权限
(1) 启动 SQL Server Management Studio, 并连接到 SQL Server 2008中的数 据库。
在“对象资源管理器”窗口中,展开“数据库“节点,展开要操作的架构所属的数 据库 名(如 Stude nt ) ,展开其“安全性”节点,展开其“架构”节点,右击要设置 权限的架构名称,系统弹出快捷菜单,执行弹出菜单中的【属性】命令打开“架构 属性”对话框,在此对话框中,选择“权限”选择页,进入架构权限设置页面,如 图 10-18所示。在这里可设置数据库用户或数据库角色对架构的操作权限。
图 10-18 “架构属性”对话框
(2) 在“架构属性” 对话框的“权限”设置页面中, 单击“用户或 角色”列表 框后面的“搜索”按钮,进入“选择用户或角色”对话框,如图 10-19所示,在此 对话框中,单击“对象类型”按钮,进入“选择对象类型”对话框,如图 10-20所 示, 在此对话框中可选择要添加对象的类型, 选择完毕后单击 “确定” 按钮返回 “选 择用户或角色”对话框,再单击该对话框中的“浏览”按钮进入“查找对象”对话 框,如图 10-21所示,在此对话框中可选择要添加的数据库用户或数据库角色,选 择完毕后,单击“确定”按钮又返回“选择用户或角色”对话框,如图 10-22所示, 在此对话框中单击 “确定” 按钮返回架构属性对话框的 “权限” 设置页面, 如图 10-23所示。
图 10-19“选择用户或角色”对话框
图 10-20“选择对象类型”对话框
图 10-21 “查找对象”对话框
图 10-22“选择用户或角色”对话框
图 10-23 “架构属性”的“权 限”设置页面
(3)这时在此架构属性对话框的“权限”设置页面中的“用 户或角色”列表框 中列出了所添加的数据库用户或数据库角色,从中选择数据库用户或数据库角色, 则在其下面的的 “ xxx 的权限显式” 列表框中, 列出了此用户或角色对架构的所有操 作权限,在这里可设置此用户或角色对架构的相关操作权限,既可授予此用户或角 色对架构的相关操作权限,也可拒 绝此用户或 角色对架构的相关操作权限,根据需 要进行相关设置即可。
10.4.4数据库角色管理
角色是指用户对 SQL Server 进行的操作类型,它是一个强大的工具,它可以将 数据库用户集中到一个单元中, 然后对该单元应用权限。 利用角色, SQL Server管理 者可以将某些用户设置为某一角色,这样只对角色进行权限设置便可以实现对这些 所有用户权限的设置,大大减少了管理员的工作量。
和登录账号类似,数据库用户也可以分成组,成为数据库角色。数据库角色是 为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权 限,这些权限是数据库专有的,并且还可以使一个用户具有属于同一个数据库的多 个角色。
简单的讲,数据库角色就是一个用户组,这个用户组中的所有用户都拥有相同 的一组权限。数据库角色应用于单个数据库。
数据库角色可分为两种:标准角色和应用程序角色。标准角色通过对用户权限 等级的认定而将用户划分为不同的用户组,使用户总是相对于一个或多个角色,从 而实现管理的安全 性。标准角色又分为固 定的标准角色和用户自定义的角色。应用 程序角色是用来控制应用程序存取数据库,它本身不包括任何成员。
1.固定的标准角色
固定的标准角色有如下几个。
(1) public :维护全部默认权限,每个用户都属于该角色。
(2) db_owner:数据库的所有者,可以对所拥有的数据库有全部权限。
(3) db_accessadmin:可以增加或者删除数据库用户、工作组和角色。
(4) db_addladmin:可以增加、删除和修改数据库中的任何对象。
(5) db_securityadmin:执行语句权限和对象权限。
(6) db_backupoperator:可以备份和恢复数据库。
(7) db_datareader:能且仅能对数据库中的任何表执行 select 操作,从而读取 所有表的信息。
(8) db_datawriter:能够增加、修改和删除表中数据,但不能够进行 select 查 询操作。
(9) db_denydatareader:不能读取数据库中任何表中的数据。
(10) db_denydatawriter:不能对数据库中的任何表执 行增加、修改和删除 数 据操作。
2.用户自定义角色
创建用户自定义的数据库角色就是创建一组用户,这些用户具有相同的一组权 限。如果一组用户需要执行在 SQL Server 中指定的一组操作并且不存在对应的 Windows 组,或者没有管理 Windows 用户帐号的权限,就可以在数据库中建立一 个用户自定义的数据库角色。
3.创建数据库角色
(1) 启动 SQL Server Management Studio, 并连接到 SQL Server 2008中的数 据库。 在“对象资源管理器”窗口中,展开“数据库”节点,展开建立角色所属的数据库 名(如 Student ) ,再展开其“安全性”节点,右击其“角色”节点,系统弹出快捷 菜单,如图 10-24所示。
图 10-24 新建数据库角色
(2)在弹出菜单中,执行【新建】→【新建数据库角色】命令,打开“数据库 角色 -新建”对话框,如图 10-25所示。
21
图 10-25“数据库角色 -建立” 对话框
(3) 在“数据库角色 -新建”对 话框中:在“角色名称”文本框中输入新建数据 库角色的名称;通过“所有者”文本框后面的“?”按钮来设置该数据库角色的所 有者; 在 “此角色拥有的架构” 列表框中, 可选择该角色拥有的架构; 通过单击 “此 角色的成员”列表框下面的“添加”按钮,添加该角色中的各个成员(角色成员可 以是数据库用户或其他的数据库角色) 。
(4)在 “数据库角色 -新建” 对话框中,选择“安全对象”选择页,进入其“安 全对象”设置页面,在此页面中,可设置该数据库角色的“安全对象”和“显示权 限” ,同设置数据库用户的权限一样。
4.管理数据库角色
启动 SQL Server Management Studio,并连接到 SQL Server 2008中的数 据库。在
22
“对象资源管理器”窗口中,展开“数据库”节点,展开要操作的数据库角色所属 的数据库 名(如 Student ) , 再展开其“安全性”节点,展开其“角色”节点,展开 其“数据库角色”节点,右击要操作的数据库角色名称,系统弹出快捷菜单,如图 10-26所示。
图 10-26 操作数据库角色
(1)删除数据库角色,执行弹出菜单中的【删除】命令。
(2) 查看和修改数据库角色的属性, 执行弹出菜单中的 【属性】 命令, 进入 “数 据库角色属性”对话框,如图 10-27所示。
23
图 10-27“数据库角色属性”对话框
在该 “数据库角色属性” 对话框中:可重新设置该角色的相关 属性(如所有者、 角色拥有的架构) ;在“此角色的成员”列表框中,可通过其下面的“添加”和“删 除”按钮,添加或删除该角色中的有关成员;可选择“安全对象”选择页,进入其 “安全对象”设置页面,重新设置该数据库角色的“安全对象”和“显示权限” 。
10.5任务实现
1.创建一个验证模式为“ SQL Server身份验证”的登录账号 stu_login,默认数 据库 Student 。
略 …… . (学生自己完成)
2.在大学生选课管理数据库 Student ,完成 如下操作。
(1)创建该数据库的一个用户 student_user1,并与登录账号 stu_login相关联。
(2)设置该用户 student_user1拥有的权限:只能建立该数据库中的视图,只能
24
查询该数据库中的所有表和视图的内容。
略 …… . (学生自己完成)
10.6练习题
1.创建一个验证模式为“ SQL Server身份验证”的登录账号 goods_login,默认 数据库为 goods 。
2.创建客户订货管理数据库 goods 的一个用户 goods_user1,并与登录账号 goods_login相关联;设置该用户的拥有权限:只能更新和查询该数据库中的表的内 容。
3.创建一个验证模式为“ SQL Server身份验证”的登录账号 books_login,默认 数据库为 books 。
4.创建图书管理数据库 books 的一个用户 books_user1,并与登录账号 books_login相关联;设置该用户的拥有权限:只能建立该数据库中的视图,只能查 询该数据库中的表和视图的内容。
25
范文二:数据库安全管理规范
人力资源社会保障数据中心
数据库安全管理规范(试行)
(征求意见稿)
第一章 总则
第一条 【目的】为保障人力资源社会保障应用系统数据库(以下简称数据库)安全,保障数据的保密性、完整性、可用性,规范操作和管理行为,降低数据安全风险,实现人力资源社会保障数据中心安全管理,制定本规范。
第二条 【适用范围】本规范适用于各级人力资源社会保障非涉密应用系统的数据库管理,涉密应用系统的数据库应按照国家保密部门的相关规定和标准进行管理。
第三条 【定义】本规范所称的数据库,是指人力资源社会保障应用系统处理和服务所依托的集中存储数据的各类数据库系统(含与数据库、数据仓库相关的,以数据库之外形式保管的数据)。
第四条 【原则】数据库的安全管理和技术保障措施,应与支撑其安全稳定运行的应用系统安全保护等级相对应。
第二章 岗位职责
第五条 【负责单位】人力资源社会保障信息化综合管理机构(以下简称信息部门)负责应用系统数据库的安全管理,保证?—1—
数据库安全稳定运行。
第六条 【岗位设置】数据库安全运行维护管理岗位包括数据库管理员、数据库安全员和数据库审计员,由信息部门人员承担。
第七条 【权责分离】数据库管理员不得同时兼任其他两岗。核心应用系统的数据库安全员应配备专职人员,与其他两岗分离。核心应用系统的数据库管理员和数据库审计员均应分别由多人共同管理1。
第八条 【数据库管理员职责】数据库管理员负责数据库配置、账户、监控、备份、日志等数据库全生命周期的运行维护管理,主要职责包括:
(一)配置管理:负责数据库的安装(升级、卸载)、服务启停、数据空间管理、数据迁移、版本控制,通过对数据库进行合理配置、测试、调整,最大限度发挥数据库资源优势。
(二)账户管理:建立、删除、修改数据库账户。在数据库安全员授权下,对数据库的账户及其口令进行变更。
(三)运行监控:定期监测数据库运行状况,及时处理解决运行过程中的问题,负责数据库调优,定期编制数据库运行报告。
(四)数据备份管理:定期对数据进行备份和恢复测试。
(五)日志管理:负责数据库日志的设置、检查和分析(如数据库故障事件记录情况、数据库资源增长超限情况、违规使用1《信息安全技术?信息系统安全等级保护基本要求》(GB/T?22239‐2008?7.2.2.2):人员配备:a) ?应配备一定数量的系统管理员、网络管理员、安全管理员等;b) ?应配备专职安全管理员,不可兼任;c) ?关键事务岗位应配备多人共同管理。?
?—2—
应用系统账户、大量数据库登录失败、大量无效SQL 语句等)。及时向数据库安全员报告潜在的安全事件和问题。
(六)配合应用系统管理员和网络管理员的日常工作。
第九条 【数据库安全员职责】数据库安全员负责制定数据库安全策略,进行日常安全巡查、日志分析和权限管理,主要职责包括:
(一)日常安全检查:定期查看数据库配置,检查数据库常见的安全问题,如账户权限过大、口令过旧等,并将安全问题提交相关部门和人员落实,负责检查处理结果。
(二)设置安全策略:设置IP、时间、应用等访问权限,确定敏感数据和数据访问策略(如使用默认账户、使用默认口令、数据库对象可被所有账户访问等)。
(三)账户授权:对数据库管理员创建的数据库账户,进行访问授权。
(四)日志分析:对数据库相关安全审计功能或系统进行日志设置、检查和分析,负责检查分析违规安全事件和行为。
(五)安全培训:组织数据库的安全培训。 2
第十条 【数据库审计员职责】数据库审计员负责对数据库管理员、数据库安全员的操作行为进行审计、跟踪、分析和监督检查,及时发现违规行为和异常行为,进行数据库日志和审计日志分析、安全事件的分析和取证。主要职责包括: 2?账户、帐户在国标中均有使用,此处使用账户。账户在《信息安全技术?数据库管理系统安全技术要求》(GB/T?20273‐2006)中有使用;帐户在《信息安全技术?信息系统安全等级保护基本要求》(GB/T?22239‐2008)中有使用。?
?—3—
(一)变更审核:对数据库管理员、数据库安全员制定和更改数据库的安全策略、账户权限以及参数设置等进行审核和监督,定期检查操作记录。
(二)日志审计:对数据库管理员、数据库安全员的认证登录审计(包括登录时间、登录失败次数、登录的IP 地址等),对数据库的关键配置变更审计(包括增/删账户和授权,数据库的删除、复制、卸载,数据库存储过程、触发器等对象的增加、编辑和删除等)并定期(如1个月)形成安全审计报告。
(三)日志管理:对审计后的日志进行定期清除或移出。 第十一条 【保密要求】数据库管理员、数据库安全员、数据库审计员应签署保密协议。
第三章 数据库运行维护管理
第十二条 【安全防护机制】建立和充分运用符合数据库保护等级要求的身份鉴别、访问控制、数据保护、安全审计等安全防护机制。采用满足业务需求的最小安装配置和最细粒度的安全控制策略。
第十三条 【日常巡检】应每天或每周对数据库运行状态进行日常巡检。巡检的主要内容包括:
(一)检查数据库网络连通与否,查看监听器(listener)状态、数据库连接池使用情况等;检查数据库实例状态以及所有与数据库相关的后台进程是否正常、日志记录是否正常、告警文件有无异常;检查存储空间的使用情况,重点关注使用量增长较?—4—
快的表空间情况,如果剩余的存储空间不足一定比例,需要清理不用的文件或扩充存储空间;检查数据备份是否正常;检查数据库日志是否正常、完备。
(二)日常巡检中发现的问题要及时处理,重大问题要及时报告。
(三)建立数据库运行维护监控系统,提供自动巡检、情况记录、问题报警等功能,实现部分或全部的数据库日常巡检工作。
第十四条 【定期维护】按月或季度对数据库配置进行可用性、可靠性、安全性和性能方面的检查和策略调整。主要内容包括:
(一)收集数据库的性能统计数据,分析数据库运行资源消耗的趋势,并视情况进行改善。
(二)检查数据存储空间碎片情况,必要时加以调整。
(三)检查数据库日常巡检工作的执行情况并及时纠正,如:账户、数据存储空间增删改的记录是否齐全,备份记录、维护记录是否齐全等。
第十五条 【访问要求】严格控制操作和访问数据库的路径,访问控制要求如下3:
(一)正常的业务操作和数据维护,只能通过应用系统访问数据库。
(二)数据库管理员、数据库安全员、数据库审计员连接数3《信息安全技术?信息系统安全等级保护基本要求》(GB/T?22239‐2008?7.2.3.5)三级‐‐‐外部人员访问管理:“a) ?应确保在外部人员访问受控区域前先提出书面申请,批准后由专人全程陪同或监督,并登记备案;?b) ?对外部人员允许访问的区域、系统、设备、信息等内容应进行书面的规定,并按照规定执行。”??—5—
据库的专用终端,应限制数量,并集中部署在安全区域,便于访问控制和审计。
(三)对可能从内部网络向外发起的连接资源(如调制解调器拨号接入互联网)实施严格控制,授权使用。严禁利用磁盘阵列或小型机提供的远程(拨号)方式进行非现场故障诊断和修复操作。
第十六条 【补丁升级】数据库补丁升级要求如下4:
(一)跟踪数据库厂商发布的数据库补丁情况。安全漏洞补丁应及时安装,非安全类补丁可在应用系统升级时统筹考虑。
(二)在数据库补丁安装、版本升级、配置变更前应做好数据备份和应急预案,并会同应用系统管理员评估风险,确定无风险后方可实施操作。
(三)数据库重大变更调整前,应先在测试环境下测试应用系统有效性,无问题后方可实施操作。
第十七条 【变更管理】数据库正式启用后,严禁随意变更修改系统配置,如确需变更,必须制定完备的操作方案、回退计划,进行充分的风险评估,并经审批通过后,方可实施。
第十八条 【禁止开库】严禁通过后台语句直接对数据库进行数据的增、删、查、改等操作。对于不符合正常业务规则的特4《信息安全技术?信息系统安全等级保护基本要求》(GB/T?22239‐2008?7.2.5.6)三级‐‐‐网络安全管理:“a) ?应指定专人对网络进行管理,负责运行日志、网络监控记录的日常维护和报警信息分析和处理工作;?b) ?应建立网络安全管理制度,对网络安全配置、日志保存时间、安全策略、升级与打补丁、口令更新周期等方面作出规定;?c) ?应根据厂家提供的软件升级版本对网络设备进行更新,并在更新前对现有的重要文件进行备份;?d) ?应定期对网络系统进行漏洞扫描,对发现的网络系统安全漏洞进行及时的修补;?e) ?应实现设备的最小服务配置,并对配置文件进行定期离线备份;?f) ?应保证所有与外部系统的连接均得到授权和批准;g) ?应依据安全策略允许或者拒绝便携式和移动式设备的网络接入;?h) ?应定期检查违反规定拨号上网或其他违反网络安全策略的行为。”?
?—6—
殊数据维护,确需直接访问数据库的,业务部门提出申请,信息部门受理,数据库安全员组织进行充分的风险评估,经领导审批后,由数据库管理员操作,并对处理过程形成工作记录。
第十九条 【做好工作记录】数据库的安全策略和措施、使用和维护情况应有书面记载,并可供检查。数据库管理员应在数据库安装、启动、升级、配置变更、日常巡检、故障处理、账户管理、备份恢复等运行维护工作中做好工作记录,包括操作时间、人员、事件内容、配置参数调整信息等。
第二十条 【资产管理5】对数据库软件、文档和许可证进行登记(包括软件的名称和版本、许可证类型和数量、介质的编号和数量、软件安装序列号、资料名称和数量等),并设专人保管。软件和资料的借用应有审批和借还登记手续。
第二十一条 【日志管理】数据库日志包括警报日志、跟踪日志、重做日志(在线重做日志和归档重做日志)。日志管理工作包括:
(一)合理分配日志存储空间。
(二)保持数据库日志功能的常态开启。当大批量数据导入等特殊操作需临时关闭归档重做日志功能的,经批准后方可操5《信息安全技术?信息系统安全等级保护基本要求》(GB/T?22239‐2008?7.2.5.3)三级‐‐‐介质管理:“a) ?应建立介质安全管理制度,对介质的存放环境、使用、维护和销毁等方面作出规定;?b) ?应确保介质存放在安全的环境中,对各类介质进行控制和保护,并实行存储环境专人管理;?c) ?应对介质在物理传输过程中的人员选择、打包、交付等情况进行控制,对介质归档和查询等进行登记记录,并根据存档介质的目录清单定期盘点;?d) ?应对存储介质的使用过程、送出维修以及销毁等进行严格的管理,对带出工作环境的存储介质进行内容加密和监控管理,对送出维修或销毁的介质应首先清除介质中的敏感数据,对保密性较高的存储介质未经批准不得自行销毁;e) ?应根据数据备份的需要对某些介质实行异地存储,存储地的环境要求和管理方法应与本地相同;?f) ?应对重要介质中的数据和软件采取加密存储,并根据所承载数据和软件的重要程度对介质进行分类和标识管理。”?
?—7—
作,并在相关工作完成后,立即恢复归档重做日志功能。
(三)审计后的日志,在保留半年后可清除或移出。
(四)应对数据库日志访问权限做出控制,只有数据库管理员账户和数据库审计员账户可访问日志信息。
第二十二条 【审计管理】应定期基于数据库日志和审计日志进行数据库审计管理6,要求如下:
(一)定期对数据库的访问、操作、警告、错误等各类情况进行审计,并基于审计结果发布审计报告。
(二)审计发现的重大问题要及时向信息部门领导报告,同时按照事件处理流程执行。
(三)审计出的各类问题由数据库管理员负责修改完善,问题的修改应限期完成,由数据库审计员核实修改情况。
(四)可建立数据库安全审计系统,实现对数据库系统关键业务操作和违规数据操作的审计和记录,记录安全侵害事件的日期、时间、用户、类型、是否成功等信息,提供安全审计分析工具对数据库安全情况进行审计。
第二十三条 【第三方要求】对于排查故障等特殊情况确需信息技术服务商(以下简称第三方)操作数据库的,数据库管理员应全程陪同,并对第三方操作情况进行记录。
第二十四条 【主机要求】应提供保障数据库安全的主机6?《信息安全技术?数据库管理系统安全技术要求》(GB/T?20273‐2006?4.6):数据库管理系统的安全审计应:“a) ??建立独立的安全审计系统;?b) ??定义与数据库安全相关的审计事件;?c) ??设置专门的安全审计员;d) ??设置专门用于存储数据库系统审计数据的安全审计库;?e) ??提供适用于数据库系统的安全审计设置、分析和查阅的工具。”?
?—8—
环境,禁止安装与数据库无关的工具软件。
第二十五条 【应急预案7】根据应急程度分别拟定对应的应急预案或子预案,应包括启动预案条件、应急处理流程、系统恢复流程,应急培训等内容。
第二十六条 【事件处理流程8】按照事件对系统的影响程度,对系统事件的等级进行划分,配套相应的事件处理流程。应区分日常事件处理流程、重大事件处理流程。
第四章 账户和口令管理
第二十七条 【账户类型9】数据库账户包括如下类型:数据库管理账户、应用系统账户、临时账户。
(一)数据库管理账户:包括数据库管理员账户、数据库安全员账户、数据库审计员账户。
(二)应用系统账户:供应用系统访问数据库使用,按照应用系统的需要,具有相应数据增、删、查、改中的一个或多个功7《信息安全技术?信息系统安全等级保护基本要求》(GB/T?22239‐2008?7.2.5.13)三级‐‐‐应急预案管理:“a) ?应在统一的应急预案框架下制定不同事件的应急预案,应急预案框架应包括启动应急预案的条件、应急处理流程、系统恢复流程、事后教育和培训等内容;?b) ?应从人力、设备、技术和财务等方面确保应急预案的执行有足够的资源保障;?c) ?应对系统相关的人员进行应急预案培训,应急预案的培训应至少每年举办一次;?d) ?应定期对应急预案进行演练,根据不同的应急恢复内容,确定演练的周期;?e) ?应规定应急预案需要定期审查和根据实际情况更新的内容,并按照执行。”?
8《信息安全技术?信息系统安全等级保护基本要求》(GB/T?22239‐2008?7.2.5.12)三级‐‐‐安全事件处置:“a) ?应报告所发现的安全弱点和可疑事件,但任何情况下用户均不应尝试验证弱点;b) ?应制定安全事件报告和处置管理制度,明确安全事件的类型,规定安全事件的现场处理、事件报告和后期恢复的管理职责;?c) ?应根据国家相关管理部门对计算机安全事件等级划分方法和安全事件对本系统产生的影响,对本系统计算机安全事件进行等级划分;?d) ?应制定安全事件报告和响应处理程序,确定事件的报告流程,响应和处置的范围、程度,以及处理方法等;?e) ?应在安全事件报告和响应处理过程中,分析和鉴定事件产生的原因,收集证据,记录处理过程,总结经验教训,制定防止再次发生的补救措施,过程形成的所有文件和记录均应妥善保存;?f) ?对造成系统中断和造成信息泄密的安全事件应采用不同的处理程序和报告程序。”?9《信息安全技术?信息系统安全等级保护基本要求》(GB/T?22239‐2008?7.1.3.2)三级‐‐‐访问控制:“a) ?应启用访问控制功能,依据安全策略控制用户对资源的访问;?b) ?应根据管理用户的角色分配权限,实现管理用户的权限分离,仅授予管理用户所需的最小权限;?c) ?应实现操作系统和数据库系统特权用户的权限分离;d) ?应严格限制默认帐户的访问权限,重命名系统默认帐户,修改这些帐户的默认口令;?e) ?应及时删除多余的、过期的帐户,避免共享帐户的存在。?f) ?应对重要信息资源设置敏感标记;?g) ?应依据安全策略严格控制用户对有敏感标记重要信息资源的操作。”?
?—9—
能。应用系统账户仅可通过应用系统经由应用服务器进行DML 和DDL 操作;应用系统账户不能通过第三方数据库工具连接数据库。
(三)临时账户:用于短期内第三方人员对数据库维护的访问。临时账户须说明访问时间、访问者IP、要访问的数据、需要的DML 权限,由数据库安全员进行审核后授权,过期自动失效。每个临时账户操作完毕后,数据库安全员须对临时账户本次操作出具审计报告,以确保临时账户操作合规。禁止临时账户执行DDL,确实需要的,由数据库管理员负责执行。
第二十八条 【账户管理】数据库账户管理要求如下:
(一)数据库账户及其权限应依据最小授权原则进行设置,不同用途的账户应分设,并应对授权的再次传播进行控制。
(二)每个连接到数据库中进行操作的个人或应用系统都必须有独立的数据库账户,确保数据库操作的可追溯性。
(三)不同的数据库管理员依职责对不同的表数据进行权限划分,互相不能操作。
(四)数据库账户应具有唯一性,禁止不同的数据库使用相同的账户与口令,禁止生产库和测试库使用同一组账户与口令。
(五)上线应用系统不得使用数据库默认账户,应把默认账户设定为口令到期和被锁定。封锁宿主机操作系统对数据库账户的直接访问权限。
(六)在日常巡检中及时删除多余、过期的账户,及时清理?—10—
权限过大的账户10。
(七)应对数据库账户授权分配情况进行书面记录。
(八)应开启数据库审计功能,记录账户操作情况,粒度应记录到应用系统用户、数据库账户、操作时间和事项等。
第二十九条 【口令管理11】数据库账户的口令管理要求如下:
(一)数据库账户口令应为无意义的字符组,长度至少为十位,并且包含大写字符、小写字符、数字和特殊符号。
(二)数据库账户口令应以纸质方式保存,密封存放在安全区域。严禁将数据库账户口令记录在计算机、手机等各类电子设备中,严禁泄露数据库账户口令。
(三)数据库账户口令应定期修改。数据库管理账户口令最长使用时间不能超过半年,应用系统账户口令最长使用时间不能超过一年。在应用系统遭到入侵、管理员轮换、口令泄露及其他可能威胁账户口令安全的情况下,应立即修改账户口令。
(四)应定义数据库账户口令尝试次数和尝试失败后采取的措施,并对数据库登录失败进行记录和定期审计。 10《信息安全技术?信息系统安全等级保护基本要求》(GB/T?22239‐2008?5.1.3.2):“应限制默认帐户的访问权限,重命名系统默认帐户,修改这些帐户的默认口令;应及时删除多余的、过期的帐户,避免共享帐户的存在。”?
11《信息安全技术?信息系统安全等级保护基本要求》(GB/T?22239‐2008?7.1.3.1)三级‐‐‐身份鉴别:“a) ?应对登录操作系统和数据库系统的用户进行身份标识和鉴别;?b) ?操作系统和数据库系统管理用户身份标识应具有不易被冒用的特点,口令应有复杂度要求并定期更换;?c) ?应启用登录失败处理功能,可采取结束会话、限制非法登录次数和自动退出等措施;?d) ?当对服务器进行远程管理时,应采取必要措施,防止鉴别信息在网络传输过程中被窃听;?e) ?应为操作系统和数据库系统的不同用户分配不同的用户名,确保用户名具有唯一性。?f) ?应采用两种或两种以上组合的鉴别技术对管理用户进行身份鉴别。”?
12《信息安全技术?数据库管理系统安全技术要求》(GB/T?20273‐2006?5.1.1.1):“通过对不成功的鉴别尝试的值(包括尝试次数和时间的阈值)进行预先定义,并明确规定达到该值时应采取的措施来实现鉴别失败的处理”。?
?12—11—
(五)数据库账户及口令不得与宿主机操作系统的账户及口令相同。
第三十条 【人员变动】数据库管理员、数据库安全员、数据库审计员因工作调整或长期离岗时,应及时注销账户或更换账户口令,并做好相关变动记录13。
第五章 数据保管和交换管理
第三十一条 【定义】应纳入保管的数据有:应用数据(如业务信息、应用系统访问账户信息)、系统数据(如数据字典、存储过程、配置信息)、安全数据(如应用系统日志、数据库日志)。既包括在数据库中存储的结构化数据,也包括在磁盘上直接存储的非结构化数据。
第三十二条 【原则】数据保管应遵循保密、完整、安全的原则。
(一)应对数据库、磁盘、备份介质、临时存储介质中的数据加以保护,防止未授权的使用、篡改、增加或破坏。
(二)数据保管的软硬件环境、存储载体等发生变化时,应及时对数据进行迁移、转换,并保留原有数据备查。
(三)进行数据加工、分析等操作时,仍应保持数据的安全属性。
第三十三条 【保密要求14】应建立数据保密机制,确保数13《信息安全技术?信息系统安全等级保护基本要求》(GB/T?22239‐2008?7.2.3.1)三级‐‐‐人员录用:“a) ?应指定或授权专门的部门或人员负责人员录用;b) ?应严格规范人员录用过程,对被录用人的身份、背景、专业资格和资质等进行审查,对其所具有的技术技能进行考核;c) ?应签署保密协议;d) ?应从内部人员中选拔从事关键岗位的人员,并签署岗位安全协议。”?
14《信息安全技术?信息系统安全等级保护基本要求》(GB/T?22239‐2008?7.1.5.2)三级‐‐‐数据保密性:“a) ??—12—
据在传输、存储、使用过程中的保密性。
(一)对在人力资源社会保障业务工作中获知的公民个人和用人单位电子信息必须严格保密,不得泄露、篡改、毁损,不得出售或者非法向他人提供。对于违规操作导致数据泄露、篡改、毁损的,依法追究当事人责任。
(二)信息部门不得委托第三方单独负责数据库维护工作。第三方及其工作人员协助维护的,应签订保密协议。
(三)应用系统中需保密的特殊人群信息加密存储,并不与其他应用系统、外部系统进行共享与交换。
(四)在数据库中存储的应用系统访问账户口令、密钥、鉴别信息,应加密存储。
(五)因应用系统测试需要基于真实数据准备测试数据的,应做脱敏处理,隐去可识别个体的信息(姓名、公民身份号码、电话、单位名称、组织机构代码等)和其他敏感数据。
(六)运行在互联网、自助服务设施上提供公共服务的应用系统,对外查询内容应保护个人隐私信息,并根据数字证书、用户名口令等不同安全强度的用户身份鉴别措施,分级设定对外服务内容。
第三十四条 【数据敏感性】定义敏感数据,并对敏感数据进行加密保护,确保敏感数据不以明文方式存储在磁盘、备份介质和导出文件里。
?应采用加密或其他有效措施实现系统管理数据、鉴别信息和重要业务数据传输保密性;?b) ?应采用加密或其他保护措施实现系统管理数据、鉴别信息和重要业务数据存储保密性。”?
?—13—
第三十五条 【访问交换原则】数据的访问和交换应遵循“知所必需、用所必需、共享必需、公开必需、互联互通必需”的原则。
第三十六条 【内部共享】内部共享数据管理要求如下:
(一)人力资源社会保障部门内部的各应用系统使用或交换数据须先提出申请,由信息部门、数据归口部门均审批通过后,信息部门提供技术方案给予实现。
(二)人力资源社会保障系统内上下级、同级间的数据传输,应通过业务专网完成。
(三)各应用系统间须进行相互授权后,方可进行数据交换,未通过有效身份验证的应用系统不得访问数据库。
(四)各类数据交换应进行详细的工作记录。
(五)重要数据在网络传输时,应尽量避免从高等级安全域向低等级安全域交换。如无法避免,应经过审核、论证并提供必要的安全保护机制,以规避安全风险。
第三十七条 【外部交换】外部交换数据管理要求如下:
(一)外部系统使用或交换数据须先提出申请,明确数据项目、使用用途和期限后,待本级人力资源社会保障部门同意,并
15报上级人力资源社会保障部门批准后方可提供。 15《关于进一步加强劳动保障数据安全管理的通知》(劳社厅发〔2006〕31号):“严格实行业务数据归口管理。各地对于涉及劳动保障方面的数据信息,要实行业务数据归口管理。凡涉及到用人单位和个人的原始数据,要严格执行《保密法》和《统计法》等有关法律法规的规定,确保数据安全和有序管理。各地政府部门因工作需要,要求从金保工程数据库中提取有关数据时,须经同级劳动保障部门同意,并报上级劳动保障部门批准后方可提供。国家有关部门如需使用劳动保障相关数据,需商我部同意,共同安排部署,各地不得自行提供。”?
?—14—
(二)与外部系统的数据交换,可采用联机或脱机的方式。联机方式不得通过互联网直接传输,须经有效身份验证的前置设备进行交换;脱机方式可通过数据光盘的方式进行交换。
(三)脱机方式下的交换数据须进行加密处理,对称密钥加密的密钥长度至少达到128位,非对称密钥加密的密钥长度至少达到1024位,所用密码技术产品和算法应经国家密码管理主管部门批准,不得用数据压缩技术(如winzip 等)代替数据加密。
(四)各类数据交换应进行详细的工作记录。
第三十八条 【临时介质管理】临时存放数据的存储介质,不得带离工作场所,用完后须及时清除数据。
第六章 数据备份与恢复管理
第三十九条 【灾备建设】统筹建设灾难备份系统,完善相应工作机制,制定灾难恢复预案,定期进行灾难恢复演练,确保数据安全和核心应用系统连续运行。
第四十条 【要求】建立数据备份机制,设置数据备份专人专岗,加强对各类数据存储和备份的管理,保障应用系统的正常运行,保存完整的历史数据。
第四十一条 【备份方式】数据备份可采用在线存储与脱机介质两种形式进行,也可同时使用两种方式。
第四十二条 【备份策略16】视应用系统的特性和安全保护16《信息安全技术?信息系统安全等级保护基本要求》(GB/T?22239‐2008?7.1.5.3)三级‐‐‐备份和恢复:“a) ?应提供本地数据备份与恢复功能,完全数据备份至少每天一次,备份介质场外存放;?b) ?应提供异地数据备份功能,利用通信网络将关键数据定时批量传送至备用场地;?c) ?应采用冗余技术设计网络拓扑结构,避免关键节点存在单点故障;d) ?应提供主要网络设备、通信线路和数据处理系统的硬件冗余,保证系统的高可用性。”?
?—15—
等级,设置合理的备份周期和备份策略,要求如下:
(一)在数据库补丁安装、版本升级、配置变更或数据有较大变动前,应先行备份。
(二)核心应用系统要实现数据每日增量、每周全量备份,建立异地应用级灾备系统,备份介质异地存放;其他应用系统的数据可每周或每月进行备份。
(三)数据备份应不影响业务,或在不影响业务的时间段内进行。
第四十三条 【备份文件管理17】备份文件应按照一定的规则编目存放和管理,要求如下:
(一)备份文件应存放在非本机磁盘的其他介质中,备份文件存储介质放置地点应防盗、防火、防潮、防尘、防磁,保证温度、湿度在规定范围内。
(二)备份文件存储介质要严格管理、严格保密,不得外借,备份介质应能防止信息拷贝泄露。
(三)备份数据应严格保证其真实性、完整性,不得更改。备份数据出现异常必须立即向领导汇报。
(四)废弃的备份文件存储介质应在删除数据后及时销毁。 第四十四条 【恢复策略】定期进行备份数据的恢复演练,17《信息安全技术?信息系统安全等级保护基本要求》(GB/T?22239‐2008?7.2.5.11)三级‐‐‐备份与恢复管理:“a) ?应识别需要定期备份的重要业务信息、系统数据及软件系统等;b) ?应建立备份与恢复管理相关的安全管理制度,对备份信息的备份方式、备份频度、存储介质和保存期等进行规范;?c) ?应根据数据的重要性和数据对系统运行的影响,制定数据的备份策略和恢复策略,备份策略须指明备份数据的放置场所、文件命名规则、介质替换频率和将数据离站运输的方法;?d) ?应建立控制数据备份和恢复过程的程序,对备份过程进行记录,所有文件和记录应妥善保存;?e) ?应定期执行恢复程序,检查和测试备份介质的有效性,确保可以在恢复程序规定的时间内完成备份的恢复。”?
?—16—
确保所备份数据的完整性和可用性。每年进行一次重要应用系统的数据恢复测试。根据恢复过程中发现的问题,及时调整备份策略。
第七章 附 则
第四十五条 数据库相关的应用系统安全管理按照《人力资源社会保障数据中心应用系统安全管理规范(试行)》执行。
第四十六条 各级人力资源社会保障部门可依照本规范制定具体的实施办法。
第四十七条 本规范由人力资源社会保障部信息化领导小组办公室负责解释。本规范自发布之日起施行。
?—17—
范文三:数据库安全管理
数据库安全管理
北大青鸟昌平培训中心
数据库安全管理
Benet3.0
班级
姓名
数据库安全管理
第一章 数据库安全管理
一、选择题
1、你管理一台SQL Server 2005 数据库服务器,需要配置安全以授予用户适当的访问权限,下列( )数据库角色具有创建表的权限。(选择二项)
A) db_accessadmin B) db_datawrite
C) db_ddladmin D) db_owner
2、公司网络采用单域结构进行管理,域中有一台数据库服务器,为存贮公司数据,建立了名为information的数据库。数据库管理员创建了一个名为sql_user1的登录,并将其加入固定服务器角色:serveradmin,则该用户可以进行()操作。(选择一项) A) 创建、更改和除去数据库
B) 设置服务器范围的配置选项,关闭服务器
C) 在SQL Server中执行任何活动
D) 管理登录和Create Database权限,还可以读取错误日志和更改密码 3、公司网络采用单域结构进行管理,域中有一台数据库服务器,为存贮公司数据,建立了名为information的数据库。数据库管理员创建了一个名为sql_user1的登录,并将其加入固定数据库角色:db_accessadmin,则该用户可以进行()操作。(选择一项) A) 数据库中全部权限
B) 管理全部权限、对象所有权、角色和角色成员资格
C) 添加或删除用户ID
D) 发出 ALL DDL,但不能发出 GRANT、REVOKE 或 DENY 语句
4、小王利用SQL Server 2005的企业管理 器新建一个名为benet的登录,并设置该登录的默认数据库为benet。此外没有进行其它设置。但他在查询分析器中使用该登录帐户进行连接却失败了,请分析可能的原因及解决方案是( )。(选择二项)
a) 数据库benet中没有登录名benet的用户,即该登录不能访问benet数据库
b) 必须指定该登录的服务器角色才能连接到benet数据库
c) 应在数据库benet的pubilc角色中添加benet用户
d) 应在数据库benet中添加用户并选择登录名benet或在该登录的属性中许可其访
问benet数据库
数据库安全管理
5、 SQL Server 2005数据库服务器的身份验证模式为Windows身份验证模式,管理员在该服务器上创建了一个SQL登录帐户SQLadmin并将其添加到固定服务器角色sysadmin中,则以下说法正确的是( )。(选择二项)
a)由于固定服务器角色sysadmin能在SQL Server中执行任何活动,因此能通过SQLadmin登录到服务器并执行任何活动
b)由于SQLadmin是SQL帐户,而当前身份验证模式为Windows身份验证模式,因此不能通过SQLadmin登录到服务器
c)无论服务器采取哪种身份验证模式,只要在连接到服务器时选择SQL Server身份验证并输入正确的登录名和密码即可成功登录
d)此时可以通过SQLadmin登录到服务器,但不能创建数据库
e)此时无论将SQLadmin添加到哪个服务器角色中,都无法通过其登录到服务器
6、 小王在成功安装SQL Server 2005数据库服务器后,启动SQL Server Management Studio
工具时,出现“连接到服务器”对话框如下图所示,他发现用户名和密码都是灰色不可用状态,请问原因是()。(选择一项)
A)服务器的身份验证模式设置成了混合模式
B)服务器的身份验证模式设置成了Windows身份验证模式
C)在图中的“身份验证”选项中选择了Windows身份验证
D)当前的Windows帐户没有登录数据库服务器的权限
二、 简答题
1、登录帐户和数据库用户的作用是什么,
2、SQL Server 2005服务器的两种身份验证模式有什么区别,
3、请说出你是如何理解角色的,服务器角色有哪些,作用是什么, 4、由于安全级别的需要,benet公司需要对tarrifsmall数据库采用c2级别的审核,并查看审核结果(请给出审核结果截图),
5、以书中的1.5.7节的内容为例,在姓名字段中再增加两个用户bob和alice。要求加密后存入数据库,解密后读出数据库(要求:给出加密存入数据库的sql语句和解密读出数据库的sql语句),
6、如何查看sqlserver当前打补丁的具体情况,
7、如果希望创建一个用户,要求他只能创建表,而不能查看其他的表。如果加入sysadmin,权限又过大了 ,其他角色或者给了create_table都无济于事,原因是什么,
三、扩展部分
数据库安全管理 1、利用扫描软件xscan扫描sa密码,验证windows模式和混合模式的安全性。 2、搭建图书馆系统,利用sqlserver2005做后台数据库,实现借书还书。 参考资料:ftp://192.168.2.202:1388/Software/Benet3.0-S2/s2B/
第二章:t-sql高级查询
一、选择题
1、
如图表cia,如果显示每个地区的总人口和总面积,仅显示那些面积超过5000000的地区,下列语句正确的是()
a、 select 地区,sum(人口),sum(面积)
from cia
group by 地区
having sum(面积)>5000000
b、 select 地区,sum(人口),sum(面积)
from cia
group by 地区
where sum(面积)>5000000
c、 select 地区,sum(人口),sum(面积)
from cia
where sum(面积)>5000000
d、 select 地区,sum(人口),sum(面积)
from cia
group by 地区
having 面积>5000000
2、执行SQL语句:SELECT * from Item as a left outer join orderdetails as b on
a.icode=b.itemcode将返回( )。
A、item 表和orderdetails表中的相关记录以及orderdetails表中其余的不相关记录 B、item 表和orderdetails表中的相关记录
C、item 表和orderdetails表中的相关记录以及item表中其余的不相关记录 3、使用group by子句可以给结果集分组并为每一组值生成一个聚合值,聚合值可用( )等聚合函数生成。
数据库安全管理
A、count
B、max
C、avg
D、dateadd
4、下列的函数中是日期和时间函数的有( )。
a) round
b) getdate
c) len
d) year
e) month
f) day
5、使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当( )。
使用WHERE子句 a)
在GROUP BY后面使用HAVING 子句 b)
先使用WHERE子句,再使用HAVING 子句。 c)
先使用HAVING 子句,再使用WHERE子句 d)
6、公司有一个客户的数据表,此表的建立语句如下: CREATE TABLE Customers
(CustomerID int NOT NULL,
CustomerName varchar(50) NOT NULL,
ContactName varchar(30) NULL,
Phone varchar(20) NULL,
Country varchar(30) NOT NULL,
CONSTRAINT PK_Customers PRIMARY KEY(CustomerID) )
大部分的国家或地区只包含2-3个客户,而一些国家包括多于20个客户。现在公司想对客户
数量在10(含10)个以上的国家进行广告宣传,你使用( )语句将这些国家列出。(选择一
项)
A、SELECT Country FROM Customers
GROUP BY Country HAVING COUNT (Country)>=10 B、SELECT TOP 10 Country FROM Customers
数据库安全管理
C、SELECT TOP 10 Country FROM Customers
FROM (SELECT DISTINCT Country FROM Customers) AS X GROUP BY Country HAVING COUNT(*)>= 10
SET ROWCOUNT 10
d、SELECT Country, COUNT (*) as “NumCountries”
FROM Customers
GROUP BY Country ORDER BY NumCountries, Desc
二、简答题:
1、全国国有大中型企业统计表CompanyInfo如表所示:
企业名称 所在省市
中国银行 北京
宝钢 上海
中国石油 北京
中国远洋渔业集团 北京
第一汽车制造厂 长春
? ?
统计国有大中型企业总数的语句为()
2、全国国有大中型企业统计表CompanyInfo如表所示: 企业编码 企业名称 所在省市 0001 中国银行 北京 0002 宝钢 上海 0003 中国石油 北京 0004 中国远洋渔业集团 北京 0005 第一汽车制造厂 长春 0006 招商局 上海 ? ? ? 显示各省市名称及拥有国有大中型企业的数目,并按国有大中型企业数目由高到低的顺序排
列的语句为( )。
3、某学校学生选课表selectclass如表1所示:
姓名 课程编号
1 李辉
3 张明
4 李辉
2 李淑华
4 张明
4 赵虹
? ?
表1
课程编号表classnumber如表2所示:
课程编号 课程名称
数据库安全管理 1 C语言编程
2 数据库理论
3 Linux应用
4 网络管理
? ?
表2
安排课程的老师希望查看选修人数大于20人的课程名称,实现的语句为( )。
4、请说出分组查询的作用是什么,并解释下列语句的作用。
Select 学员姓名
From 考试成绩表
Group by学员姓名
Having min (成绩)>80
5、在tariffsmall数据库中进行查询,要求查询个人用户13201305576的已缴费账单记录,并写出相应的语句,
6、在tariffsmall数据库中查询个人用户13201305576从8月4日到8月15日的通话记录详单,并写出相应的语句。
7、在tariffsmall数据库中查询系统的所有欠费用户号码的数量和欠费的累计费用,并写出相应的语句
8、在tariffsmall数据库中进行历史账单查询,查询个人用户13201305576在2008年1月的账单数据(要求显示开始和结束通话的时间以及通话类型),要求写出相应的sql语句。 三、 扩展知识:
1、 子查询:
某超市使用SQL Server 2000作为库存管理的数据库服务器,在库存数据库中有两张表分别是产品表Products和产品分类表Categories,这两张表的关系如下图所示:
现在公司的销售主管为了调整销售策略,想得到一张对现有商品的统计表,在表中要求列出所有超过同类别商品平均价格的商品名称、单价以及其类别编号。请写出为了完成这一任务所要使用的SQL语句。
方法一(使用子查询)
SELECT ProductName, UnitPrice, CategoryID FROM Products p1
WHERE UnitPrice > (SELECT AVG(UnitPrice)
数据库安全管理
FROM Products p2
WHERE p2.CategoryID = p1.CategoryID ) 方法二(使用连接)
SELECT p2.ProductName, p2.UnitPrice, p2.CategoryID
FROM Products p1 INNER JOIN Products p2
ON p1.CategoryID=p2.CategoryID
GROUP BY p2.ProductName, p2.UnitPrice, p2.CategoryID
HAVING p2.UnitPrice > AVG (p1.UnitPrice)
2、
如图表cia,查询每个地区的国家和人口总数,并且按照地区的人口数从多到少排序,只列出符合条件的前两行,
3、常用函数,
参考资料:ftp://192.168.2.202:1388/Software/Benet3.0-S2/s2B/
第三章:sql查询优化
一、选择题:
1、你是某电子商务公司的数据库管理员,负责维护公司网络中一台运行SQL Server 2000的服务器。该服务器的SiteInfo数据库中有一张名为WebHits的表,专门用于记录公司网站各页面的点击量,互联网用户对每个页面的点击都会在该表中添加一行记录。但最近用户反应打开一张网页所需的时间很长,经过分析后发现是由于页面装载过程中记录点击量的操作所花费时间过多造成的。你在对WebHits表进行分析后发现该表中当前有640万条的记录,表上索引的扫描密度为42%,逻辑扫描碎片为34%,索引页的填充密度为98%。那么为了提高性能,你应该( )。(选择一项)
A、使用DROP INDEX删除WebHits表上的所有索引
B、使用工具对数据库文件所在的磁盘进行磁盘碎片整理
C、使用DBCC DBREINDEX命令重建该表的索引
D、手动对表上的索引启用完全填充
2、某学校的学生管理数据库中学生成绩表:stu-score中记录了学生各科成绩及平均分。该表如下所示。
学号 姓名 代数 物理 ? 平均分
003 于红 75 69 ? 72
178 刘畅 84 87 ? 88
032 田原 90 93 ? 91
数据库安全管理 ? ? ? ? ? ?
其中“学号”列为主键,并且在“学号”列上有聚集索引:clustered_stunum,数据库管理员希望删除该索引,他可以使用()语句完成该操作。
a) Delete clustered index clustered_stunum b) Drop clustered index clustered_stunum c) Drop index clustered_stunum d)不能删除该索引
3、关于索引说法正确的是()。
a、 索引表体积小,便于读取到内存操作,数据量越大,越适合使用索引。 b、 索引里德索引字段是排序好的,可以快速查找,数据量大,越适合使用索引。 c、 索引查找需要定位两次,当查找结果的数据量大时,适合使用索引。 d、 数据表变化小时,适合多建索引提高查询性能,当数据表变化频繁时,则不建议使用索
引。
4、关于重新组织索引正确的是()。
A、重新组织索引会对外层数据页中的数据进行重新排序,并压缩索引页。 B、重新组织索引操作会占用很多系统资源。
C、组织索引过程中外部进程也可以对改索引所在的数据表进行查询。 D、重新组织的过程中会添加额外数据,索引不会残留碎片。
5、关于禁用索引说法正确的是()
A、如果索引是聚集索引,那么禁用索引相当于将表禁用,用户不能都再操作数据表。 B、可以创建与已禁用索引同名的索引
C、如果查询提示使用已禁用的索引,查询语句操作会失败。
D、如果索引是创建主键差生或者具备唯一性约束,那么禁用索引也会禁用这些约束。 二、简答题:
1、请说出什么是索引,并解释索引时如何提高查询效率的,
2、索引有很多种类型,其中组合索引有一定的应用,请说出组合索引对于哪些查询不需要二次定位,
3、在adventure works示例数据库中,分析下列查询是否使用了索引,如果使用了,请指出使用了哪种索引,查询等待的时间是多少,要求给出截图并进行说明。 Select subtotal
From sales.salesorderheader
Where customerid =119
4、在adventure示例数据库中,请分析些列查询语句是否使用了索引,如果使用了,使用了哪个索引,查询等待时间是多少,要求给出截图并进行说明。
Select *
From sales.salesorderheader
Where orderdate>cast(‘2001-09-20 00:00:00’ as datetime)and orderdate < cast(‘‘2001-09-20="" 00:00:00’="" as="" datetime)="" 5、在adventure="" works示例数据库中,请在表sales.salesorderheader的orderdate字段上建立索引,然后执行查询计划,并查看索引使用情况和花销统计信息,请写出大概步骤,并提供基本步骤截图和相应说明。="">
6、在表sales.salesorderheader中建立好相应的索引后,执行下列语句,请指出执行该语句后索引的使用情况
数据库安全管理 Select *
From sales.salesorderheader
Where orderdate>cast(‘2001-09-20 00:00:00’ as datetime)and orderdate < cast(‘‘2001-09-20="" 00:00:00’="" as="" datetime)="" 7、="" 请说出优化下列查询语句的性能的方法,给出截图并加以说明="">
Select subtotal
From sales.salesorderheader
Where creditcardid=13693
8、 如果要查询姓名的第一个字是“王”的同学,请问这种查询适合使用索引吗,
扩展知识:
搭建“考试系统”,sqlserver作为后台数据库,存放考生和试卷的数据。要求能够实施考试以及成绩查询。
参考资料:ftp://192.168.2.202:1388/Software/Benet3.0-S2/s2B/
第四章:系统监视与性能调整
一、选择题
1、在sql server profiler中的跟踪记录可以保存为()类型
A(binary文件
B(txt文件
C(sqlserver表
D(逗号限制符文件
2、在sql server profiler中监视一个查询,要跟踪下面()事件类
A(security audit
B(rpc:completed
C(sql:batchcompleted
D(sql:batchstarting
3、下面()计数器可以查看sql server在cpu中的使用率
A(process -% processor time
B(processor -% processor time
C.sqlserver:transactions
D.process –working set
4、某公司有一个SQL1 服务器运行SQL Server 2005 企业版,SQL1 有2GB 内存,1.6GB用于默认的SQL Server 数据库实例。所有数据库的平均数据增长为100MB/每月。最近,用户报告执行查询的时间增加了。你想要评估是否需要增加更多的内存,通过使用性能(系统)监视器建立计数器日志,下面( )性能对象应该添加到计数器日志中。(选择一项) A) SQL Server:Buffer Manager B) SQL Server:SQL Statistics
C) SQL Server:General Statistics D) SQL Server:SQL Errors
5、公司网络采用单域结构进行管理,域中有一台数据库服务器,为存贮公司数据,建立了名为information的数据库。管理员在日常工作中希望能够查看用户对该服务器的操作,他可以使用的工具有()。(选择一项)
A) SQL Server Profiler B) SQL企业管查器
数据库安全管理 C) 系统的性能监控器 D) 系统日志
E)以上都可以
二、简答题:
1、性能监视器和sql server profiler的功能和用途分别是什么,
2、如何判断数据库中的事物是否死锁而被长期挂起,
3、新建表和索引,并将其存放到指定的文件组secondary上。要求给出操作过程截图, 4、请列于出三种以上数据库性能优化的常见问题以及解决方法,
5、请说出如何利用sql server profiler和数据库优化引擎实现数据库系统的优化工作,需要提供相应的步骤和截图
6、请解释所有sql server profiler跟踪事件和事件列单词的意思,
7、按照书上说,增加了新磁盘,并希望把计数器日志放到新加的磁盘上。但是为什么不让选择,而只能指定在系统盘上呢,
8、在以前学习的知识当中曾经说过,可以将数据放在不同的分区中来提高数据的读取效率,而为什么在数据库优化中却又要求将经常访问的数据存放在一起,这好像和前面所讲的知识不符,为什么,
三、扩展知识
利用sql server profiler验证索引如何提升查询性能
1、 建立一个表,数据100000列(数据行越多测试效果越明显)
2、 利用sql server profiler跟踪查询性能
参考资料:ftp://192.168.2.202:1388/Software/Benet3.0-S2/s2B/
第五章:备份和还原
一、选择题:
1、公司网络采用单域结构进行管理,域中有一台数据库服务器,为存贮公司数据,建立了名为information的数据库。管理员每天对该数据库进行备份,具体方案为2:00对该数据库进行完全备份,以后每隔1个小时对其进行一次差异备份。某星期三14:32,数据库服务器出现故障,information数据库受到损坏,用户希望管理员尽快恢复数据库服务器,使其正常工作,并且将information数据库的数据损失降到最小,数据库管理员应该进行()操作。(选择一项)
A)首先恢复星期三2:00对该数据库进行的完全备份,再依次恢复3:00、4:00、?14:00的差异备份
B) 首先恢复星期三2:00对该数据库进行的完全备份,再依次恢复14:00、13:00、?3:00的差异备份
C) 首先恢复星期三2:00对该数据库进行的完全备份,再恢复14:00的差异备份 D) 恢复星期三2:00对该数据库进行的完全备份
2、SQL Server 2005 的恢复模式包括3 种:简单恢复模式、完整恢复模式、大容量日志恢复模式,下面( )备份操作可以在简单恢复模式下进行。(选择二项)
A) 时间点的备份 B) 差异备份
C) 完整备份 D) 事务日志备份 3、某研究机构使用SQL Server 2000存放科研数据,该机构的服务器上有一个ResDat数据库,用于记录大量从实验过程采集来的数据。在正常的工作日,验室每天采集到的数据约有
数据库安全管理 400MB左右,使用的高峰期一般在早上8:00到晚上23:00。但到周末时对数据的使用较少,同时数据库中也基本没有新的数据输入。另外在数据库中一般存放6个月内的所有实验数据。现在为了确保数据的安全和可用,在数据库出现问题时能够以最快的速度恢复,需要制订对该数据库的备份策略,那么以下列出的备份策略中最适用的是( )。(选择一项) A) 周末做完全备份,每天做差异备份 B) 周末做事务日志备份,每天做增量备份
C) 每天做完全备份,周末做增量备份 D) 周末做完全备份,每天做增量备份 4、公司网络采用单域结构进行管理,域中有一台数据库服务器,为存贮公司数据,建立了名为information的数据库。某日数据库管理员希望对该数据库进行备份,但失败了,最有可能造成这种现象的原因是()。(选择二项)
A) 数据库正在进行自动收缩
B) 某用户正在用bulk insert语句向数据库导入大量数据
C) 某用户正在备份数据库
D) 以上全有可能
5、假设有2 个完整数据库备份
10:00 时的完整数据库备份1
12:00 时的完整数据库备份2
同时,还有3 个日志数据库备份:
10:30 时日志数据库备份1,基于完成完整数据库备份1
11:00 时日志数据库备份2,基于完成完整数据库备份1
12:30 时日志数据库备份3,基于完成完整数据库备份2
如果需要还原到12:15 时的数据库状态,则可以选择( )。
A) 完整数据库备份1+日志数据库备份3
B) 完整数据库备份2+日志数据库备份3
C) 完整数据库备份1+日志数据库备份1+日志数据库备份2+日志数据库备份3 D) 完整数据库备份2+尾部日志
二、简答题:
1、你是公司的网络管理员,管理数据库服务器,你利用RAID技术和备份策略来实现数据库的冗余,一天公司来了一位新同事,他见意你有了RAID以后就不需要再用备份了,你会听取他的见意吗,为什么,
2、什么时候需要备份MASTER数据库,
3、请指出备份常见的类型都有哪些,其中,差异备份和日志备份的区别是什么, 4、数据库主要有几种恢复模式,这几种恢复模式的区别是什么,
5、什么使系统数据库,其作用有哪些,为什么要备份系统数据库,
6、用户希望实现及时点的数据还原,实施的步骤是什么样的,请写出实施步骤并提供相关截图,
7、sql server具有将数据库恢复到故障点的能力,请结合前面所学的知识,描述一下如何将数据库恢复到故障点,
8、在进行数据库恢复的时候,有两种常见的恢复状态recovery和norecovery两者的区别是什么,该如何使用,
三、扩展知识:
备份还原的命令方式
参考资料:ftp://192.168.2.202:1388/Software/Benet3.0-S2/s2B/
数据库安全管理
第七章:数据转换与综合实战(一)
一、选择题:
1、你是公司的数据库管理员,现在需要把一个Excel 格式的销售数据导入到SQL Server的Benet 数据库的Sales 表中,可以使用下面( )工具。
A) SSIS 导入导出向导
B) 备份和还原
C) 复制
D) 分离和附加
2、下列()可以把SQL数据转换为Excel格式的文件。
A) “任务”->“导入数据”
B) 复制
C) 分离与附加
D) “任务”->“导出数据”
3、某公司原来使用access数据库保存公司客户的相关信息。随着信息的增加,access数据库已不能满足员工对信息的查找要求,为此公司决定改用SQL Server 2000。管理员在服务器上将SQL安装完成后建立了一个客户数据库,数据库中有一个客户数据表。如果管理员将客户信息全部输入该表,工作量比较大,他希望尽可能的减小自己的工作量,他应采取的措施是()。
A) 将access数据库所在的服务器设置为发布/分发服务器,SQL数据库所在的服务器设置为订阅服务器,通过数据库复制将access数据库中的数据复制给SQL服务器 B) 在SQL服务器上通过SSIS导入/导出向导将access数据库中的数据导入SQL服务器 C) 在access数据库上建立视图,SQL服务器通过调用该视图将数据拷贝到SQL服务器中 D) 在SQL服务器上直接打开access数据库中的文件,将该文件另存为SQL数据库的格式 4、Sqlserver integration services (ssis)是一个数据继承转换的平台,主要用于进行()等任务
A(数据分析
B(数据转换
C(数据截取
D(数据加载
5、在不同的数据源之间转换数据时,需要考虑()问题。
A、更改数据格式
B、数据的重构和映射
C、数据一致性
D、验证数据的有效性
6、某公司的网络中部署了sqlserver2005数据库服务器,服务器上有一个用户数据库,用于存储公司财务部,工程部和研发部的各种信息。三个部门的员工都是用域帐户访问网络中的资源,管理员为了管理简便,为三个部门分别建立了组帐户,用户帐户分别隶属于各自部门的组。每个部门都希望本部门的相关数据只能被部门内的员工读取和修改,其它部门的员工不能有任何访问权限。管理员要满足这个需求并使自己的工作量比较小,他应该做的是(选择三项)
A) 为每个部门建立一个数据库
B) 为所有部门建立一个数据库,在数据库中为每个部门建立一张表
数据库安全管理
C) 将每个部门的组加入到sql登录中
D) 将每个域用户帐户加入数据库的processadmin角色
E) 将每个部门的组加入到所属部门数据库的db_datareader和db_datawriter
数据库角色中
二、简答题:
1、再将sqlserver数据导入到文本文件之后,数据的格式怎样保留,如何保证sql数据格式也能保存在文本文件中,
2、常用数据转换工具有哪些,
3、在进行数据转换的时候提供了很多工具,是不是在数据转换的时候都会用到呢,比较常用的数据导入导出向导和ssis设计器之间的区别是什么,
4、当希望把sql中的数据导出的时候,能否进行有选择性的导出,例如,只导出一部分满足条件的数据,该如何实现,
5、写出书中上机实验案例一的实验报告,要求实验步骤和关键步骤截图。 三、扩展知识:
实施复制
参考资料: ftp://192.168.2.202:1388/Software/Benet3.0-S2/s2B/
第八章:数据转换与综合实战(二)
1、你有一台SQL Server 2005的计算机SQL1,用户报告在SQL1上运行查询的时间在不断增加,你想要使用SQL Server Profiler跟踪所有的用户查询,而且这个操作尽量不能影响SQL1的性能,你需要决定在哪个计算机上运行SQL Server Profiler和保存跟踪记录。应该( )。(选项一项)
a) 在SQL1上运行SQL Server Profiler,保存跟踪记录到一个表
b) 通过远程桌面连接到SQL1,保存跟踪记录到另外一台计算机的一个文件中
在另外一台计算机上运行SQL Server Profiler,然后连接到SQL1,保存跟踪记录到c) SQL1的一个表
在另外一台计算机运行SQL Server Profiler,然后连接到SQL1,保存跟踪记录到运行d) SQL Server Profiler计算机的一个文件中
2、某公司的网络中有一台数据库服务器,服务器上运行的应用软件为SQL Server 2005。某日数据库管理员通过操作系统提供的工具“性能监视器”对SQLServer进行性能监视时,选择的监视对像为:SQLServer:Database,他可以通过该对像监视的内容为()(选一项)
A、SQLServer
B、SQLServer复制代理程序的信息
C、SQLServer所用的内存缓冲区的信息
D、SQLServer数据库的信息
数据库安全管理 3、 某sqlserver2005数据库服务器的身份验证模式设置为混合身份验证模式,关于此服务器,以下说法正确的是()。
A) 只能用sqlserver登录账户连接数据库服务器,在连接时输入sqlserver登录账户的用
户名和密码
B) 只能用windows身份验证模去连接数据库服务器,在连接时输入windows用户名和
密码
C) 只能用windows身份验证去连接数据库服务器,不需要用户输入windows用户名和
密码
D) 此时用windows登录账户和sqlserver登录账户都可以连接到服务器
4、 以下有关sqlserver2005数据库收缩的说法正确的是()
A) 在收缩数据库时,无法将整个数据库收缩得比其初始大小更小
B) 在收缩数据库文件时,无法将数据库文件收缩得比其初始大小更小 C) 在收缩数据库时,可以将整个数据库收缩得比其初始大小更小
D) 在收缩数据库文件时,可以将数据库文件收缩得比其初始大小更小 5、 在sqlserver2005中,要将salary表的内容导入到新表salarynew中,可以使用以下()语句。
b) select *into salarynew
from salary
c) update * into salarynew
from salary
d) insert into salarynew
values(salary)
e) delete * into salarynew
from salary
6、 下列关于sqlserver2005数据库中guest帐号说法正确的是()
A) 一个数据库中有了guest帐号并且未被禁用,则所有能登录该实例的账号都能访问
该数据库
B) 一个数据库中有了guest帐号并且未被禁用,则所有能登录该实例的账号都拥有了
该数据库中public角色的权限
C) 一个数据库中只有有了guest帐号并且未被禁用,该数据库的账号才有该数据库中
public角色的权限
D) 一个数据库中有了guest帐号并且未被禁用,则所有能登录该数据库的账号都有该
数据库中do的权限
7、 在sqlserver2005中,对用户user1进行授权,使其对表table1有允许select的权限,对表table2有拒绝select的权限,再将该用户添加到用户自定义角色role1中,该角色对表table1没有设置授权,对表table2有select的权限,则用户user1在查询分析器中执行下列语句能返回正确结果的是()
a) Select * from table1
b) Select * from table2
c) Select * from table1,table2
d) Select * from table2,table1 二、简答题
数据库安全管理 1、书中的实例中,在求08年2月到7月的账单费用时,如何能够得到具体的年和月呢,如果用函数的方式得到了,使用就可以了,为什么还要进行类型的转换呢, 2、书中的实验案例1中,需要建立监视器的哪些参数,
3、书中的实验案例1中,如何建立tariffall的数据包,写出实验步骤,(实验步骤总结为报告的形式,报告内容中要包含实施的步骤,需要注意的实验环节,出现的问题和解决的方法,实验得出的结论及其优化方法,)
4、写出书中实验案例4将已缴费的通话记录和账单数据导出到历史表中的实验步骤, 5、写出书中的实验案例5统计并汇总花费信息的实验步骤。
四、 补充内容
搭建asp.net+selserver的动态网站,以v5shop购物网站为例,要求搭建实验环境,
网站能正常浏览,可以在后台添加商品,注册会员,并且数据库的相关表中能显示添加
的商品信息和会员信息。
参考资料:ftp://192.168.2.202:1388/Software/Benet3.0-S2/s2B/
范文四:数据库安全管理
西南石油大学实验报告
一、实验课时:2
二、实验目的
(1) 掌握使用 T-SQL 语句创建登录帐户的方法。
(2) 掌握使用 T-SQL 语句创建数据库用户的方法。
(3) 掌握使用 T-SQL 语句创建数据库角色的方法。
(4) 掌握使用 T-SQL 语句管理数据库用户权限方法。
三、实验要求
(1) 使用 SQL Server 2008。
(2) 严格依照操作步骤进行。
四、实验环境
(1) PC机。
(2) SQL Server 2008。
五、实验内容及步骤
注意事项:
(1) 首先在 C 盘根目录创建文件夹 Bluesky ,执行脚本文件“ PracticePre-第 11章安全管理 .sql ”,创建数据库 BlueSkyDB 和表;
(2) 如何建立 “ 数据库引擎查询 ” ;
(3) 使用 “ select user_name()” 可查询当前登录账号在当前数据库中的用 户名。
TUser3,初始密码均为“ 123456”。
步骤 2 使用 TUser1建立一个新的数据库引擎查询,在 “ 可用数据库 ” 下拉列 表框中是否能看到并选中 BlueSkyDB 数据库?为什么?
可以看到数据库 BlueSkyDB 但是不能选中打开,因为用户仅仅是能够使用服务 器的合法用户,但不能访问数据库
映射为数据库 BlueSkyDB 的用户,用户名同登录名。
步骤 4 再次使用 TUser1建立一个新的数据库引擎查询,这次在 “ 可用数据 库 ” 下拉列表框中是否能看到并选中 BlueSkyDB 数据库?为什么?
能够选中 BlueSkyDB ,因为 TUser1已经成为该数据库的合法用户了
步骤 5 用 TUser1用户在 BlueSkyDB 数据库中执行下述语句,能否成功?为什 么?
SELECT * FROM BOOKS;
不能成功,因为该用户没有对数据库操作的权限。
步骤 6 授予 TUser1具有对 BOOKS 表的查询权限,授予 TUser2具有对 CUSTOMERS 表的插入权限。
步骤 7 用 TUser2建立一个新的数据库引擎查询,执行下述语句,能否成功? 为什么?
INSERT INTO CUSTOMERS VALUES('张三 ','zhang@126.com','123456'); (注 意:CUSTOMERS 表中的 customerID 列为自增列
)
能成功,因为 TUser2具有对 customer 表插入数据的权限
再执行下述语句,能否成功?为什么?
SELECT * FROM CUSTOMERS;
不能,因为 TUser2仅有对 customer 表插入的权限,但没有查询的权限。
步骤 8 在 TUser1用户建立的数据库引擎查询中,再次执行下述语句: SELECT * FROM BOOKS;
可以执行,因为 TUser1有对表 BOOKS 查询的权限。
这次能否成功?但如果执行下述语句:
INSERT INTO CUSTOMERS VALUES('李四 ','li@126.com','123456'); 能否成功?为什么?
不能成功,因为 TUser1没有对 CUTOMERS 表插入数据的权限。 步骤 9 授予 TUser3具有在 BlueSkyDB 数据库中的建表权限。
步骤 10 使用 Transact-SQL 在数据库 BlueSkyDB 中创建一个角色 TRole1,并 使用 Transact-SQL 将对 BlueSkyDB 数据库中 Books 表的增、删、改、查权限 授予角色 TRole1。
步骤 11 新建立一个 SQL SERVER身份验证模式的登录名:pub_user,并让该登 录名成为 BlueSkyDB 数据库中的合法用户(非常重要,否则后面无法将其加入 TRole1角色 )
步骤 12 用 pub_user建立一个新的数据库引擎查询,执行下述语句,能否成 功?为什么?
SELECT * FROM BOOKS;
不能成功,因为 pub_user没有任何对数据库 BlueSkyDB 操作的权限。 步骤 13 将 pub_user用户添加到 TRole1角色中。
步骤 14 在 pub_user建立的数据库引擎查询中,再次执行下述语句,能否成 功?为什么?
SELECT * FROM BOOKS;
能成功,应为 pub_user属于 TRole 的角色,而 TRole 角色具有对 books 表的增 删改查的权限。
步骤 15 使用 Transact-SQL 将对 BlueSkyDB 数据库中 Books 表的删除、更新和 查询的权限从角色 TRole1处回收回来。
步骤 16在 pub_user建立的数据库引擎查询中,再次执行下述语句,能否成 功?为什么?
SELECT * FROM BOOKS;
因为删除了 TRole1删除,更新和查询的权限,而 pub_user是属于 TRole1用户 的,所以, pub_user拥有与 TRole1一样的权限,仅仅能忘 books 表中插入数 据。
六、收获,体会及问题
在本次实验中主要是对数据库的安全性进行管理,对于数据库可以创建多个登 录名 (create login ),通过登录名登录的用户就是数据的的合法用户,但不能对库 里的数据库进行查看,不能选中其中的任意数据库,然后是可以对指定数据库 创建相应的用户 (create user) ,有了该用户,就能够访问相应的数据库,但是不 能对数据库里的内容进行操作,能选中数据库,就是不能操作,为了给用户操 作的权限,可以使用 grant 赋予相应的用户以操作权限,使用 revoke 收回权 限 , 也 可 以 通 过 创 建 角 色 (create role) , 将 用 户 添 加 到 角 色 中 (exec add_rolemember),就可以使用户拥有该角色的相应权限。
范文五:数据库安全管理
【摘 要】本文对数据库安全的内涵和要求及数据库管理系SQL Serer的安全防
护机制,如身份认证、访问控制、完整性保障、访问审计、数据加密与视图、存
储过程等进行了详细分析和研究。
【关键词】数据库 数据库安全机制 SQL serer
1 数据库安全的内涵
数据库安全是指保护数据库以防止非法用户的越权使用、窃取、更改或破坏
数据。与其它计算机系统(如操作系统)的安全要求类似,数据库系统的安全要求
可以归纳为完整性、保密性和可用性三个方面。
(1)完整性
数据库的完整性主要包括物理完整性和逻辑完整性。物理完整性是指保证数
据库的数据不受物理故障(如硬件故障、突然断电等)的影响,并有可能在灾难性毁坏时重建和恢复数据库,逻辑完整性是指对数据库逻辑结构的保护,包括数据
的语义完整性和操作完整性。前者是指数据存取在逻辑上满足完整性约束,后者
主要是指在并发事务中保证数据的一致性。
(2)保密性
保密性指保护数据库中的数据不被泄露和未授权的获取,一般要求对用户进
行访问授权,同一组数据的不同用户可以被授予不同的存取权限.同时还要求能
够对用户的访问操作行为进行跟踪和审计。
(3)可用性
数据库的可用性是指数据库不应拒绝授权用户对数据的正常操作,同时保证
系统的运行效率并提供用户良好的人机交互。
2 SQL SERVER的数据库安全机制
2.1身份验证
构造安全策略的第一个步骤是确定SQLServer用哪种方式验证用户。SQLServer的验证是把一组帐户、密码与Master数据库Sysxlogins表中的一个清
单进行匹配。WindowsNT/2000的验证是请求域控制器检查用户身份的合法性。
一般地,如果服务器可以访问域控制器,我们应该使用WindowsNT/2000验证。
域控制器可以是Win2K服务器,也可以是NT服务器。无论在哪种情况下,
SQLServer都接收到一个访问标记(AccessToken)。访问标记是在验证过程中构
造出来的一个特殊列表,其中包含了用户的SID(安全标识号)以及一系列用户
所在组的SID。正如本文后面所介绍的,SQLServer以这些SID为基础授予访问权限。注意,操作系统如何构造访问标记并不重要,SQLServer只使用访问标记中的SID。也就是说,不论你使用SQLServer2000、SQLServer7.0、Win2K还是NT进行验证都无关紧要,结果都一样。
如果使用SQLServer验证的登录,它最大的好处是很容易通过
EnterpriseManager实现,最大的缺点在于SQLServer验证的登录只对特定的服务
器有效,也就是说,在一个多服务器的环境中管理比较困难。使用SQLServer进行验证的第二个重要的缺点是,对于每一个数据库,我们必须分别地为它管理
权限。如果某个用户对两个数据库有相同的权限要求,我们必须手工设置两个数
据库的权限,或者编写脚本设置权限。如果用户数量较少,比如25个以下,而且这些用户的权限变化不是很频繁,SQLServer验证的登录或许适用。但是,在
几乎所有的其他情况下(有一些例外情况,例如直接管理安全问题的应用),这
种登录方式的管理负担将超过它的优点。
对用户的身份认证是数据库管理系统提供的最外层安全保护措施,其方法
是用户进入系统时通过输入ID和密码,向系统出示自己的身份证明,系统通过
严格的认证机制对用户身份进行审查核实,经过确认后才提供与之相对应的系统
服务。SQL serer支持windows NT认证模式和混合认证模式两种身份认证模式。
2.2访问控制
为了保证用户只能存取有权存取的数据,数据库系统要求对每个用户定义
存取权限.在SQL SERVER中,用户是属于特定的数据库的,数据库用户与登
录标识相关联,一个应用程序使用登录标识SQL Serer登录成功后,能否对某个数据库进行操作,由该数据库中是否有相应的数据库用户来决定。SQL serer可根据访问用户所属的用户类型,利用GRANT等语句来对数据库或数据库对象作
权限的控制,能够较为完善地支持自主访问控制策略。SQL SERVER将用户分为四个类型:系统管理员用户、数据库所有者用户、数据库对象拥有者用户和普通
用户,不同的用户具有不同的权限。为了达到管理的便利和灵活,SQL Serer引入了角色的概念,可以支持基于角色的访问控制策略。对于具有相同权限的用户,
可以创建一个角色并对其赋予权限,然后将这些用户添加到该角色中使它们成为
这个角色的成员。若要改变这些用户的权限,只需对角色的权限进行设置,不必
对每一个用户进行权限设置。
2.3审计功能
数据库审计是监视和记录用户对数据库所施加的各种操作的机制。通过审计
机制,可以自动记录用户操作,利用审计跟踪的信息,便于追查有关责任,也有
助于发现系统安全方面的弱点和漏洞。对于MS SQL SERVER,它能提供较为完善的审计功能,用来监视各用户对数据库施加的动作。SOL SERVER审计方式具体分用户审计和系统审计2种,审计工作一般通过SQL事件探查器完成。启用用户审计功能时,审计系统可记下所有对该数据库表或视图进行访问的企图(包括成功的和不成功的)及每次操作的用户名、时间、操作代码等信息;系统审计
由系统管理员进行,其审计内容主要是系统一级命令以及数据库客体的使用情
况。
2.4数据库加密
数据库加密通过将数据用密文形式存储或传输的手段保证高敏感数据的安
全,这样可以防止那些企图通过不正常途径存取数据的行为.SQL serer也提供了加密的功能,以强化对分布式数据库的安全管理。SQL serer使用名为pwdencrypt的哈希函数来加密隐藏用户存储在Master数据库中系统表内的密码,
将已定义的视图、存储过程、触发器等都存储在系统表syscomments中,SQL Serer提供了内部加密机制,可以使用WITH ENCRYPTION语句来进行加密。在条件
允许情况下,可以通过启动相应加密功能让SQL Serer在通过网络传输数据时将
数据按照SSL协议加密处理后传输。
2.5视图和存储过程机制
视图是从一个或几个基本表(视图)中导出的虚表.在数据库系统中,可以利
用视图通过授予用户操作特定视图的权限,限制用户访问表的特定行和特定列来
保证数据的安全,防止用户对基本表的操作,实现行级或列级的安全性。在SQL serer中,系统较好地支持了视图定义和访问机制,如何利用CREATEVIEW语句建立视图,利用SELECT子句进行视图访同等,通过建立视图以及将视图表中
的不同记录分成不同的保密级别,甚至将同一字段中的不同值分成不同的保密级
别,控制用户可以看到的数据,实现安全性。在SQL Serer中存储过程是存储于数据库内部经过编译可执行的SQL语句,它可被其他应用程序调用执行,彻底
隐藏了用户可用的数据和数据操作中涉及的某些保密处理。存储过程可用来保护
基表的数据。为了禁止用户直接更改基表,可通过存储过程来更改基表,然后授
予用户具有执行该存储过程的权力,这就限制了用户对基表的不当操作,从而保
证了数据的安全。
2.6备份、恢复和并发控制机制
为防止系统发生故障导致重要数据的丢失或损坏,保证数据库系统在最短时
间内恢复运行,数据库管理系统应具备备份和恢复机制。SQL serer支持静态备份和动态备份,并提供了四种备份方案,即完全备份、差异数据库备份、事务日
志备份、文件备份.而在系统恢复方式上,SQL serer可以选择三种模型进行恢复:简单恢复、完全恢复、批量日志记录恢复。在SQL serer中,无论是备份或恢复均可方便地通过Transact—SQL语句或企业管理器来设置。作为网络数据库
管理系统,SQL Serer可以提供完善的并发控制机制,通过支持事务机制来管理
多个事务,保证数据的一致性,并使用事务日志保证修改的完整性和可恢复性。
SQL Serer遵从三级封锁协议,从而有效的控制并发操作可能产生的丢失更新、
读错数据、不可重复读等错误。SQL serer具有多种不同粒度的锁,允许事务锁
定不同的资源,并能自动使用与任务相对应的等级锁来锁定资源对象,以使锁的
成本最小化。
3 结论
本文就SQL serer数据库管理系统的安全机制进行了全面的探索和研究,数
据库的安全是一个非常复杂的课题,它的实现不仅是纯粹的技术问题,而且还需
要法律、管理、社会因素的配合,相信随着信息安全技术的持续改进、信息安全
管理水平的不断提高和有关人员的防范意识的不断增强,数据库的安全将越来越
有保障。
参考文献:
[1]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2006.
[2]郑振楣,于戈,郭敏.分布数数据库[M].北京:科学出版社,1998.
[3]邹健.中文版SQL serer 2000开发与管理应用实例[M].北京:人民邮电
出版社,2005.
[4]韩卫,张艳苏.MIs中数据库安全性研究[J].
系院:国际教育学院 专业:电子商务
姓名:唐 亮
学号:2008020063