第八章安全性教学材料_第1页
第八章安全性教学材料_第2页
第八章安全性教学材料_第3页
第八章安全性教学材料_第4页
第八章安全性教学材料_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章安全性安全性措施的层次物理层,重要的计算机系统必须在物理上受到保护,以防止入侵者强行进入或暗中潜入。人员层,对用户的授权要严格掌握,以减少授权用户渎职、受贿,从而为入侵者提供访问的机会。操作系统层,要进入数据库系统,首先要经过操作系统,所以如果操作系统的安全性能差,也会对数据库造成威胁。网络层,由于几乎所有网络上的数据库系统都允许通过终端或网络进行远程访问,所以网络的安全和操作系统的安全一样重要,网络安全了,无疑会对数据库的安全提供一个保障。数据库系统层,数据库系统应该有完善的访问控制机制,允许查询和允许修改有严格的界限,尽量保证不出现越权的操作。数据库管理系统的安全功能安全性控制是数据库管理员(或系统管理员)的一个重要任务,他要充分利用数据库管理系统的安全功能,保证数据库和数据库中数据的安全。安全系统的核心问题是身份识别。几个概念用户权限用户组角色强制存取控制强制存取控制的思路是,为每一个数据库对象标以一定的密级(Classificationlevel),对每一个用户都确定一个许可级别(Clearancelevel)。如密级可以分为绝密、机密、保密、秘密、公开等若干级别;而用户可以划分为一级用户(可以操作所有数据)、二级用户(可以操作除绝密以外的所有数据)、三级用户等。强制存取控制本质上具有分层的特点,通常具有静态的、严格的分层结构,与现实世界的层次管理也相吻合。这种强制存取控制特别适合层次严明的军方和政府等数据管理。SQLServer的身份验证模式SQLServer提供了三种身份验证模式或安全管理模式,即标准模式、集成模式和混合模式。在WindowsNT或Windows2000上使用集成模式或混合模式,在Windows98(或Millennium)上使用标准模式。标准身份验证模式实际上,一般的数据库管理系统都只提供标准身份验证模式,在这种模式下,由数据库管理系统独立来管理自己的数据库安全。数据库管理系统把用户登录的ID号和口令存储在特定的系统表中,当用户试图登录到数据库系统时,数据库管理系统查询有效的登录ID和口令,以决定是否允许用户登录。一般的数据库管理系统只有标准登录模式,所以很多SQLServer的用户也习惯使用标准身份验证模式,因为他们熟悉登录和密码功能。对于连接到Windows客户端以外的其它客户端,可能也必须使用标准身份验证。集成身份验证模式集成身份验证模式也称为Windows身份验证模式,用户通过WindowsNT或Windows2000(以下简称Windows)的身份验证后则自动进行SQLServer身份验证。即当用户通过Windows用户账户进行连接时,SQLServer通过回叫Windows以获得信息,重新验证账户名和密码。SQLServer的安全体系图7-1SQLServer安全体系混合身份验证模式混合模式使用户得以使用Windows身份验证或SQLServer身份验证与SQLServer实例连接。混合身份验证模式的登录决策过程用户管理和角色管理用户的分类登录用户和数据库用户用户管理角色管理SQLServer的预定义角色用户的分类系统管理员用户数据库管理员用户数据库对象用户数据库访问用户图7-1SQLServer安全体系登录用户和数据库用户登录用户(loginuser)数据库用户(databaseuser)用户管理登录用户的管理系统管理员的工作建立新的登录用户修改登录密码删除登录用户…数据库用户的管理数据库管理员的工作授权其他登录用户为数据库的用户取消某个登录用户为数据库的用户建立新的登录用户sp_addlogin[@loginname=]login_id[,[@passwd=]passwd][,[@defdb=]defdb][,[@deflanguage=]deflanguage][,[@sid=]sid][,[@encryptopt=]encryption_option]修改登录密码sp_password[[@old=]old_password,]{[@new=]new_password}[,[@loginame=]login]删除登录用户sp_droplogin[@loginame=]login

授权登录用户为当前数据库用户sp_grantdbaccess[@loginame=]login[,[@name_in_db=]name_in_db]从当前数据库中删除用户sp_revokedbaccess[@name_in_db=]name角色管理用户组和角色定义角色为用户指定角色取消用户的角色删除角色定义角色sp_addrole[@rolename=]role[,[@ownername=]owner]为用户指定角色sp_addrolemember[@rolename=]role,

[@membername=]user_account取消用户的角色sp_droprolemember[@rolename=]role,

[@membername=]user_account删除角色sp_droprole[@rolename=]roleSQLServer的预定义角色public角色系统预定义角色使用sp_helpsrvrole获得各种系统管理员角色的描述使用sp_srvrolepermission得到每种系统管理员角色的特定权限(可以执行的命令、系统存储过程或说明)数据库预定义角色使用sp_helpdbfixedrole获得数据库上各种预定义角色的描述使用sp_dbfixedrolepermission得到每种数据库预定义角色的特定权限(可以执行的命令、系统存储过程或说明)public角色public角色是一个特殊的数据库角色,每个数据库用户都是该角色的成员。public角色具有如下特点:public角色自动获得数据库中用户的所有默认权限;不需要、也无法将用户指派给public角色,因为默认情况下所有用户都属于该角色;每个数据库(包括所有系统数据库和所有用户数据库)都有public角色;不可以删除public角色。系统预定义角色sysadmin:具有系统管理员全部权限的角色。serveradmin:负责配置数据库服务器的设置。setupadmin:负责添加和删除链接的服务器。securityadmin:负责管理服务器的登录。processadmin:负责管理在SQLServer实例中运行的进程。dbcreator:负责创建和改变数据库。bulkadmin:可以执行BULKINSERT语句(数据库数据的装载)。数据库预定义角色db_owner:在数据库中有全部权限,即具有数据库管理员全部权限的角色。db_accessadmin:负责数据库用户的管理。db_securityadmin:负责数据库的安全管理,如负责权限管理、角色和角色成员资格管理等。db_ddladmin:主要负责数据库的完整性和一致性检查及管理。db_backupoperator:主要负责数据库的备份。db_datareader:可以查询数据库中任何用户表中的所有数据。db_datawriter:可以更改数据库中任何用户表中的所有数据。db_denydatareader:不能查询数据库中任何用户表中的任何数据。db_denydatawriter:不能更改数据库中任何用户表中的任何数据。权限管理授予权限授予语句权限授予对象权限查询授权收回权限禁止权限角色与存取控制授予语句权限GRANT{ALL|statement_list}TOname_liststatement_list给出授权的语句列表,可以是:BACKUPDATABASEBACKUPLOGCREATEDATABASECREATEDEFAULT

CREATEFUNCTIONCREATEPROCEDURECREATERULECREATETABLECREATEVIEW授予对象权限处理数据或执行存储过程时需要有相应对象的操作或执行权限,这些权限可以划分为:SELECT、INSERT、UPDATE和DELETE语句权限,它们可以应用到整个表或视图上。SELECT和UPDATE语句权限,它们可以有选择性地应用到表或视图中的单个列上。SELECT权限,它们可以应用到用户定义函数。INSERT和DELETE语句权限,它们会影响整行,因此只可以应用到表或视图中,而不能应用到单个列上。EXECUTE语句权限,即执行存储过程和函数的权限。授予对象权限GRANT

{ALL[PRIVILEGES]|permission_list}{[(column_list)]ON{table|view}

|ON{table|view}[(column_list)]

|ONstored_procedure

|ONuser_defined_function}TOname_list

[WITHGRANTOPTION][AS{group|role}]查询授权使用系统存储过程sp_helprotect查询授权的情况收回权限收回语句授权REVOKE{ALL|statement_list}FROMname_list

收回对象授权REVOKE[GRANTOPTIONFOR]{ALL[PRIVILEGES]|permission_list}{[(column_list)]ON{table|view}

|ON{table|view}[(column_list)]

|ONstored_procedure

|ONuser_defined_function}FROMname_list

[CASCADE][AS{group|role}]禁止权限禁止语句权限DENY{ALL|statement_list}TOname_list

禁止对象权限DENY

{ALL[PRIVILEGES]|permission_list}{[(column_list)]ON{table|view}

|ON{table|view}[(column_list)]

|ONstored_procedure

|ONuser_defined_function}TOname_list

[CASCADE]角色与存取控制系统管理员或数据库管理员可以按层次定义角色,并为角色定义权限,例如定义角色A、B、C、D和E,角色之间的权限关系是A>B>C>D>E;然后为不同级别的用户指定不同的角色;从而达到按层次管理数据的目的。其他安全问题数据加密审计

统计数据库用户定义的安全性措施数据加密数据加密标准DES公开密钥加密体制RSA审计用户管理和权限控制解决了非法用户不能通过合法途径接触数据的问题,但是对合法用户的使用没有任何监督能力。任何时候都不能排除有失职和渎职现象的发生,为此需要有一种方式可以记录下对数据库的所有操作活动和轨迹,这种功能称为审计(Audit)。系统管理员(或数据库管理员)可以通过审计日志审计、跟踪所有用户对数据库的操作活动,可以确定哪些客户、什么时间、进行了哪些操作等,从而为“合法”的“意外”安全问题提供保障。统计数据库在有些数据库应用中只允许查询统计信息而不允许查询明细信息,提供这类服务的数据库称为统计数据库。在统计数据库中存在着特殊的安全

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论