db2重点解析课件5

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

CS&TInformationCourseBeyondTechnologyDB2东软信息学院计算机科学与技术系CS&TInformationCourse第5章DB2的安全性CS&TInformationCourse目录•DB2中安全级别;•身份验证;•授权;•特权•审计CS&TInformationCourse5.1DB2安全性概述•DB2安全机制•客户机、服务器、网关和主机CS&TInformationCourseDB2安全机制DB2中有三种主要的安全机制:•身份验证(authentication):DB2身份验证与底层操作系统的安全特性紧密协作来检验用户ID是否存在以及密码是否正确.•授权(authorization):授权决定用户、用户组可以执行的操作以及他们可以访问的数据对象。•特权(privilege):特权定义用户可以创建或删除的对象,还定义用户可以用来访问对象(比如表、视图、索引和包)的命令CS&TInformationCourseDB2UDB身份验证模型操作系统操作系统安全机制DB2UDB默认安全插件DB2UDB安全机制connecttodatabase1userguousing123164325验证:用户名是否存在密码是否正确授权:查看该用户是否具有connect特权CS&TInformationCourse客户机、服务器、网关和主机DB2客户机DB2UDB服务器DB2CONNECY服务器(网关)主机DB2客户机DB2客户机CS&TInformationCourse5.2DB2身份验证DB2提供的主要验证类型有:•SERVER(缺省值)•SERVER_ENCRYPT•KERBEROS•KRB_SERVER_ENCRYPT•CLIENTCS&TInformationCourseSERVER•SERVER(服务器)是缺省安全性机制,这种类型指定身份验证在服务器上进行。•使用SERVER选项,用户标识和密码被发送到服务器进行验证。•如果用户标识和密码是在连接期间指定的,那么DB2将调用操作系统函数来验证提交的用户标识和密码。•服务器检测一个连接是本地的还是远程的。对于本地连接,当认证是SERVER时,不需要用户ID和密码。•在数据库服务器上,在数据库管理程序配置文件中使用AUTHENTICATION参数对身份验证类型进行设置。CS&TInformationCourse设置身份验证类型db2updatedbmcfgusingauthenticationserver查看身份验证类型db2getdbmcfgCS&TInformationCourseSERVER_ENCRYPT•身份验证在服务器上进行。•如果指定客户机认证类型为SERVER,客户机只会传送未加密的用户标识和密码到服务器•如果客户机认证类型为SERVER_ENCRYPT,用户标识和密码在客户机上都被加密,然后传送给服务器。•如果未指定客户机认证类型,则使用在服务器中选择的方法认证客户机。CS&TInformationCourseKERBEROS•由Kerberos安全软件执行身份验证。•Kerberos是一个外部安全性工具,它使用传统密码术创建共享的加密密钥,作为用户凭证。•Kerberos认证类型只对Windows2000以上(含2000)、AIX、Solaris和Linux操作系统有效。CS&TInformationCourseKRB_SERVER_ENCRYPT•如果客户机设置是KERBEROS,那么由Kerberos安全软件执行身份验证;•否则系统认证类型等价于SERVER_ENCRYPT。CS&TInformationCourseCLIENT选项CLIENT指明验证将在客户机上发生。为了灵活地允许可信的客户机自行执行认证同时强制不可信的客户机在服务器上接受认证,引入了另外两个数据库管理器配置参数:TRUST_ALLCLNTS和TRUST_CLNTAUTH。仅当认证被设置为CLIENT时,才需要对这两个参数进行设置。CS&TInformationCourseTRUST_ALLCLNTS决定哪些类型的客户机是可信的,该参数有以下三个可能值:•YES—信任所有客户机。这是缺省设置。认证将在客户机上进行。•NO—只信任有可靠安全性工具的客户机(也就是可信的客户机)。若是不可信的客户机要进行连接,必须提供用户标识和密码以便在服务器上进行认证。•DRDAONLY—只信任DRDA客户机。其它任何客户机都必须提供用户标识和密码。CS&TInformationCourse可使用TRUST_CLNTAUTH来指定当在connect语句或attach命令中提供了用户标识和密码时,应该在哪里进行认证。允许使用两个值:•CLIENT—在客户机上执行认证;不要求提供用户标识和密码。这是缺省选项。•SERVER—当没有提供用户标识和密码时,在客户机上认证;当提供了用户标识和密码时,在服务器上进行认证。CS&TInformationCourse其他身份验证设置•CLNT_PW_PLUGIN•GROUP_PLUGIN•LOCAL_GSSPLUGIN•SRV_PLUGIN_MODE•SRVCON_GSSPLUGIN_LIST•SRVCON_PW_PLUGIN•CATALOG_NOAUTH•FED_NOAUTHCS&TInformationCourse5.3DB2授权•权限级别•授予和撤消权限CS&TInformationCourse权限级别SYSADMLOADDBADMSYSMONSYSMAINTSYSCTALSECADM不能看到数据能看到或访问数据授权特权CS&TInformationCourseSYSADM权限•SYSADM是DB2实例中的最高权限。•具有SYSADM权限的用户:•可以运行实用程序,发出数据库和数据库管理器命令;•以及访问这个数据库管理器实例中任何数据库中任何表中的数据•提供控制这个实例中所有数据库对象的能力,•对其他用户授予或撤消特权或权限;•还可以更新DBMCFG文件•该权限供需要对实用程序和数据的完全访问权的DB2UDB管理员使用。CS&TInformationCourseSYSCTRL权限•SYSCTRL权限是最高的系统控制权限级别,拥有SYSCTRL权限的用户可以在实例中执行所有管理和维护命令。•SYSCTRL用户可以对实例中的任何数据库执行的命令示例如下:–db2start/db2stop–db2create/dropdatabase–db2create/droptablespace–db2backup/restore/rollforwarddatabase–db2runstats(针对任何表)–db2updatedbcfgfordatabase数据库名称•该权限供管理一个包含敏感数据的数据库管理器实例的用户使用。CS&TInformationCourseSYSMAINT权限•SYSMAINT权限是次高的系统控制权限级别,拥有SYSMAINT权限的用户可以发出的命令是拥有SYSCTRL权限的用户可以发出的命令的子集。•该权限提供对数据库管理器实例和它的数据库执行维护和实用操作的能力;•不允许直接访问数据库中的数据;•具有连接数据库的隐式特权,并可以执行具有SYSMON权限的用户能够执行的功能。•拥有SYSMAINT权限的用户不能创建或删除数据库或表空间。他们也不能访问数据库中的任何数据,除非他们被显式地授予访问数据所需的特权。CS&TInformationCourseDBADM权限•DBADM权限是一个数据库级权限,而不是实例级权限。•允许用户运行某些实用程序、发出数据库命令以及访问数据库中任何表中的数据。•DBADM用户对一个数据库有几乎完全的控制能力,还被自动地授予对数据库对象及其内容的所有特权。•该权限供需要完全访问数据库对象和数据,但是不需要完整的维护权限的管理员使用。CS&TInformationCourseLOAD权限•LOAD权限是一个数据库级权限,所以它可以被分配给用户和用户组。•LOAD权限允许用户对表发出LOAD命令。当用大量数据填充表时,LOAD命令通常用来替代插入或导入命令,它的速度更快。•只有拥有SYSADM或DBADM权限的用户能够对用户或用户组授予或撤消LOAD权限。CS&TInformationCourse授予和撤消权限•授予和撤消实例级权限如果使DB2GRP2拥有SYSMAINT权限,DB2GRP3拥有SYSMON权限如果想取消USER1的SYSMAINT权限,只需从DB2GRP2组中删除它,或者将SYSMAINT_GROUP参数的值改为另一个不包含它的组。CS&TInformationCourse授予和撤消权限•授予和撤消数据库级权限•对于DBADM权限,需要拥有SYSADM权限者,才可以对它进行授权;•必须具有SYSADM权限,才能撤消它。•只有拥有SYSADM或DBADM权限的用户能够对用户或用户组授予或撤消LOAD权限。将数据库级权限(比如DBADM、LOAD和CREATETAB)授予用户或组,可使用GRANT语句:•GRANTDBADMONDATABASETOUSERsally•要撤消数据库级权限,可使用REVOKE语句•REVOKELOADONDATABASEFROMGROUPmaintCS&TInformationCourse5.4DB2特权•特权分类:数据库级特权(针对数据库中的所有对象)和对象级特权(与特定的对象相关联)•显示特权的授予与撤消•隐式特权•间接特权•基于标签的访问控制CS&TInformationCourse特权分类•数据库级特权•表空间特权•模式特权•表/视图特权•索引特权•包特权•例程特权•序列特权CS&TInformationCourse显示特权的授予与撤消•授予特权GRANTINSERTONTABLEaccountTOUSERjeff•WITHGRANTOPTIONGRANTALTERIN,CREATEIN,DROPINONSCHEMAACCTTOGROUPG1WITHGRANTOPTION•CONTROL特权不能使用WITHGRANTOPTION子句向别的用户或组授予对象的CONTROL特权。这种特权必须专门授予用户或组,并只能由具有SYSADM或DBADM权限的用户执行。•撤消特权REVOKEALTERONTABLEstaffFROMUSERjen•查看特权GETAUTHORIZATIONSCS&TInformationCourse隐式特权•在某些情况下,当用户创建一个数据库对象(比如表或包)时,或者授予DBADM权限级别时,数据库管理器会隐式地将某些特权授予用户。CS&TInformationCourse间接特权•当数据库管理器执行包时,可以间接获得特权。包中包含可执行格式的一个或多个SQL语句。•直接权限意味着此权限是明确授予此用户的。间接权限意味着此用户属于具有此权限的组。•如果用户被明确授予了此权限,同时又属于具有此权限的组,那么他同时具有直接和间接权限。CS&TInformationCourse基于标签的访问控制•基于标签的访问控制(Label-basedAccessControl,简称LBAC)为DBA提供了在表的行或列级限制读/写特权的能力,它允许以更细的粒度控制谁有权访问单独的行或列。•LBAC由安全管理员通过创建安全策略来设置。•每个表只能由一个安全策略来控制,但是系统中可以有任意数量的安全策略。CS&TInformationCourse5.5审计•DB2UDB审计(Audit)功能是DBA工具箱中一件重要的安全性工具。它可以对一系列预定义的数据库事件进行审计跟踪,并允许DBA维护审计跟踪。•审计发生在实例级,所以一旦启动审计功能,它就会审计那个实例中所有数据库的活动。•审计功能必须单独启动和停止•只有具有SYSADM权限的用户才能配置和使用审计功能。CS&TInformationCourse审计缓冲区Db2audit.logDb2audi

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功