| ||||||||||
| 前のページ 1 2 3 | ||||||||||
| PowerGres + securityの機能 - その2 | ||||||||||
最初のページで説明した通り、PowerGres + securityでは、ベースとなるPostgreSQL認証版によりIEC/ISO15408認証取得のために機能追加が行われています。ここでは2つ目の機能追加「ログ監査機能」について説明します。 | ||||||||||
| auditスキーマとログテーブル | ||||||||||
PostgreSQLには、データベースが出力したログをファイルに記録する機能が標準で実装されています。デフォルトではログファイルはデータベース領域のpg_logディレクトリに保存されています。 PowerGres + securityでは、このログをデータベースに保管するように設定します。作業としてログを格納するためのスキーマとオブジェクトを以下のように作成します。
表4:auditスキーマ内に作成されるオブジェクト ログファイルに記録されたメッセージをテーブルに登録するには、process_all_logs関数を実行します。この関数はC言語で作成されており、pg_logディレクトリ内のログファイルを読み込み、その内容をconnectionsテーブルとmessagesテーブルに登録します。 connectionsテーブルには接続のログが登録されています。「誰がどのデータベースに接続した」という情報はもちろん、接続から切断までの時間やセッションIDを閲覧することができます。24時間以内の接続に限って閲覧する場合は、connections_last_dayビューを使います(図3)。 まだ切断されていない接続(接続時間を格納するdurationなど)に関しては空欄となります。 messagesテーブルには、ログファイル内に記録される通常のメッセージが登録されます。ログファイルから時刻・ユーザ名などが抽出され、それぞれ対応するカラムに格納されるので、SQL文を使った条件検索などが容易に実行できるようになっています。 ※注2:1行に収めるために、ログレベルなど途中のカラムを省略しています。 この機能を使うと「特定のユーザだけのログを取得したい」や「4日前の14:00から14:15までのログを取得したい」といった情報の取得も簡単にできます。この機能によってログの解析が容易になり、ログの監査に役立つでしょう。 | ||||||||||
| まとめ | ||||||||||
今回はPowerGresファミリの新商品「PowerGres + security」について、PostgreSQLに追加された機能を中心に解説しました。データベースは特に重要なデータを扱うことが多いと思われます。PowerGres + securityを利用して、よりセキュアなデータベースのシステムを構築し、サポートで安心した運用を実施してみてはいかがでしょうか。 | ||||||||||
| 前のページ 1 2 3 | ||||||||||
| ||||||||||
| ||||||||||
| ||||||||||




