蘇偉
摘 要
有效的管控好數據庫操作員對后臺核心數據的批量操作,建立起批量數據操作的預判、授權、審計流程,可減少核心數據批量誤操作的概率,降低人為因素失誤造成企業核心數據破壞的風險。本文研究如何利用現有的賬號權限審計管理系統,通過引入數據庫批量操作語句管控的設計思想,提供一套有效的數據庫批量操作的管控體系。
【關鍵詞】數據庫 批量操作 管控體系
1 引言
隨著企業信息化建設程度不斷提高,信息系統的大量核心業務數據存放在各系統的后臺數據庫中。這些數據的日常維護大多是由系統管理和開發人員進行的。由于工作需求,他們都具備了直接訪問獲取和處理核心數據的權限。如果無法控制對于數據庫中核心數據的訪問行為,就有可能導致核心業務數據的泄露和破壞,直接影響到企業正常生產經營,因此必須加強數據庫操作的管理。
根據維護經驗,信息系統故障不少來至內部人員的批量誤操作。俗話說得好:“事后控制不如事中控制,事中控制不如事前控制”,我們就是需要通過數據庫庫批量操作語句的管控設計,有效地降低操作員批量誤操作的風險。
2 技術需求概述
數據庫操作語句中,批量操作語句由于能夠通過單條語句影響到多條數據,尤其是update/insert/delete等,直接實現對于數據的批量修改、新增和刪除,需要具備專項管控手段,進行嚴格管控。通過設計數據庫批量操作語句管控系統,可以在出現用戶使用批量操作語句進行數據庫操作時,及時發現并進行管控,保護數據庫核心數據安全。設計和實現目標是:
(1)能夠攔截用戶的數據庫操作語句;
(2)能夠針對攔截到的語句進行語句分析,判斷是否匹配觸發規則;
(3)針對符合規則語句判斷其操作影響數據條數,是否達到或超過管控閥值;
(4)針對達到管控閥值的語句能夠阻斷其執行,并提示用戶進行授權申請;
(5)針對未達到管控閥值或未匹配觸發規則的語句直接放行,保證其能正常執行;
(6)觸發規則、管控閥值可以由系統管理員通過系統提供界面進行設定;
(7)對于語句阻斷、用戶申請授權、語句授權通過執行的過程能夠記錄完整日志,提供查詢。
3 體系架構分析及設計
3.1 場景環境
現場已部署帳號權限審計管理的堡壘機系統,用戶日常訪問數據庫都是使用部署在堡壘機上的數據庫客戶端訪問工具進行訪問。現場已接入管理數據庫資源類型主要是Oracle,使用配套訪問工具為PL/SQL Developer。
3.2 典型腳本分析
Oracle環境下常用的批量操作語句類型如下(暫只考慮Insert/Update/Delete三種典型類型):
(1)INSERT類型。
INSERT table1 values(v1, v2);
INSERT table1(c1,c2,c3) (select v1,v2,v3 from table2)
(2)UPDATE類型。
UPDATE table1 set col_na = v;
UPDATE table1 set col_na1 = v1 where col_na2 in (select col_na2 from table2 where col_na3 = v3);
UPDATE table1 set (col_na1, col_na2) = (select (col_na1, col_na2) from table2 where col_na3 = table1.col_na3) where table1.col_na4 = v;
(3)DELETE類型。
DELETE table1;
DELETE from table1 where col_na in (select col_na from table2 where col_na = v);
由于根據本系統需求特性,只需要判斷最外層操作影響范圍,對于復雜嵌套語句,皆可歸并為以上實例類型。系統需要針對以上類型語句進行解析,判斷實際操作影響行數,根據設定閥值進行管控觸發。
3.3 核心思想及實現流程
針對批量操作語句,進行解析和重新組裝,根據語句中相關查詢條件,判斷該語句執行后影響數據條目數。針對同類型操作,同操作對象,預先設定影響條目數上限閥值,一旦發現影響條目數超過閥值,則要求用戶進行操作授權申請。本系統核心功能流程如下:
(1)用戶通過plsql發送執行sql語句;
(2)系統攔截該語句;
(3)系統對于該語句進行解析;
(4)系統判斷解析結果是否有攔截策略相匹配,如沒有,則放過該語句繼續執行;
(5)如果有匹配策略,則獲取該語句執行影響條數;
(6)判斷影響條數是否超過策略定義的閥值,如未達到,則放過該語句繼續執行;
(7)如超過,則提示用戶進行需要進行授權申請,申請未通過,則該語句被阻斷,并提示用戶;
(8)如申請通過,則該語句繼續執行。
3.4 授權設定
對于觸發審批后,PLSQL界面彈出窗口提示用戶當前操作必須獲取授權才能執行,我們系統設計時可以考慮現場授權和遠程手機短信方式進行授權。
3.5 操作日志
對于數據庫操作日志,我們依托堡壘機的審計功能進行記錄
針對每次管控觸發,提供授權日志,包括授權觸發、授權審批、授權結果等過程的操作人、操作時間、操作觸發控制點、審批人、審批結果等,都進行相關記錄。
4 結束語
通過以上的管控體系,有效地減少了批量操作失誤的概率,有效的保障企業信息系統的平穩運行。但是系統不是萬能的,有再好的管控系統也可能會出現人為誤操作,對于核心數據的操作務必謹慎再謹慎,落實有方案、有審批、有備份、有復核、有審計的管理要求,才能有效的規避相關誤操作的發生,這才是最終的管理目標。
參考文獻
[1](瑞士)Christian Antognini 著,童家旺 等譯.Oracle性能診斷藝術[M].北京:人民郵電出版社,2009.
[2]嚴冬梅 著,數據庫原理M].北京:清華大學出版社,2011.
作者單位
中國聯通廣西分公司 廣西壯族自治區南寧市 530028endprint
摘 要
有效的管控好數據庫操作員對后臺核心數據的批量操作,建立起批量數據操作的預判、授權、審計流程,可減少核心數據批量誤操作的概率,降低人為因素失誤造成企業核心數據破壞的風險。本文研究如何利用現有的賬號權限審計管理系統,通過引入數據庫批量操作語句管控的設計思想,提供一套有效的數據庫批量操作的管控體系。
【關鍵詞】數據庫 批量操作 管控體系
1 引言
隨著企業信息化建設程度不斷提高,信息系統的大量核心業務數據存放在各系統的后臺數據庫中。這些數據的日常維護大多是由系統管理和開發人員進行的。由于工作需求,他們都具備了直接訪問獲取和處理核心數據的權限。如果無法控制對于數據庫中核心數據的訪問行為,就有可能導致核心業務數據的泄露和破壞,直接影響到企業正常生產經營,因此必須加強數據庫操作的管理。
根據維護經驗,信息系統故障不少來至內部人員的批量誤操作。俗話說得好:“事后控制不如事中控制,事中控制不如事前控制”,我們就是需要通過數據庫庫批量操作語句的管控設計,有效地降低操作員批量誤操作的風險。
2 技術需求概述
數據庫操作語句中,批量操作語句由于能夠通過單條語句影響到多條數據,尤其是update/insert/delete等,直接實現對于數據的批量修改、新增和刪除,需要具備專項管控手段,進行嚴格管控。通過設計數據庫批量操作語句管控系統,可以在出現用戶使用批量操作語句進行數據庫操作時,及時發現并進行管控,保護數據庫核心數據安全。設計和實現目標是:
(1)能夠攔截用戶的數據庫操作語句;
(2)能夠針對攔截到的語句進行語句分析,判斷是否匹配觸發規則;
(3)針對符合規則語句判斷其操作影響數據條數,是否達到或超過管控閥值;
(4)針對達到管控閥值的語句能夠阻斷其執行,并提示用戶進行授權申請;
(5)針對未達到管控閥值或未匹配觸發規則的語句直接放行,保證其能正常執行;
(6)觸發規則、管控閥值可以由系統管理員通過系統提供界面進行設定;
(7)對于語句阻斷、用戶申請授權、語句授權通過執行的過程能夠記錄完整日志,提供查詢。
3 體系架構分析及設計
3.1 場景環境
現場已部署帳號權限審計管理的堡壘機系統,用戶日常訪問數據庫都是使用部署在堡壘機上的數據庫客戶端訪問工具進行訪問。現場已接入管理數據庫資源類型主要是Oracle,使用配套訪問工具為PL/SQL Developer。
3.2 典型腳本分析
Oracle環境下常用的批量操作語句類型如下(暫只考慮Insert/Update/Delete三種典型類型):
(1)INSERT類型。
INSERT table1 values(v1, v2);
INSERT table1(c1,c2,c3) (select v1,v2,v3 from table2)
(2)UPDATE類型。
UPDATE table1 set col_na = v;
UPDATE table1 set col_na1 = v1 where col_na2 in (select col_na2 from table2 where col_na3 = v3);
UPDATE table1 set (col_na1, col_na2) = (select (col_na1, col_na2) from table2 where col_na3 = table1.col_na3) where table1.col_na4 = v;
(3)DELETE類型。
DELETE table1;
DELETE from table1 where col_na in (select col_na from table2 where col_na = v);
由于根據本系統需求特性,只需要判斷最外層操作影響范圍,對于復雜嵌套語句,皆可歸并為以上實例類型。系統需要針對以上類型語句進行解析,判斷實際操作影響行數,根據設定閥值進行管控觸發。
3.3 核心思想及實現流程
針對批量操作語句,進行解析和重新組裝,根據語句中相關查詢條件,判斷該語句執行后影響數據條目數。針對同類型操作,同操作對象,預先設定影響條目數上限閥值,一旦發現影響條目數超過閥值,則要求用戶進行操作授權申請。本系統核心功能流程如下:
(1)用戶通過plsql發送執行sql語句;
(2)系統攔截該語句;
(3)系統對于該語句進行解析;
(4)系統判斷解析結果是否有攔截策略相匹配,如沒有,則放過該語句繼續執行;
(5)如果有匹配策略,則獲取該語句執行影響條數;
(6)判斷影響條數是否超過策略定義的閥值,如未達到,則放過該語句繼續執行;
(7)如超過,則提示用戶進行需要進行授權申請,申請未通過,則該語句被阻斷,并提示用戶;
(8)如申請通過,則該語句繼續執行。
3.4 授權設定
對于觸發審批后,PLSQL界面彈出窗口提示用戶當前操作必須獲取授權才能執行,我們系統設計時可以考慮現場授權和遠程手機短信方式進行授權。
3.5 操作日志
對于數據庫操作日志,我們依托堡壘機的審計功能進行記錄
針對每次管控觸發,提供授權日志,包括授權觸發、授權審批、授權結果等過程的操作人、操作時間、操作觸發控制點、審批人、審批結果等,都進行相關記錄。
4 結束語
通過以上的管控體系,有效地減少了批量操作失誤的概率,有效的保障企業信息系統的平穩運行。但是系統不是萬能的,有再好的管控系統也可能會出現人為誤操作,對于核心數據的操作務必謹慎再謹慎,落實有方案、有審批、有備份、有復核、有審計的管理要求,才能有效的規避相關誤操作的發生,這才是最終的管理目標。
參考文獻
[1](瑞士)Christian Antognini 著,童家旺 等譯.Oracle性能診斷藝術[M].北京:人民郵電出版社,2009.
[2]嚴冬梅 著,數據庫原理M].北京:清華大學出版社,2011.
作者單位
中國聯通廣西分公司 廣西壯族自治區南寧市 530028endprint
摘 要
有效的管控好數據庫操作員對后臺核心數據的批量操作,建立起批量數據操作的預判、授權、審計流程,可減少核心數據批量誤操作的概率,降低人為因素失誤造成企業核心數據破壞的風險。本文研究如何利用現有的賬號權限審計管理系統,通過引入數據庫批量操作語句管控的設計思想,提供一套有效的數據庫批量操作的管控體系。
【關鍵詞】數據庫 批量操作 管控體系
1 引言
隨著企業信息化建設程度不斷提高,信息系統的大量核心業務數據存放在各系統的后臺數據庫中。這些數據的日常維護大多是由系統管理和開發人員進行的。由于工作需求,他們都具備了直接訪問獲取和處理核心數據的權限。如果無法控制對于數據庫中核心數據的訪問行為,就有可能導致核心業務數據的泄露和破壞,直接影響到企業正常生產經營,因此必須加強數據庫操作的管理。
根據維護經驗,信息系統故障不少來至內部人員的批量誤操作。俗話說得好:“事后控制不如事中控制,事中控制不如事前控制”,我們就是需要通過數據庫庫批量操作語句的管控設計,有效地降低操作員批量誤操作的風險。
2 技術需求概述
數據庫操作語句中,批量操作語句由于能夠通過單條語句影響到多條數據,尤其是update/insert/delete等,直接實現對于數據的批量修改、新增和刪除,需要具備專項管控手段,進行嚴格管控。通過設計數據庫批量操作語句管控系統,可以在出現用戶使用批量操作語句進行數據庫操作時,及時發現并進行管控,保護數據庫核心數據安全。設計和實現目標是:
(1)能夠攔截用戶的數據庫操作語句;
(2)能夠針對攔截到的語句進行語句分析,判斷是否匹配觸發規則;
(3)針對符合規則語句判斷其操作影響數據條數,是否達到或超過管控閥值;
(4)針對達到管控閥值的語句能夠阻斷其執行,并提示用戶進行授權申請;
(5)針對未達到管控閥值或未匹配觸發規則的語句直接放行,保證其能正常執行;
(6)觸發規則、管控閥值可以由系統管理員通過系統提供界面進行設定;
(7)對于語句阻斷、用戶申請授權、語句授權通過執行的過程能夠記錄完整日志,提供查詢。
3 體系架構分析及設計
3.1 場景環境
現場已部署帳號權限審計管理的堡壘機系統,用戶日常訪問數據庫都是使用部署在堡壘機上的數據庫客戶端訪問工具進行訪問。現場已接入管理數據庫資源類型主要是Oracle,使用配套訪問工具為PL/SQL Developer。
3.2 典型腳本分析
Oracle環境下常用的批量操作語句類型如下(暫只考慮Insert/Update/Delete三種典型類型):
(1)INSERT類型。
INSERT table1 values(v1, v2);
INSERT table1(c1,c2,c3) (select v1,v2,v3 from table2)
(2)UPDATE類型。
UPDATE table1 set col_na = v;
UPDATE table1 set col_na1 = v1 where col_na2 in (select col_na2 from table2 where col_na3 = v3);
UPDATE table1 set (col_na1, col_na2) = (select (col_na1, col_na2) from table2 where col_na3 = table1.col_na3) where table1.col_na4 = v;
(3)DELETE類型。
DELETE table1;
DELETE from table1 where col_na in (select col_na from table2 where col_na = v);
由于根據本系統需求特性,只需要判斷最外層操作影響范圍,對于復雜嵌套語句,皆可歸并為以上實例類型。系統需要針對以上類型語句進行解析,判斷實際操作影響行數,根據設定閥值進行管控觸發。
3.3 核心思想及實現流程
針對批量操作語句,進行解析和重新組裝,根據語句中相關查詢條件,判斷該語句執行后影響數據條目數。針對同類型操作,同操作對象,預先設定影響條目數上限閥值,一旦發現影響條目數超過閥值,則要求用戶進行操作授權申請。本系統核心功能流程如下:
(1)用戶通過plsql發送執行sql語句;
(2)系統攔截該語句;
(3)系統對于該語句進行解析;
(4)系統判斷解析結果是否有攔截策略相匹配,如沒有,則放過該語句繼續執行;
(5)如果有匹配策略,則獲取該語句執行影響條數;
(6)判斷影響條數是否超過策略定義的閥值,如未達到,則放過該語句繼續執行;
(7)如超過,則提示用戶進行需要進行授權申請,申請未通過,則該語句被阻斷,并提示用戶;
(8)如申請通過,則該語句繼續執行。
3.4 授權設定
對于觸發審批后,PLSQL界面彈出窗口提示用戶當前操作必須獲取授權才能執行,我們系統設計時可以考慮現場授權和遠程手機短信方式進行授權。
3.5 操作日志
對于數據庫操作日志,我們依托堡壘機的審計功能進行記錄
針對每次管控觸發,提供授權日志,包括授權觸發、授權審批、授權結果等過程的操作人、操作時間、操作觸發控制點、審批人、審批結果等,都進行相關記錄。
4 結束語
通過以上的管控體系,有效地減少了批量操作失誤的概率,有效的保障企業信息系統的平穩運行。但是系統不是萬能的,有再好的管控系統也可能會出現人為誤操作,對于核心數據的操作務必謹慎再謹慎,落實有方案、有審批、有備份、有復核、有審計的管理要求,才能有效的規避相關誤操作的發生,這才是最終的管理目標。
參考文獻
[1](瑞士)Christian Antognini 著,童家旺 等譯.Oracle性能診斷藝術[M].北京:人民郵電出版社,2009.
[2]嚴冬梅 著,數據庫原理M].北京:清華大學出版社,2011.
作者單位
中國聯通廣西分公司 廣西壯族自治區南寧市 530028endprint