ossc-db / pgaudit

PostgreSQL Audit Extension
Other
2 stars 4 forks source link

(refactored branch) Filters do not work correctly in the Japanese object name #48

Open harada-toshi opened 7 years ago

harada-toshi commented 7 years ago

Overview

(Below, it is written in Japanese.)

概要

設定ファイル

[output]
        logger = 'serverlog'

[option]
        log_parameter = on

[rule]
        class = 'CONNECT'
        database = 'テストデータベース'

[rule]
        class = 'READ,WRITE,MISC'
        object_name = 'テストスキーマ.テストテーブル'

実行したSQL文

CREATE SCHEMA テストスキーマ;

CREATE TABLE テストスキーマ.テストテーブル ("識別子" integer, "データ" text);

PREPARE 準備文1(int, text) AS
  INSERT INTO テストスキーマ.テストテーブル VALUES ($1, $2);
EXECUTE 準備文1(1, 'あああ');

PREPARE 準備文2(int, text) AS
  SELECT * FROM テストスキーマ.テストテーブル WHERE "識別子" = $1 AND "データ" =  $2;
EXECUTE 準備文2(1, 'あああ');

PREPARE prep3(int, text) AS
  SELECT * FROM テストスキーマ.テストテーブル WHERE "識別子" = $1 AND "データ" =  $2;
EXECUTE prep3(1, 'あああ');

DROP TABLE テストスキーマ.テストテーブル;
DROP SCHEMA テストスキーマ;

SET ROLE フー;
SELECT 1;
RESET ROLE;

監査ログ

LOG:  AUDIT: SESSION,,,CONNECT,2017-03-07 20:49:15 JST,,,[local],[unknown],,0,00000,connection received: host=[local],,,,,
LOG:  connection received: host=[local]
LOG:  AUDIT: SESSION,,,CONNECT,2017-03-07 20:49:15 JST,テストデータベース,postgres,[local],[unknown],2/7,0,00000,connection authorized: user=postgres database=テストデータベース,,,,,
LOG:  connection authorized: user=postgres database=テストデータベース
LOG:  AUDIT: SESSION,1,1,MISC,2017-03-07 20:49:15 JST,テストデータベース,postgres,[local],psql,2/11,2492,,,EXECUTE,,,"EXECUTE 準備文1(1, 'あああ');",<none>
LOG:  AUDIT: SESSION,2,1,MISC,2017-03-07 20:49:15 JST,テストデータベース,postgres,[local],psql,2/13,0,,,EXECUTE,,,"EXECUTE 準備文2(1, 'あああ');",<none>
LOG:  AUDIT: SESSION,3,1,MISC,2017-03-07 20:49:15 JST,テストデータベース,postgres,[local],psql,2/15,0,,,EXECUTE,,,"EXECUTE prep3(1, 'あああ');",<none>
LOG:  AUDIT: SESSION,4,1,MISC,2017-03-07 20:49:15 JST,テストデータベース,postgres,[local],psql,2/18,0,,,SET,,,SET ROLE フー;,<none>
LOG:  AUDIT: SESSION,5,1,MISC,2017-03-07 20:49:15 JST,テストデータベース,postgres,[local],psql,2/20,0,,,RESET,,,RESET ROLE;,<none>
LOG:  AUDIT: SESSION,,,CONNECT,2017-03-07 20:49:15 JST,テストデータベース,postgres,[local],psql,,0,00000,disconnection: session time: 0:00:00.041 user=postgres database=テストデータベース host=[local],,,,,
LOG:  disconnection: session time: 0:00:00.041 user=postgres database=テストデータベース host=[local]
LOG:  AUDIT: SESSION,,,CONNECT,2017-03-07 20:49:15 JST,,,[local],[unknown],,0,00000,connection received: host=[local],,,,,
LOG:  connection received: host=[local]
LOG:  AUDIT: SESSION,,,CONNECT,2017-03-07 20:49:15 JST,テストデータベース,バー,[local],[unknown],2/21,0,00000,connection authorized: user=バー database=テストデータベース,,,,,
LOG:  connection authorized: user=バー database=テストデータベース
LOG:  AUDIT: SESSION,,,CONNECT,2017-03-07 20:49:15 JST,テストデータベース,バー,[local],psql,,0,00000,disconnection: session time: 0:00:00.004 user=バー database=テストデータベース host=[local],,,,,
LOG:  disconnection: session time: 0:00:00.004 user=バー database=テストデータベース host=[local]
LOG:  AUDIT: SESSION,,,CONNECT,2017-03-07 20:49:15 JST,,,[local],[unknown],,0,00000,connection received: host=[local],,,,,
LOG:  connection received: host=[local]
LOG:  connection authorized: user=postgres database=postgres
LOG:  disconnection: session time: 0:00:00.134 user=postgres database=postgres host=[local]
LOG:  AUDIT: SESSION,,,CONNECT,2017-03-07 20:49:16 JST,,,[local],[unknown],,0,00000,connection received: host=[local],,,,,
LOG:  connection received: host=[local]
LOG:  connection authorized: user=postgres database=postgres
LOG:  disconnection: session time: 0:00:00.007 user=postgres database=postgres host=[local]
LOG:  AUDIT: SESSION,,,CONNECT,2017-03-07 20:49:16 JST,,,[local],[unknown],,0,00000,connection received: host=[local],,,,,
LOG:  connection received: host=[local]
LOG:  connection authorized: user=postgres database=postgres
LOG:  disconnection: session time: 0:00:00.005 user=postgres database=postgres host=[local]
LOG:  AUDIT: SESSION,,,CONNECT,2017-03-07 20:58:33 JST,テストデータベース,postgres,[local],[unknown],2/7,0,00000,connection authorized: user=postgres database=テストデータベース,,,,,
LOG:  connection authorized: user=postgres database=テストデータベース
LOG:  AUDIT: SESSION,1,1,WRITE,2017-03-07 20:58:33 JST,テストデータベース,postgres,[local],psql,2/10,0,,,PREPARE,,,"PREPARE 準備文1(int, text) AS
          INSERT INTO テストスキーマ.テストテーブル VALUES ($1, $2);",<none>
LOG:  AUDIT: SESSION,2,1,WRITE,2017-03-07 20:58:33 JST,テストデータベース,postgres,[local],psql,2/11,0,,,INSERT,TABLE,"""テストスキーマ"".""テストテーブル""","PREPARE 準備文1(int, text) AS
          INSERT INTO テストスキーマ.テストテーブル VALUES ($1, $2);",1 あああ
[rule]
        class = 'READ,WRITE,MISC'
        object_name = '"テストスキーマ"."テストテーブル"'
FATAL:  invalid format parameter ""テストスキーマ"."テストテーブル"" of field "object_name" in rule section
LOG:  database system is shut down