OpenAMの新しい監査ログについて (1)

OpenAM 13.0.0では、監査ログの仕組みが刷新され、ForgeRock製品共通の出力形式に統一されています。また、次の監査ログ機能が提供されました。

  • CSV監査ロギング
  • Syslog監査ロギング
  • JDBC監査ロギング

さらに、OpenAM 13.5.0からは、次の機能も追加されています。

  • JMS監査ロギング
  • ElasticSearch監査ロギング

従来からある(12.0.x以前の)監査ログに代わって、デフォルトではCSV監査ロギング機能が有効になっており、[OpenAMの設定ディレクトリ]/[コンテキスト名]/log (例えば、/opt/tomcat7/openam/openam/log) ディレクトリに以下のようなファイルを出力します。

イベント ファイル名 説明
Access access.csv すべてのアクセスに対して、誰が、いつ、何をしたのかを出力します。
Activity activity.csv 13.xでは、エンドユーザーのセッションの状態の変更のみがログに記録されます。今後のリリースでは、ユーザーの信頼できるデバイス、UMAポリシー、OAuth 2.0のトークンなどへの変更が記録される予定です。
Authentication authentication.csv いつ、どのようにユーザーが認証されたか、また認証に関連するイベントを出力します。
Configuration config.csv 誰が、いつ、OpenAMの設定変更をしたかを出力します。設定の変更を行った対象を示すuserIdは、config.csvにはキャプチャされませんが、access.csvのtransactionIdから追跡できます。

この中の一つのaccess.csvを表示してみると、以下のような情報が出力されています。

"_id","timestamp","eventName","transactionId","userId","trackingIds","server.ip","server.port","client.ip","client.port","request.protocol","request.operation","request.detail","http.request.secure","http.request.method","http.request.path","http.request.queryParameters","http.request.headers","http.request.cookies","http.response.headers","response.status","response.statusCode","response.detail","response.elapsedTime","response.elapsedTimeUnits","component","realm"
"9c651f8b-d475-4be6-ab49-a4267125c751-491","2016-08-08T13:30:04.634Z","AM-ACCESS-OUTCOME","9c651f8b-d475-4be6-ab49-a4267125c751-489",,"[""""]","192.168.1.101","8080","192.168.1.12","47108","CREST","ACTION","{""action"":""validate""}","false","POST","http://openam01.example.co.jp:8080/openam/json/sessions","{""_action"":[""validate""]}","{""accept"":[""application/json, text/javascript, */*; q=0.01""],""accept-api-version"":[""protocol=1.0,resource=1.1""],""host"":[""openam01.example.co.jp:8080""],""origin"":[""http://openam01.example.co.jp:8080""],""referer"":[""http://openam01.example.co.jp:8080/openam/XUI/""],""user-agent"":[""Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/51.0.2704.79 Chrome/51.0.2704.79 Safari/537.36""],""x-nosession"":[""true""],""x-password"":[""anonymous""],""x-requested-with"":[""XMLHttpRequest""],""x-username"":[""anonymous""]}","{""JSESSIONID"":""F1B35FF947BFD9EF7C9DDC026A1C15F4"",""amlbcookie"":""01"",""i18next"":""ja""}",,"SUCCESSFUL",,,"298","MILLISECONDS","Session","/"
"9c651f8b-d475-4be6-ab49-a4267125c751-496","2016-08-08T13:30:04.870Z","AM-ACCESS-OUTCOME","9c651f8b-d475-4be6-ab49-a4267125c751-494",,"[""428f5cd47cea8c1d01""]",,,"192.168.1.12","47108",,,,"false","POST","http://openam01.example.co.jp:8080/openam/json/authenticate","{}","{""accept"":[""application/json, text/javascript, */*; q=0.01""],""accept-api-version"":[""protocol=1.0,resource=2.0""],""host"":[""openam01.example.co.jp:8080""],""origin"":[""http://openam01.example.co.jp:8080""],""referer"":[""http://openam01.example.co.jp:8080/openam/XUI/""],""user-agent"":[""Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/51.0.2704.79 Chrome/51.0.2704.79 Safari/537.36""],""x-nosession"":[""true""],""x-password"":[""anonymous""],""x-requested-with"":[""XMLHttpRequest""],""x-username"":[""anonymous""]}","{""JSESSIONID"":""F1B35FF947BFD9EF7C9DDC026A1C15F4"",""amlbcookie"":""01"",""i18next"":""ja""}",,"SUCCESSFUL",,,"4","MILLISECONDS","Authentication","/"
"9c651f8b-d475-4be6-ab49-a4267125c751-507","2016-08-08T13:30:08.698Z","AM-ACCESS-OUTCOME","9c651f8b-d475-4be6-ab49-a4267125c751-499","id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org","[""428f5cd47cea8c1d01""]",,,"192.168.1.12","47108",,,,"false","POST","http://openam01.example.co.jp:8080/openam/json/authenticate","{}","{""accept"":[""application/json, text/javascript, */*; q=0.01""],""accept-api-version"":[""protocol=1.0,resource=2.0""],""host"":[""openam01.example.co.jp:8080""],""origin"":[""http://openam01.example.co.jp:8080""],""referer"":[""http://openam01.example.co.jp:8080/openam/XUI/""],""user-agent"":[""Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/51.0.2704.79 Chrome/51.0.2704.79 Safari/537.36""],""x-nosession"":[""true""],""x-password"":[""anonymous""],""x-requested-with"":[""XMLHttpRequest""],""x-username"":[""anonymous""]}","{""JSESSIONID"":""F1B35FF947BFD9EF7C9DDC026A1C15F4"",""i18next"":""ja"",""amlbcookie"":""01""}",,"SUCCESSFUL",,,"8","MILLISECONDS","Authentication","/"

従来の監査ログの1つであったamSSO.access(以下)と比較してみると、出力される情報量が増えているのが分かります。

#Version: 1.0
#Fields: time Data ContextID LoginID IPAddr LogLevel Domain MessageID LoggedBy NameID ModuleName HostName 
"2016-08-08 22:29:54" /usr/share/tomcat7/openam/openam/log/|/usr/share/tomcat7/openam/openam/log/|File|File|OFF|OFF|INACTIVE|ACTIVE|INFO|INFO 4690fe938b6fdd2b01 "cn=dsameuser,ou=DSAME Users,dc=openam,dc=forgerock,dc=org" "Not Available" INFO dc=openam,dc=forgerock,dc=org LOG-3 "cn=dsameuser,ou=DSAME Users,dc=openam,dc=forgerock,dc=org" "Not Available" amSSO.access 192.168.1.101 
"2016-08-08 22:30:04" id=amadmin 2436c2b623da170301 id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org 192.168.1.12 INFO dc=openam,dc=forgerock,dc=org SESSION-4 "cn=dsameuser,ou=DSAME Users,dc=openam,dc=forgerock,dc=org" "Not Available" amSSO.access 192.168.1.12 
"2016-08-08 22:30:08" id=amadmin 428f5cd47cea8c1d01 id=amadmin,ou=user,dc=openam,dc=forgerock,dc=org 192.168.1.12 INFO dc=openam,dc=forgerock,dc=org SESSION-1 "cn=dsameuser,ou=DSAME Users,dc=openam,dc=forgerock,dc=org" "Not Available" amSSO.access 192.168.1.12 

新しい監査ログの設定は、管理コンソールの 設定 > グローバル > Audit Loggingで確認できます。

GlobalAuditConfig

information なお、13.0.0より前のバージョンで提供されていたロギング機能(管理コンソールの設定 > システム > ログ)は13.xでも利用できますが、デフォルトで非アクティブな状態になっており、今後のリリースでは廃止される予定になっています。

Screenshot from 2016-08-08 22-11-59

次回は、13.0.0で追加されたJDBC監査ログ機能について、調べた結果をまとめます。

広告

OpenAMの新しい監査ログについて (1)」への1件のフィードバック

  1. ピンバック: OpenAMの新しい監査ログについて (2) | OSS ∞ Lab

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中