A. 如何掌握openGauss資料庫核心技術秘訣五:拿捏資料庫安全(4)
目錄
Ⅰ.openGauss安全機制概覽
Ⅱ.openGauss安全認證
Ⅲ.openGauss角色管理機制
Ⅳ.openGauss審計與追蹤
1.審計記錄機制
2.審計追蹤機制
3.統一審計
Ⅴ.openGauss數據安全技術
Ⅵ.openGauss雲安全技術
Ⅶ.openGauss智能安全機制
四.openGauss審計與追蹤
openGauss在部署完成後,實際上會有多個用戶參與數據管理。除了管理員用戶外,更多的是創建的普通用戶直接進行數據管理。用戶的多樣性會導致資料庫存在一些不可預期的風險。如何快速發現和追溯到這些異常的行為,則需要依賴審計機制和審計追蹤機制。
審計記錄機制 01
審計記錄的關鍵在於:
§ 定義何種資料庫操作行為需要進行日誌記錄。
§ 記錄的事件以何種形式展現和存儲。
只有有效的記錄了所關心的行為信息,才能依據這些行為進行問題審計和追溯,實現對系統的一個有效監督。
正如我們在「三權分立模型」章節描述的,進行許可權分離後,就出現了審計管理員(當然也可以使用普通角色管理模型中的系統管理員來擔當)。審計管理員最重要的作用在於對管理員以及普通用戶所有關心的行為進行記錄和審計追溯。審計首先要定義審計哪些資料庫行為,其次需要定義審計內容記錄在什麼文件中以及何種目錄下,最後需要定義清楚應提供何種介面供審計管理員進行審計查詢。
openGauss針對用戶所關心的行為提供了基礎審計能力,包括事件的發起者、發生的時間和發生的內容。openGauss的審計功能受總體開關audit_enabled控制,默認開啟。該開關不支持動態載入,需要重啟資料庫後才可以使功能的性質發生改變。在總體開關的基礎上,openGauss增加了每一個對應審計項的開關。只有相應的開關開啟,對應的審計功能項才能生效。
不同於總體開關,每一個對應的子審計項都支持動態載入,在資料庫運行期間修改審計開關的值,不需要重啟資料庫即可支持。審計的子項目包括如下的部分:
§ audit_login_logout:用戶登錄、注銷審計
§ audit_database_process:資料庫啟動、停止、恢復和切換審計
§ audit_user_locked:用戶鎖定和解鎖審計
§ audit_user_violation:用戶訪問越權審計
§ audit_grant_revoke:授權和回收許可權審計
§ audit_system_object:資料庫對象的Create、Alter和Drop操作審計
§ audit_dml_state:具體表的INSERT、UDPDATE和DELETE操作審計
§ audit_dml_state_select:select查詢操作審計
§ audit__exec:行為審計
§ audit_function_exec:審計執行function的操作
§ audit_set_parameter:審計設置參數的行為
定義完審計記錄行為後,當資料庫執行相關的操作,內核獨立的審計線程就會記錄審計日誌。
傳統的審計日誌保存方法有兩種,記錄到資料庫的表中以及記錄到OS文件中。前種方法由於表是資料庫的對象,在符合許可權的情況下就可以訪問到該審計表,當發生非法操作時,審計記錄的准確性難以得到保證。而後種方法雖然需要用戶維護審計日誌,但是比較安全,即使一個賬戶可以訪問資料庫,但不一定有訪問OS這個文件的許可權。
與審計日誌存儲相關的配置參數及其含義定義如下:
§ audit_directory:字元串類型,定義審計日誌在系統中的存儲目錄,一個相對於「/data」數據目錄的路徑,默認值為:/var/log/openGauss/perfadm/pg_audit,也可以由用戶指定。
§ audit_resource_policy:布爾類型,控制審計日誌的保存策略,即以空間還是時間限制為優先策略決定審計文件更新,默認值為on。
§ audit_space_limit:整型類型,定義允許審計日誌佔用的磁碟空間總量,默認值為1GB,在實際配置中需要結合環境進行總體考慮。
§ audit_file_remain_time:整型類型,定義保留審計日誌的最短時間要求,默認值為90,單位為天。特別的,如果取值為0,則表示無時間限制。
§ audit_file_remian_threshold:整型類型,定義審計目錄audit_directory下可以存儲的審計文件個數。默認值為1048576。
§ audit_rotation_size:整型類型,定義單個審計日誌文件的最大大小,當審計日誌文件大小超過此參數值時,新創建一個審計文件。
§ audit_rotation_interval:整型類型,定義新創建一個審計日誌文件的時間間隔。默認值為1天,單位為分鍾。
通過上述的這些配置參數,系統管理員用戶可以在查詢任務發生後找到對應的審計日誌,並進行有效歸檔。審計日誌文件也會按照參數指定的規則來進行更新、輪換等。
審計追蹤機制 02
openGauss將審計所產生的文件獨立存放在審計文件中,並按照產生的先後順序進行標記管理,並以特定的格式進行存儲(默認為二進制格式文件)。當審計管理員需要進行審計查詢時,通過執行函數pg_query_audit即可,其具體的語法如下所示:
其中,valid_start_time和valid_end_time定義了審計管理員將要審計的有效開始時間和有效結束時間;audit_log表示審計日誌信息所在的歸檔路徑,當不指定該參數時,默認查看鏈接當前實例的審計日誌文件(不區分具體的審計文件)。
值得注意的是,valid_start_time和valid_end_time的有效值為從valid_start_time日期中的00:00:00開始到valid_end_time日期中23:59:59之間。由於審計日誌中包含了眾多的信息,如時間、地點、行為分類等等,審計管理在獲得完整的信息後可以增加各種過濾條件來獲得相對應的更明確的信息。
統一審計 03
傳統審計依據開關定義了不同的審計組合行為。事實上,這種無區分對待的審計行為雖然記錄了所有想要審計的行為,但是對於通過審計日誌發現問題則顯得不那麼容易,且管理員無法為特定的用戶定義特定的行為,反而造成了系統處理的負擔。因此需要為審計添加更精細化管理的能力。
統一審計的目的在於通過一系列有效的規則在資料庫內部有選擇性執行有效的審計,從而簡化管理,提高資料庫生成的審計數據的安全性。本節所述的技術目前處於研發階段,對應產品尚未向客戶發布。
openGauss提供了一套完整的統一審計策略機制,依據不同任務的訴求對用戶的行為進行定製化審計管理。更進一步,openGauss的統一審計不僅可以依據用戶、依據表進行審計行為定義,同時還可以擴展至通過IP地址、APP的名稱來過濾和限制需要審計的內容。實際的語法如下所示:
其中,privilege_audit_clause定義語法如下:
該語法定義了針對DDL類語句的審計策略,其中LABEL表示一組資產集合,即資料庫對象的集合。access_audit_clause定義語法如下:
該語法定義了針對DML類語句的審計策略。filter_clause標記需要過濾的信息,常見的Filter types類型包括IP、APPS應用(訪問的應用名)、ROLES(資料庫系統用戶)以及LABEL對象。
一個有效的統一審計策略可參見如下:
表示創建針對CREATE/ALTER/DROP操作的審計策略,審計策略只對dev用戶在本地(local)執行CREATE/ALTER/DROP行為時生效。
未完待續......
B. 大數據技術有哪些 核心技術是什麼
隨著大數據分析市場迅速擴展,哪些技術是最有需求和最有增長潛力的呢?在Forrester Research的一份最新研究報告中,評估了22種技術在整個數據生命周期中的成熟度和軌跡。這些技術都對大數據的實時、預測和綜合洞察有著巨大的貢獻。
1. 預測分析技術
這也是大數據的主要功能之一。預測分析允許公司通過分析大數據源來發現、評估、優化和部署預測模型,從而提高業務性能或降低風險。同時,大數據的預測分析也與我們的生活息息相關。淘寶會預測你每次購物可能還想買什麼,愛奇藝正在預測你可能想看什麼,百合網和其他約會網站甚至試圖預測你會愛上誰……
2. NoSQL資料庫
NoSQL,Not Only SQL,意思是「不僅僅是SQL」,泛指非關系型資料庫。NoSQL資料庫提供了比關系資料庫更靈活、可伸縮和更便宜的替代方案,打破了傳統資料庫市場一統江山的格局。並且,NoSQL資料庫能夠更好地處理大數據應用的需求。常見的NoSQL資料庫有HBase、Redis、MongoDB、Couchbase、LevelDB等。
3. 搜索和知識發現
支持來自於多種數據源(如文件系統、資料庫、流、api和其他平台和應用程序)中的大型非結構化和結構化數據存儲庫中自助提取信息的工具和技術。如,數據挖掘技術和各種大數據平台。
4. 大數據流計算引擎
能夠過濾、聚合、豐富和分析來自多個完全不同的活動數據源的數據的高吞吐量的框架,可以採用任何數據格式。現今流行的流式計算引擎有Spark Streaming和Flink。
5. 內存數據結構
通過在分布式計算機系統中動態隨機訪問內存(DRAM)、快閃記憶體或SSD上分布數據,提供低延遲的訪問和處理大量數據。
6. 分布式文件存儲
為了保證文件的可靠性和存取性能,數據通常以副本的方式存儲在多個節點上的計算機網路。常見的分布式文件系統有GFS、HDFS、Lustre 、Ceph等。
7. 數據虛擬化
數據虛擬化是一種數據管理方法,它允許應用程序檢索和操作數據,而不需要關心有關數據的技術細節,比如數據在源文件中是何種格式,或者數據存儲的物理位置,並且可以提供單個客戶用戶視圖。
8. 數據集成
用於跨解決方案進行數據編排的工具,如Amazon Elastic MapRece (EMR)、Apache Hive、Apache Pig、Apache Spark、MapRece、Couchbase、Hadoop和MongoDB等。
9. 數據准備
減輕采購、成形、清理和共享各種雜亂數據集的負擔的軟體,以加速數據對分析的有用性。
10. 數據質量
使用分布式數據存儲和資料庫上的並行操作,對大型高速數據集進行數據清理和充實的產品。