[经济学]第六章-DB2存取控制课件.ppt

上传人(卖家):三亚风情 文档编号:3369038 上传时间:2022-08-24 格式:PPT 页数:49 大小:601KB
下载 相关 举报
[经济学]第六章-DB2存取控制课件.ppt_第1页
第1页 / 共49页
[经济学]第六章-DB2存取控制课件.ppt_第2页
第2页 / 共49页
[经济学]第六章-DB2存取控制课件.ppt_第3页
第3页 / 共49页
[经济学]第六章-DB2存取控制课件.ppt_第4页
第4页 / 共49页
[经济学]第六章-DB2存取控制课件.ppt_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、第六章 DB2存取控制DB2存取控制 安全策略 DB2认证 DB2权限 DB2特权数据库安全性考虑 允许谁访问实例和数据库 在何处以及如何验证用户的密码 授予用户的权限级别 允许用户运行的命令 允许用户对数据所做的操作 允许用户对数据库对象所作的操作DB2安全机制 认证(Authentication)核实用户身份,典型的手段是要求用户提供用户名和口令。这个过程由DB2之外的安全机制负责。这些安全设施通常包括:操作系统的安全机制,以及第三方的安全产品。权限(Authority)是一种高层次的用户权力,通常授予需要对数据库和实例进行管理和维护的用户。权限主要用于对实例内部对象的存取,控制用户是否能

2、够执行某项管理任务。特权(Privilege)是针对数据库对象的用户权力,通常授予只需对数据库对象进行存取的用户,用来控制他们对数据库对象的存取。DB2认证简介DB2认证控制着数据库安全性计划的下列几个方面:允许谁访问实例和/或数据库 在何处/如何验证用户的密码需要进行DB2认证过程的命令:ATTACH(连接实例)CONNECT(连接数据库)如果在使用Attach和Connect命令的时候,没有提供用户名和口令,系统将会使用用户在登录操作系统时所使用的用户名和口令进行认证,认证的过程是由DB2之外的安全设施来进行的。DB2支持的认证类型 认证类型即如何进行认证以及在何处进行认证。DB2支持的认

3、证类型包括:类 型描 述server在服务器上进行认证。serverencrypt在服务器上进行认证。在将口令(密码)发送给服务器之前,先在客户机上对口令(密码)进行加密。client在客户机机器上进行认证。kerberos认证由 kerberos 安全性软件执行。krbserverencrypt如果客户机设置为 kerberos,则认证由 kerberos 安全性软件执行。否则,就使用 server_encrypt。在服务器上设置认证 认证类型可以设置在DB2服务器端和DB2客户端。如果要在数据库服务器上设置认证类型,可通过设置数据库管理器配置参数authentication实现。该参数为实

4、例级参数,因此实例中所有数据库都会受到该参数设置的影响。db2 updata dbm cfg using authentication server_encrypy db2stop db2start在客户机上设置认证 对于连接到非主机数据库的客户机,可通过catalog database命令设置认证类型。客户机的认证设置必须匹配客户机所连接的数据库服务器的认证设置。db2 catalog database sample at node nd1 authentication server在客户机上设置认证 当服务器将认证类型设置成Client的时候,希望由客户端代替服务器端进行认证。但最终认证类

5、型是否在客户端进行还要由两个因素决定:一是客户端的受信任程度;第二是数据库管理器配置文件中的两个参数。TRUST_ALLCLNTS TRUST_CLNTAUTH客户机的信任程度 根据客户机操作系统提供的安全机制,把客户机分成以下三类:不可信的客户机:运行在Windows98/ME操作系统上的客户机。主机客户机:运行在类似OS/390这样的主机操作系统上的客户机。可信的客户机:运行在Windows NT,Windows2000,Unix等具备完备的安全机制的操作系统上的客户端。TRUSTALLCLNTS 该参数确定是否信任所有客户端,指定是否所有的客户端都可以对用户进行验证。取值作 用 YES

6、参数缺省值。迫使所有的客户端(包括不受信任的客户端)对用户进行验证。NO 所有不受信任的客户端将在服务器端进行验证,在连接时必须提供用户名和口令。所有受信任的客户端将在客户端进行用户验证。DRDAONLY只有MVS、OS/390、VM、VSE和OS/400系统上的DB2客户端可以代表数据库服务器进行用户验证。TRUSTCLNTAUTH 该参数用来设定当用户进行实例或数据库连接的时候,如果提供了用户名和口令,则认证过程会在什么地方发生。取 值 作 用client验证过程将在客户端进行。如果连接时没有提供用户名和口令,系统将自动使用用户登录到客户端操作系统时提供的用户名和口令进行验证。server

7、验证过程将在服务器端进行DB2权限简介 用户通过了认证,DB2内部的安全机制将会控制用户对数据库系统的存取,这种存取控制主要是通过为用户指定某些权限或者特权来决定的。DB2权限控制数据库安全性计划的以下几方面:授予用户的权限级别 允许用户运行的命令 允许用户读和修改的数据 允许用户创建、修改和删除的数据库对象SYSADM权限 SYSADM权限是DB2系统中最高级别的权限。对某个实例具备SYSADM权限的用户能够对该实例以及实例内的任何数据库执行任何DB2操作,还能够访问数据库内的数据,并能够授予或取消特权和权限。SYSADM用户是唯一允许更新DBM配置文件的用户。如果要赋予某个用户SYSADM

8、权限,必须将该用户添加到相应的用户组中,然后再更改数据库管理器配置参数SYSADM_GROUP的参数值为该用户组的名称。db2 update dbm cfg using SYSADM_GROUP grp111SYSCTRL权限SYSCTRL是比SYSADM低一级的实例级用户权限,SYSCTRL允许用户执行大多数的数据库管理和维护任务,但是缺省情况下,具有该权限的用户不能存取数据库对象,不过,SYSCTRL权限具有创建数据库的权力,对于自己创建的数据库中的数据库对象,SYSCTRL用户具有绝对的控制权。要赋予某个用户SYSCTRL权限,必须将该用户添加到相应的用户组中,然后再更改数据库管理器配置

9、参数SYSCTRL_GROUP的值为该用户组名称。SYSMAINT权限 SYSMAINT权限是比SYSCTRL低一级的实例级权限。SYSMAINT权限允许用户执行系统的维护工作,具有该权限的用户在缺省情况下不能创建数据库。要赋予某个用户SYSMAINT权限,必须将该用户添加到相应的用户组中,然后再更改数据库管理器配置参数SYSMAINT _GROUP的值为该用户组名称。具有SYSMAINT权限的用户可以发出的命令是具有SYSCTRL权限的用户所允许发出的命令的子集。SYSMAINT用户只能执行与维护有关的任务,例如:db2start/db2stopdb2 backup/restore/roll

10、forward databasedb2 runstats(可以对任何表执行该命令)db2 update db cfg for database dbnameSYSMAINT权限DBADM权限 DBADM权限是一种数据库级权限而不是实例级权限,是数据库级别的最高权限。DBADM权限对于数据库中的数据库对象具有绝对的控制权,还可以将数据库对象上的相应特权赋予其它用户。要赋予某个用户DBADM权限,必须由该数据库所在实例上具有SYSADM权限的用户通过grant命令来授予。DBADM用户不能执行下列任务:drop databasedrop/create tablespacebackup/restor

11、e databaseupdate db cfg for database db nameLOAD权限 Load权限是一种比较特殊的数据库级别的权限。因为该权限只是专门针对Load操作这样一个任务而设定的。拥有该权限的用户可以在不具备SYSADM或者DBADM权限的情况下完成Load操作。如果想赋予某个用户Load权限,必须由具有SYSADM或者DBADM权限的用户通过grant命令来授予。db2 grant load on database to user tst1 db2 grant insert on table sales to user tst1具有LOAD权限的用户可以运行下列命令:

12、db2 quiesce tablespace for tabledb2 list tablespacedb2 runstats(任何表)db2 load insert(必须对表具有插入特权)db2 load restart/terminate after load insert(必须对表具有插入特权)db2 load replace(必须对表具有插入和删除特权)db2 load restart/terminate after load replace(必须对表具有插入和删除特权)LOAD权限DB2特权特权是创建和存取数据库对象的能力。按功能点划分 拥有者特权(control特权)个体特权 隐式

13、特权 按范围划分 数据库级别特权 对象级别特权 拥有者特权 又称为控制权,如果用户在某个数据库对象上拥有这种特权,该用户就可以对该对象拥有全面的控制,既可以存取该对象,也可以将该对象上的特权赋予其它用户。通常情况下,数据库对象的创建者会自动拥有该对象的拥有者特权。DB2特权个体特权这类特权允许用户对数据库对象进行特定操作,比如一个用户拥有了某个表上的select特权,该用户就可以对该表进行select操作。隐式特权这种特权是指由于用户执行了某些操作或被授予了更高级别的权限和特权的时候,DB2自动授予该用户的特权。DB2特权数据库特权数据库BINDADDIMPLICIT_SHCEMACREATE

14、_NOT_FENCEDCONNECTCREATETABLOADQUIESCE_CONNECTCREATE_EXTERNAL_ROUTINE数据库特权描 述 CREATETAB用户可以在数据库内创建表BINDADD用户可以使用 BIND 命令在数据库内创建程序包CONNECT用户可以连接到数据库CREATE_NOT_FENCED 用户可以创建非隔离的、由用户定义的函数(UDF)IMPLICIT_SCHEMA用户可以不使用 CREATE SCHEMA 命令而在数据库内隐式地创建模式LOAD用户可以将数据装入到表中QUIESCE_CONNECT用户可以在数据库处于停顿状态时访问数据库CREATE_E

15、XTERNAL_ROUTINE用户可以创建一个外部例程(UDF、存储过程等),供应用程序和数据库的其他用户使用数据库特权数据库对象特权CONTROL(视图视图)ALLDELETEINSERTSELECTUPDATEALLALTERDELETEINDEXINSERTREFERENCESSELECTUPDATECONTROL(表表)CONTROL(索引索引)ALTERINCREATEINDROPIN(模式模式)CONTROL(别名别名)CONTROL(表空间表空间)CONTROL(程序包程序包)BINDEXECUTEUSEALLALTERINDEXREFERENCES数据库数据库对象对象数据库对象

16、特权特权名称相关对象描 述CONTROL表、视图、索引、包、别名、单值类型、用户定义的函数和序列提供对象的所有权限。在数据库对象创建时自动分配给对象的创建者。具有此特权的用户还将该对象上的特权授予其他用户或者取消这些特权。DELETE表和视图允许用户从对象删除记录。INSERT表和视图允许用户借助 INSERT 或 IMPORT 命令将记录插入对象。SELECT表和视图提供使用 select 语句查看对象内容的能力UPDATE表和视图允许用户使用 update 语句修改对象内的记录。ALTER表允许用户使用 alter 语句修改对象定义。数据库对象特权特权名称 相关对象描 述INDEX表允许用

17、户使用 create index 语句在对象上创建索引。REFERENCES表提供在对象上创建或删除外键约束的能力。BIND包允许用户重新联编现有的包。EXECUTE包、过程、函数和方法允许用户执行包和例程。ALTERIN模式允许用户修改模式内的对象定义。CREATEIN模式允许用户在模式内创建对象。DROPIN模式允许用户删除模式内的对象。控制对数据库对象的存取 控制授权有3种方式:通过使用GRANT和REVOKE语句进行显式授权 通过创建和撤消对象进行隐式授权与程序包有关的间接特权显式授权授予特权 可以通过GRANT语句进行显式授权。GRANT privilege ON object-ty

18、pe object-name TO USER|GROUP|PUBLIC authorization-name WITH GRANT OPTIONWITH GRANT OPTION使获得授权的用户能够将获得的特权授予其他用户。示例 将employee表的select特权授予用户heron,并且heron能将获得的特权授予其它用户。grant select on employee to user heron with grant option 将employee表的select特权授予组heron grant select on employee to group heron 要授予对大多数数据库

19、对象的特权,用户必须对该对象具有SYSADM权限、DBADM权限或CONTROL特权,或者用户必须持有使用 WITH GRANT OPTION授予的特权。要将CONTROL特权授予其它用户,该用户必须具有SYSADM或DBADM权限;要授予DBADM特权,用户必须具有SYSADM权限。显式授权授予特权显式授权撤销特权 REVOKE语句允许特许用户撤销先前授予其他用户的特权。REVOKE privilege ON object-type object-name FROM USER|GROUP|PUBLIC authorization-name 要撤销赋予数据库对象的特权,必须对该对象具有DBAD

20、M权限、SYSADM权限或CONTROL特权。要撤销CONTROL特权,必须具有SYSADM或DBADM权限;要撤销DBADM权限,必须具有SYSADM权限。如果已经把一个特权授予有相同名称的一个用户和一个组,当撤销此特权时必须指定group或user关键字。从用户heron撤销多employee表的select特权 revoke select on employee from user heron 从组heron撤销多employee表的select特权 revoke select on employee from group heron示例用户、用户组和PUBLIC DB2用户一定是操作系

21、统用户;PUBLIC是特殊的DB2用户组,代表所有DB2用户;在大多数情况下,一个用户拥有的特权等于授予该用户的特权、授予该用户所在用户组的特权以及授予PUBLIC的特权三者的并集。隐式特权 隐式特权是在用户执行某些操作(通常是创建数据库和数据库对象以及被授予某些高级别权力)时,自动授予用户的特权。当所创建的对象被删除时,这些特权也会被隐式地取消。但在显式取消更高级别特权时,这些隐式特权却不会被隐式地取消。隐式特权示例(一)创建数据库时,系统隐式授予的特权有:授予数据库的创建者BINDADD、CONNECT、CREATETAB、CREATE_EXTERNAL_ROUTINE、CREATE_NO

22、T_FENCED_ROUNTINE、IMPLICIT_SCHEMA、LOAD和QUIESCE_CONNECT特权 授予PUBLIC组BINDADD、CREATETAB、CONNECT和IMPLICIT_SCHEMA特权 授予PUBLIC组系统编目表和系统编目视图上的SELECT特权 授予PUBLIC组USERSPACE1的USE特权.隐式特权示例(二)SYSADM授予某用户DBADM权限的时候,系统隐式发生下列授权活动:同时授予该用户该数据库上的BINDADD、CONNECT、CREATETAB、CREATE_EXTERNAL_ROUTINE、CREATE_NOT_FENCED_ROUTINE

23、、IMPLICIT_SCHEMA、LOAD和QUIESCE_CONNECT特权 用户创建数据库对象时,系统隐式发生下列授权活动:同时授予对象创建者该对象上的CONTROL特权。用户创建视图时,系统隐式授予视图创建者的特权不会超出该创建者在基表上拥有的特权。间接特权 间接特权与程序包有关。当用户执行一个涉及某些特权的程序包时,将自动获得执行程序包中包含的静态SQL语言所需的权限,不需要显式授权。例如:程序包包含对某个表的插入操作,如果用户具有程序包上的 EXECUTE特权,则该用户不需要具有该表上的INSERT特权就可以完成插入操作。通过视图进行安全控制 如果表中存在部分敏感数据,不能让特定用户

24、查看,可以通过视图进行安全控制:db2 create view v1 as select empno,empname,phone from employee db2 revoke select on table employee from mel db2 grant select on view v1 to mel基于标签的访问控制 DB2 9 中新增的一个概念是基于标签的访问控制(LBAC)。LBAC 为 DBA 提供了在表的行或列级限制读/写特权的能力。在以前,进行这种限制的惟一方法是创建一个视图,授权用户使用这个视图,并撤消对基表的访问权。应用程序相关特权要进行的工作需要的特权预编译数据

25、库上的CONNECT特权绑定,在数据库中生成程序包数据库上的CONNECT和BINDADD特权 执行包中每个静态SQL语句的特权修改已经存在的程序包数据库上的CONNECT和BIND特权 执行包中每个静态SQL语句的特权执行一个程序包数据库上的CONNECT特权 程序包上的EXECUTE特权删除一个程序包数据库上的CONNECT特权 程序包上的CONTROL特权审计 DB2 UDB审计(Audit)功能是DBA工具箱中一件重要的安全性工具。它可以对一系列预定义的数据库事件进行审计跟踪,并允许DBA维护审计跟踪。审计发生在实例级,所以一旦启动审计功能,它就会审计那个实例中所有数据库的活动。审计功能必须单独启动和停止 只有具有SYSADM权限的用户才能配置和使用审计功能。审计缓冲区Db2audit.logDb2audit.log审计配置服务器DB2实例数据库数据库本章小结 本章介绍了DB2 中三种主要的安全机制,这三种机制分别为身份验证(authentication)、授权(authorization)和特权(privilege)。还详细介绍了使用命令撤消、授予权限和特权的方法。此外还介绍了审计,审计是 DBA 工具箱中一件重要的安全性工具。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文([经济学]第六章-DB2存取控制课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|