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…

     

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