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 語句將數據庫級權限(比如 DBADMLOAD 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_GROUPSYSCTRL_GROUP SYSMAINT_GROUP 被修改時也會生成記錄

系統管理
(SYSADMIN)

    當執行需要 SYSADMSYSMAINT 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…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營