OpenText Analytics Database 旧Vertica

技術情報サイト

Analytics Database

v9.1で追加された監査機能(Vertica 9.1新機能)

公開日:
更新日:
セキュリティ
新バージョン/機能
#監査
#サイズ

はじめに

Vertica 9.1から、監査機能を提供するための新しい4つのシステムテーブルが追加されました。
これらのシステムテーブルを使うことで、データへのアクセスや不正な変更を参照できるようになりました。

監査用に追加された新しいシステムテーブル

Vertica 9.1で追加された監査用の4つのシステムテーブルを以下に示します。

AUDIT_MANAGING_USERS_PRIVILEGES
LOG_PARAMS
LOG_QUERIES
LOG_TABLES

追跡可能なSQL文

上記のシステムテーブルを使って追跡することができるSQL文を以下に示します。

DROP AUTHENTICATION文
GRANT/REVOKE文
LDAP連携に関する設定パラメータ

監査用のシステムテーブル

新しい4つのシステムテーブルについての概要とテーブル情報を以下に示します。

・AUDIT_MANAGING_USERS_PRIVILEGESシステムテーブル
ユーザの作成、変更、削除、権限の付与、認証についてのサマリー情報が格納されます。
このテーブルは、後述のLOG_PARAMSテーブル、LOG_QUERIESテーブル、LOG_TABLESテーブルを結合してフィルターしたものです。

カラム名データ型説明
ISSUED_TIMEVARCHARクエリが実行された時刻
USER_NAMEVARCHARクエリを実行したユーザ
USER_IDINTEGERクエリを実行したユーザのユーザID
HOSTNAMEVARCHARクエリを実行した接続元のホスト名、IPアドレスまたはURL
SESSION_IDVARCHARセッションID。ユニークなセッションIDですが、セッションがクローズされると再利用されます
AUDIT_TYPEVARCHAR監査の操作タイプ
・Query
・Parameter
・Table
AUDIT_TAG_NAMEVARCHAR特定のParameter、Query、またはTableのタグ名
REQUEST_TYPEVARCHARリクエストされたクエリのタイプ
・QUERY
・DDL
・LOAD
・UTILITY
・TRANSACTION
・PREPARE
・EXECUTE
・SET
・SHOW
など
REQUEST_IDINTEGERリクエストされた権限のID
SUBJECTVARCHARクエリの対象となったテーブルまたはパラメータの名前、もしくはサブジェクト
REQUESTVARCHARリクエストされた権限のリスト
SUCCESSVARCHARオペレーションの成功可否
CATEGORYVARCHAR監査カテゴリ

・LOG_PARAMSシステムテーブル
認証とセキュリティに関するパラメータ設定の変更をサマリーした情報を提供します。

カラム名データ型説明
ISSUED_TIMEVARCHARクエリが実行された時刻
USER_NAMEVARCHARクエリを実行したユーザ
USER_IDINTEGERクエリを実行したユーザのユーザID
HOSTNAMEVARCHARクエリを実行した接続元のホスト名、IPアドレスまたはURL
SESSION_IDVARCHARセッションID。ユニークなセッションIDですが、セッションがクローズされると再利用されます
AUDIT_TYPEVARCHAR監査の操作タイプ。
Parameterが表示されます。
AUDIT_TAG_NAMEVARCHAR特定のParameter、Query、またはTableのタグ名
REQUEST_TYPEVARCHARリクエストされたクエリのタイプ
・QUERY
・DDL
・LOAD
・UTILITY
・TRANSACTION
・PREPARE
・EXECUTE
・SET
・SHOW
など
REQUEST_IDINTEGERリクエストされた権限のID
SUBJECTVARCHARパラメータに設定された新しい値
REQUESTVARCHARリクエストされた権限のリスト
SUCCESSVARCHARオペレーションの成功可否
CATEGORYVARCHAR監査カテゴリ

・LOG_QUERIESシステムテーブル
認証とセキュリティに関するクエリ情報のサマリーを提供します。

カラム名データ型説明
ISSUED_TIMEVARCHARクエリが実行された時刻
USER_NAMEVARCHARクエリを実行したユーザ
USER_IDINTEGERクエリを実行したユーザのユーザID
HOSTNAMEVARCHARクエリを実行した接続元のホスト名、IPアドレスまたはURL
SESSION_IDVARCHARセッションID。ユニークなセッションIDですが、セッションがクローズされると再利用されます
AUDIT_TYPEVARCHAR監査の操作タイプ。
Queryが表示されます。
AUDIT_TAG_NAMEVARCHAR特定のQueryのタグ名
REQUEST_TYPEVARCHARリクエストされたクエリのタイプ
・QUERY
・DDL
・LOAD
・UTILITY
・TRANSACTION
・PREPARE
・EXECUTE
・SET
・SHOW
など
REQUEST_IDINTEGERリクエストされた権限のID
SUBJECTVARCHARクエリのサブジェクト
REQUESTVARCHARリクエストされた権限のリスト
SUCCESSVARCHARオペレーションの成功可否
CATEGORYVARCHAR監査カテゴリ

・LOG_TABLESシステムテーブル
システムテーブルへのクエリやシステムテーブルへのアクセスした情報を提供します。

カラム名データ型説明
ISSUED_TIMEVARCHARクエリが実行された時刻
USER_NAMEVARCHARクエリを実行したユーザ
USER_IDINTEGERクエリを実行したユーザのユーザID
HOSTNAMEVARCHARクエリを実行した接続元のホスト名、IPアドレスまたはURL
SESSION_IDVARCHARセッションID。ユニークなセッションIDですが、セッションがクローズされると再利用されます
AUDIT_TYPEVARCHAR監査の操作タイプ。
Tableが表示されます。
AUDIT_TAG_NAMEVARCHAR特定のTableのタグ名
REQUEST_TYPEVARCHARリクエストされたクエリのタイプ
Queryが表示されます。
REQUEST_IDINTEGERリクエストされた権限のID
SUBJECTVARCHARクエリで問い合わせされたテーブルの名前
REQUESTVARCHARリクエストされた権限のリスト
SUCCESSVARCHARオペレーションの成功可否
CATEGORYVARCHAR監査カテゴリ

システムテーブルの保存サイズ

これらのシステムテーブルの保存期間は時間的な期間ではなく、情報量のサイズです。
これらのシステムテーブルは、DCテーブルと呼ばれる特殊なテーブルを情報元としており、複数のDCテーブルを結合しています。
そのため、これらのシステムテーブルの保存サイズはDCテーブルの保存サイズに依存します。
各システムテーブルの情報元となるDCテーブルと、各DCテーブルの保存サイズを以下に記載します。

LOG_PARAMSの情報元

dc_requests_issued
dc_requests_completed
dc_session_starts
dc_configuration_changes
vs_audit_categories

LOG_PARAMSの情報元となるDCテーブルの保存サイズ
以下のSQLで、上限サイズと現在のサイズを確認することができます。

select
    node_name,
    table_name,
    component,
    disk_size_kb,
    current_disk_bytes
from
    data_collector
where
    table_name = 'dc_requests_issued'
or  table_name = 'dc_requests_completed'
or  table_name = 'dc_session_starts'
or  table_name = 'dc_configuration_changes'
order by
    table_name
;

    node_name    |        table_name        |      component       | disk_size_kb | current_disk_bytes
-----------------+--------------------------+----------------------+--------------+--------------------
 v_ssbm_node0001 | dc_configuration_changes | ConfigurationChanges |         2000 |               1534
 v_ssbm_node0002 | dc_configuration_changes | ConfigurationChanges |         2000 |               1758
 v_ssbm_node0003 | dc_configuration_changes | ConfigurationChanges |         2000 |               1758
 v_ssbm_node0001 | dc_requests_completed    | RequestsCompleted    |        50000 |             294693
 v_ssbm_node0002 | dc_requests_completed    | RequestsCompleted    |        50000 |                  0
 v_ssbm_node0003 | dc_requests_completed    | RequestsCompleted    |        50000 |                  0
 v_ssbm_node0001 | dc_requests_issued       | RequestsIssued       |        50000 |             389759
 v_ssbm_node0002 | dc_requests_issued       | RequestsIssued       |        50000 |                  0
 v_ssbm_node0003 | dc_requests_issued       | RequestsIssued       |        50000 |                  0
 v_ssbm_node0001 | dc_session_starts        | SessionStarts        |         5000 |             531264
 v_ssbm_node0002 | dc_session_starts        | SessionStarts        |         5000 |             521414
 v_ssbm_node0003 | dc_session_starts        | SessionStarts        |         5000 |             523382
(12 rows)

LOG_QUERIESの情報元

dc_requests_issued
dc_requests_completed
dc_session_starts
vs_audit_categories

LOG_QUERIESの情報元となるDCテーブルの保存サイズ
以下のSQLで、上限サイズと現在のサイズを確認することができます。

select
    node_name,
    table_name,
    component,
    disk_size_kb,
    current_disk_bytes
from
    data_collector
where
    table_name = 'dc_requests_issued'
or  table_name = 'dc_requests_completed'
or  table_name = 'dc_session_starts'
order by
    table_name
;

    node_name    |      table_name       |     component     | disk_size_kb | current_disk_bytes
-----------------+-----------------------+-------------------+--------------+--------------------
 v_ssbm_node0001 | dc_requests_completed | RequestsCompleted |        50000 |             295029
 v_ssbm_node0002 | dc_requests_completed | RequestsCompleted |        50000 |                  0
 v_ssbm_node0003 | dc_requests_completed | RequestsCompleted |        50000 |                  0
 v_ssbm_node0001 | dc_requests_issued    | RequestsIssued    |        50000 |             390398
 v_ssbm_node0002 | dc_requests_issued    | RequestsIssued    |        50000 |                  0
 v_ssbm_node0003 | dc_requests_issued    | RequestsIssued    |        50000 |                  0
 v_ssbm_node0001 | dc_session_starts     | SessionStarts     |         5000 |             551841
 v_ssbm_node0002 | dc_session_starts     | SessionStarts     |         5000 |             541023
 v_ssbm_node0003 | dc_session_starts     | SessionStarts     |         5000 |             543081
(9 rows)

LOG_TABLESの情報元

dc_requests_issued
dc_requests_completed
dc_session_starts
dc_projections_used
vs_audit_categories

LOG_TABLESの情報元となるDCテーブルの保存サイズ
以下のSQLで、上限サイズと現在のサイズを確認することができます。

select
    node_name,
    table_name,
    component,
    disk_size_kb,
    current_disk_bytes
from
    data_collector
where
    table_name = 'dc_requests_issued'
or  table_name = 'dc_requests_completed'
or  table_name = 'dc_session_starts'
or  table_name = 'dc_projections_used'
order by
    table_name
;

    node_name    |      table_name       |     component     | disk_size_kb | current_disk_bytes
-----------------+-----------------------+-------------------+--------------+--------------------
 v_ssbm_node0001 | dc_projections_used   | ProjectionsUsed   |       150000 |              34520
 v_ssbm_node0002 | dc_projections_used   | ProjectionsUsed   |       150000 |                  0
 v_ssbm_node0003 | dc_projections_used   | ProjectionsUsed   |       150000 |                  0
 v_ssbm_node0001 | dc_requests_completed | RequestsCompleted |        50000 |             295700
 v_ssbm_node0002 | dc_requests_completed | RequestsCompleted |        50000 |                  0
 v_ssbm_node0003 | dc_requests_completed | RequestsCompleted |        50000 |                  0
 v_ssbm_node0001 | dc_requests_issued    | RequestsIssued    |        50000 |             391756
 v_ssbm_node0002 | dc_requests_issued    | RequestsIssued    |        50000 |                  0
 v_ssbm_node0003 | dc_requests_issued    | RequestsIssued    |        50000 |                  0
 v_ssbm_node0001 | dc_session_starts     | SessionStarts     |         5000 |             589076
 v_ssbm_node0002 | dc_session_starts     | SessionStarts     |         5000 |             578962
 v_ssbm_node0003 | dc_session_starts     | SessionStarts     |         5000 |             581194
(12 rows)

AUDIT_MANAGING_USERS_PRIVILEGESの情報元

LOG_PARAMS
LOG_QUERIES
LOG_TABLES

AUDIT_MANAGING_USERS_PRIVILEGESの情報元となるDCテーブルの保存サイズ
上記システムテーブルに依存します。

検証バージョンについて

この記事の内容はVertica 9.1で確認しています。