db2与oracle的全面对比9


例如,要从用户
JEN
撤消
STAFF
表上的 ALTER 特权,可以发出以下语句:

REVOKE ALTER ON TABLE staff FROM USER jen

要从
JEN
撤消
STAFF
表上的所有特权,可以发出以下语句:

REVOKE ALL PRIVILEGES ON TABLE staff FROM USER jen

 

授予和撤消数据库权限

也使用 GRANT 语句将数据库级权限(比如 DBADM、LOAD 和 CREATETAB)授予用户或组。例如,以下语句将 DBADM 权限授予用户
SALLY
:

GRANT DBADM ON DATABASE TO USER sally

以下语句将 LOAD 权限授予组
MAINT
:

GRANT LOAD ON DATABASE TO GROUP maint

如果 LOAD 操作定义为 REPLACE,那么具有 LOAD 权限的用户还需要 INSERT 特权(为了将数据装载到表中)和 DELETE 特权。

要撤消数据库级权限,使用 REVOKE 语句。例如,要从组 MAINT 撤消 LOAD 权限,可以发出以下语句:

REVOKE LOAD ON DATABASE FROM GROUP maint

 

 

 

5.6    注意事项

    Public组

DB2 UDB 在内部使用一个伪组 PUBLIC,可以对它授予和撤消特权。PUBLIC 实际上并不是外部安全设施中定义的一个组,而是一种向成功经过身份验证的用户分配特权的方式。可以对 PUBLIC 组授予和撤消特权,就像对其他组一样。例如,要从 PUBLIC 组撤消 IMPLICIT_SCHEMA 权限,可以发出以下语句:

REVOKE IMPLICIT_SCHEMA ON DATABASE FROM PUBLIC

重要的是,要理解向 PUBLIC 组授予特权的安全影响。任何提供了有效用户 ID 和密码的用户都能够执行 PUBLIC 组有权执行的操作。

    With grant option

GRANT ALTERIN, CREATEIN, DROPIN ON SCHEMA ACCT TO GROUP G1 WITH GRANT OPTION

    要撤消 DBADM 权限,必须具有 SYSADM 权限。

    在采用server认证的方式下,数据库用户就是os用户。若要新增一个用户,先要在操作系统上新增一个用户,在数据库内进行授权来实现访问控制

第6章     !异常的公式结尾数据库审计

6.1    审计功能介绍


图 1. DB2 UDB 架构中的 DB2 审计功能

 

表 1. 可以审计的数据库事件类型

事件类型

描述

审计
(AUDIT)

    当审计设置被更改或者审计日志被访问时生成记录

权限检查
(CHECKING)

    在对访问或操作 DB2 对象或函数的尝试进行权限检查时生成记录

对象维护
(OBJMAINT)

    在创建或删除数据对象时生成记录

安全性维护
(SECMAINT)

    在授予或者撤销对象或数据库特权或 DBADM 权限时生成记录

    当数据库管理器的安全性配置参数 SYSADM_GROUP、SYSCTRL_GROUP 或 SYSMAINT_GROUP 被修改时也会生成记录

系统管理
(SYSADMIN)

    当执行需要 SYSADM、SYSMAINT 或 SYSCTRL 权限的操作时生成记录

用户验证
(VALIDATE)

    当认证用户或检索系统安全性信息时生成记录

操作上下文
(CONTEXT)

    当执行数据库操作时,生成记录以便显示操作上下文

    这样分类可以更好地解释审计记录。当与日志的事件相关符字段一起使用时,可以从一组事件跟踪回到一个数据库操作,该数据库操作可以提供分析审计结果所需的上下文。

例如,如果只需要审计数据库连接和系统管理事件类型,那么在配置审计功能时应该仅指定 VALIDATE 和 SYSADMIN 事件类型

 

6.2    如何配置审计

如果将缓冲区大小设置为 0,那么将发生同步写日志操作,而不使用审计缓冲区。在这种配置中,生成审计记录的事件必须等到记录被写到磁盘上,才能返回它的状态,配置audit_buf_sz命令:

 

update dbm cfg using audit_buf_sz 10

 

清单 1. db2audit 实用程序的语法

                

>>-db2audit–+-configure–+-reset——————-+————————–+-><

| ‘-| Audit Configuration |-‘ |

+-describe——————————————————–+

+-extract–| Audit Extraction |———————————–+

+-flush———————————————————–+

+-prune–+-all————————————————–+-+

| ‘-date–YYYYMMDDHH–+——————————–+-‘ |

| ‘-pathname–Path_with_temp_space-‘ |

+-start———————————————————–+

‘-stop————————————————————‘

 

Audit Configuration:

 

|–+—————————–+–+———————+—–>

‘-scope–+-all————–+-‘ ‘-status–+-both—-+-‘

| .-,————. | +-success-+

| V | | ‘-failure-‘

‘—+-audit—-+-+-‘

+-checking-+

+-objmaint-+

+-secmaint-+

+-sysadmin-+

+-validate-+

‘-context–‘

 

>–+———————–+————————————|

‘-errortype–+-audit–+-‘

‘-normal-‘

 

Audit Extraction:

 

|–+-file–output-file———————+——————–>

‘-delasc–+—————————+-‘

‘-delimiter–load-delimiter-‘

 

>–+—————————-+——————————->

| .-,————. |

| V | |

‘-category—-+-audit—-+-+-‘

+-checking-+

+-objmaint-+

+-secmaint-+

+-sysadmin-+

+-validate-+

‘-context–‘

 

>–+————————-+–+———————+———|

‘-database–database-name-‘ ‘-status–+-success-+-‘

‘-failure-‘

 

为了更好地理解如何使用该命令语法,本文给出了一些例子。在第一个例子中,需要将审计功能配置成只记录失败的 AUDIT 和 VALIDATE 事件,并使用 NORMAL 错误处理选项。为此,发出以下 db2audit 命令:

db2audit configure scope audit, validate status failure errortype normal 

 

为了将审计功能配置成监视所有事件类型,同时记录成功的和失败的尝试,并且使用 AUDIT 错误处理选项,可发出以下 db2audit 命令:

db2audit configure scope all status both errortype audit 

 

为了查看当前审计配置设置和状态,请使用以下 db2audit 命令:

db2audit describe 

 

 

其它相关命令:

db2audit configure reset

db2audit start/stop

db2audit flush

db2audit extract delasc delimiter !

db2audit extract delasc delimiter ! category audit database sample status failure

db2audit prune date YYYYMMDDHH

db2audit prune all
					

6.3    注意事项

    Db2审计日志,以文件的形式的存放。该文件可读性比较差,需要后续做进一步的入库处理

    Db2审计没有做到对特定对象的单独审计,所有的审计都针对数据库级,在实际中可用性不大。审计功能的开启将对数据库性能产生较大的影响

    同步与异步写日志选择

在选择同步还是异步写日志时,要考虑的一个重要因素就是当数据库管理器发生错误时情况会怎样。如果采用异步写日志的方式,那么在发生错误时,可能会丢失多条审计记录,因为这些审计记录在被写到磁盘之前都在缓冲区中。如果同步写日志,那么只会丢失一条记录,因为发生的错误最多只能阻止一条审计记录被写到磁盘。

 


 

以下文章点击率最高

Loading…

     

如果这文章对你有帮助,请扫左上角微信支付-支付宝,给于打赏,以助博客运营