91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PostgreSQL審計如何實現

發布時間:2021-11-26 09:14:51 來源:億速云 閱讀:569 作者:小新 欄目:大數據

小編給大家分享一下PostgreSQL審計如何實現,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

PostgreSQL 的審計還是要借助PostgreSQL的擴展pgaudit 來進行。有些熟悉PG的同學可能說,不是可以log_statement = all 來記錄所有的語句嗎,干嘛那么麻煩,自己去查日志不就好了。實際上如果公司有審計部門的情況下,這樣是過不了關的,需要一個與商業數據功能相差無幾的方式來面對審計部門的“親和力”。

安裝很簡單,如果熟悉extension的話,當然pgaudit需要加載鏈接庫中

PostgreSQL審計如何實現

與大部分的audit 的方式不同pg_audit記錄在標準的PostgreSQL日志中。Pgaudit通過在模塊加載時注冊自身并為executorStart、executorCheckPerms、processUtility和object_access提供掛鉤來工作。因此,pgaudit與另一種audit-trigger不同支持讀取(SELECT、COPY)。一般來說,使用pgaudit,我們可以有兩種操作模式,或者將它們結合使用:

session 模式或object 模式。

其中可以進行監控的方式

  • READ (select, copy from)

  • WRITE (insert, update, delete, truncate, copy to)

  • FUNCTION (function calls and DO blocks)

  • ROLE (grant, revoke, create/alter/drop role)

  • DDL (all DDL except those in ROLE)

  • MISC (discard, fetch, checkpoint, vacuum)

從上面可以審計監控的東西來說,還是很全面的。

下面我們可以來做一個測試

PostgreSQL審計如何實現

我們創建一個表,而這個表應該被audit 日志來記錄,我們看看audit 日志是否記錄了。從下圖可以看到

PostgreSQL審計如何實現

在日志中已經添加了audit 的記錄。

說明這個東西還是蠻好用的。日志的格式

  • AUDIT_TYPE - 告知你目前的audit 的方式是 session 還是 object

  • STATEMENT_ID - 主語句的會話ID

  • SUBSTATEMENT_ID - 主語句中每個子語句的順序ID。

  • Operation type 操作的方式是DDL DCL DML 

  • COMMAND -  操作的命令

  • OBJECT_TYPE - 操作的OBJECT 類型

  • OBJECT_NAME - 操作的OBJECT 類型的名字,例如表名,存儲過程名等等

  • STATEMENT - 執行的語句

  • PARAMETER - 相關的參數

此時有人可能提出,這個設計的不好,為什么不能設計到插入到表中,個人覺得有兩點,既然叫審計日志,1 他是提供審計的  2  他是日志 

如果日志在某些情況下爆發增長,怎么辦,塞滿整個表的存儲空間,從多方面考慮,讓日志存儲在適當的地方,其實是一個比較規范的做法。

下面我們來做幾個嘗試來看看審計日志是否能幫助我們,記錄相關的操作,下圖是PG相關的audit 選項。

PostgreSQL審計如何實現

相關的一些設置設什么意思

pgaudit.log

指定會話審計日志記錄哪些語句類。

可以設置的類別 read , write ,function,role ,ddl,misc , All 等

pgaudit.log_catalog

指定當一條語句中的所有關系都位于pg_catalog中時,應該啟用會話日志記錄。禁用此設置將減少來自psql和PgAdmin等工具的日志噪音,這些工具會大量查詢目錄。

pgaudit.log_relation

指定會話審計日志記錄是否應該為SELECT或DML語句中引用的每個關系(表、視圖等)創建單獨的日志條目。對于不使用對象審計日志記錄的窮舉日志記錄,這是一個非常有用的快捷方式。

例如我們要記錄 ddl ,role , functiton,以及更改系統配置 方面的操作記錄

PostgreSQL審計如何實現

PostgreSQL審計如何實現

當然,這樣的操作記錄也不是沒有缺點的,例如我想知道是那個賬戶做的某件事,這點還是沒有做到,僅僅是知道在什么時間做了什么。

以上是“PostgreSQL審計如何實現”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鹿邑县| 广饶县| 鄂托克前旗| 黑河市| 湘潭县| 富民县| 洪江市| 惠东县| 沽源县| 文昌市| 建瓯市| 台南县| 金堂县| 静安区| 合山市| 顺义区| 宜丰县| 米林县| 井陉县| 河曲县| 武平县| 广宁县| 儋州市| 宣威市| 大冶市| 宝山区| 赣榆县| 漾濞| 澎湖县| 大宁县| 宝鸡市| 宕昌县| 通渭县| 连城县| 宜兴市| 黔西| 西乡县| 清流县| 外汇| 重庆市| 永福县|