このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。
監査ログ
前提条件
サーバーで SSL を有効にします。詳細については、MATLAB Web App Server で SSL を有効にするを参照してください。
サーバー上で認証を有効にします。詳細については、認証を参照してください。
イベントカテゴリーとサポートされるイベント
監査ログを使用すると、ユーザー アクセスとアプリの使用状況を追跡および監視し、重要なイベントを記録できます。監査ログを有効にすると、次のことが可能になります。
ユーザー アクセスを追跡し、不正アクセスを識別してセキュリティを確保します。
ユーザー数や使用期間などのアプリの使用パターンに関する分析情報をアプリ開発者に提供します。
既存のツールと統合してさらに分析できる構造化データを生成します。
ログはイベント カテゴリに整理されており、各カテゴリにはログに記録できる特定のイベントが含まれます。構成 JSON では、イベント カテゴリは event_category
として指定されます。各カテゴリでサポートされている個体のイベントは supported_events_doc
の下にリストされており、各カテゴリでログに記録する特定のイベントは supported_events_doc
から選択され、構成 JSON の events
フィールドに配置されます。
event_category | supported_events_doc | 説明 |
---|---|---|
|
| これらのイベントは、サーバーの起動時と停止時など、サーバーの操作に関する情報を提供します。 |
|
| これらのイベントは、アプリの使用期間とアプリ管理に関連するアクションに関する情報を提供します。 |
|
| これらのイベントは、ログインとログアウトに関連するユーザーアクションに関する情報を提供します。 |
|
| これらのイベントは、承認が付与されたか拒否されたかに基づいて、ユーザーがアプリをアップロードまたは削除できるかどうかをキャプチャします。 |
各イベントにはユーザーの名前が含まれます。userinfo.json
ファイルが webapps_private
フォルダーに設定されている場合、ログ ファイルには UserID
キーの値が表示されます。userinfo.json
ファイルが存在しない場合は、ログ ファイルでは代わりに webapps_authn.json
ファイルの appConfig
セクションにある displayName
キーの値が使用されます。詳細については、ユーザーに基づいてWebアプリの動作をカスタマイズする を参照してください。
監査ログ ファイルは、サーバー ログ ディレクトリ内の auditlogs
という名前の別のフォルダーに書き込まれます。サーバー ログのデフォルトの場所は次のとおりです。
オペレーティング システム | ログフォルダの場所 |
---|---|
Windows® |
|
Linux® |
|
macOS |
|
監査ログを有効にする
監査ログを有効にするには:
auditlog.json
という名前のファイルを作成し、config
フォルダー内にあるwebapps_private
フォルダーに配置します。webapps_private
フォルダは次の場所にあります:オペレーティング システム フォルダーの場所 Windows
%ProgramData%\MathWorks\webapps\R2025a\config\webapps_private
Linux
/local/MathWorks/webapps/R2025a/config/webapps_private
macOS
/Library/Application Support/MathWorks/webapps/R2025a/config/webapps_private
auditlog.json
の JSON スキーマは次のとおりです。
{
"version": "<major>.<minor>.<patch>",
"log_file_max_size": "A numeric value representing the maximum size of a log file in MB",
"log_files_max_num": "A numeric value representing the maximum number of log files to retain",
"event_categories": [
{
"event_category": "server",
"enable": "<all | none | specified>",
"events": ["<start | stop>"],
"supported_events_doc": "<start, stop>"
},
{
"event_category": "app",
"enable": "<all | none | specified>",
"events": ["<usage | upload | delete>"],
"supported_events_doc": "<usage, upload, delete>"
},
{
"event_category": "authentication",
"enable": "<all | none | specified>",
"events": ["<login | logout>"],
"supported_events_doc": "<login, logout>"
},
{
"event_category": "authorization",
"enable": "<all | none | specified>",
"events": ["<grant | denial>"],
"supported_events_doc": "<grant, denial>"
}
]
}
バージョン:JSON スキーマのバージョンを指定します。R2025a のデフォルト値は
1.0.0
です。ログファイルの最大サイズ:ログ ファイルの最大サイズを MB 単位で表す数値を指定します。たとえば、最大ログ ファイル サイズを 10 MB に設定するには、
10
を使用します。ログファイルの最大数:保持するログ ファイルの最大数を表す数値を指定します。たとえば、最大 20 個のログ ファイルを保持するには、
20
を使用します。イベントカテゴリ:
event_categories
配列内の監査ログでサポートされるさまざまなイベント カテゴリを指定します。現在サポートされているイベント カテゴリは、server
、app
、authentication
、およびauthorization
です。有効にする:
enable
フィールドを使用して、監査ログの現在のイベント カテゴリを有効にするか無効にするかを指定します。サポートされている値は、all
、none
、およびspecified
です。specified
を選択した場合は、events
フィールドにリストされているイベントのみが記録されます。たとえば、カテゴリ内のすべてのイベントをログに記録するには、"all"
を使用します。イベントカテゴリ:
event_category
フィールドを使用して、ログに記録するイベントの種類を指定します。サポートされているカテゴリには、server
、app
、authentication
、authorization
が含まれます。たとえば、サーバー イベントのログ記録を指定するには、"server"
を使用します。イベント:
events
配列を使用して、ログに記録する特定のイベントを指定します。値は、それぞれがイベントを表す文字列の配列として指定するか、またはそれらのイベントをリストする単一のコンマ区切りの文字列として指定する必要があります。この配列は、enable
フィールドがspecified
に設定されている場合にのみ関連し、ここにリストされているイベントのみが監査ログに記録されることを保証します。たとえば、開始イベントと停止イベントをログに記録するには、["start", "stop"]
を使用します。サポートされているイベントドキュメント:
supported_events_doc
フィールドを使用して、各イベント カテゴリでサポートされるイベントを指定します。この情報は、ログ記録の目的でevents
配列に追加できるイベントをユーザーが判断するのに役立ちます。たとえば、start
やstop
などのサポートされているサーバー イベントを文書化するには、"start, stop"
を使用します。
auditlog.json
のサンプル ファイル
{
"version": "1.0.0",
"log_file_max_size": 100,
"log_files_max_num": 5,
"event_categories": [
{
"event_category": "server",
"enable": "specified",
"events": ["start", "stop"],
"supported_events_doc": "start, stop"
},
{
"event_category": "app",
"enable": "all",
"events": ["usage", "upload", "delete"],
"supported_events_doc": "usage, upload, delete"
},
{
"event_category": "authentication",
"enable": "specified",
"events": ["login"],
"supported_events_doc": "login, logout"
},
{
"event_category": "authorization",
"enable": "specified",
"events": ["grant"],
"supported_events_doc": "grant, denial"
}
]
}
サンプルログファイル
{ "timestamp": "2024-10-14 13:16:08", "category": "server", "event": "start" }
{ "timestamp": "2024-10-14 13:16:26", "category": "authentication", "event": "login", "user": "cinderella" }
{ "timestamp": "2024-10-14 13:20:59", "category": "authorization", "event": "grant", "action": "app_upload", "user": "alice" }
{ "timestamp": "2024-10-14 13:26:44", "category": "app", "event": "delete", "app_name": "app1.ctf" }
{ "timestamp": "2024-10-14 13:29:19", "category": "authorization", "event": "grant", "action": "app_upload", "user": "raya" }
{ "timestamp": "2024-10-14 13:29:24", "category": "app", "event": "delete", "app_name": "app2.ctf" }
{ "timestamp": "2024-10-14 13:29:49", "category": "authorization", "event": "grant", "action": "app_upload", "user": "cali" }
{ "timestamp": "2024-10-14 13:30:10", "category": "app", "event": "upload", "app_name": "app3.ctf" }
{ "timestamp": "2024-10-14 13:30:30", "category": "server", "event": "stop" }
{ "timestamp": "2024-10-14 13:31:00", "category": "app", "event": "usage", "app_name": "app4", "duration": "310" }
認証イベント
これらのイベントは、ログインに関連するユーザーアクションに関する情報を提供します。ログには、"login"
アクションのみが記録されます。以下に例を示します。
{"timestamp": "2024-10-14 13:16:26", "category": "authentication", "event": "login", "user": "cinderella"}
このログ エントリは、2024 年 10 月 14 日午後 1 時 16 分にユーザー "cinderella"
がシステムに正常にログインしたことを示しています。
承認イベント
これらのイベントは、アプリ関連のタスクに対するユーザーへの権限付与に関連するアクションをキャプチャします。構成では、このカテゴリに "enable": "specified"
を指定し、「許可」アクションに重点を置いて、どのユーザーがアプリをアップロードする権限を持っているかを追跡します。以下に例を示します。
{"timestamp": "2024-10-14 13:20:59", "category": "authorization", "event": "grant", "action": "app_upload", "user": "alice"}
このログエントリは、ユーザー "alice"
にアプリをアップロードする権限が付与されたことを示しています。
アプリイベント
これらのイベントは、アップロード、削除、アプリの使用などのアクションに関する情報を提供します。構成では、"app"
カテゴリに "enable": "all"
を指定し、アプリ関連のすべてのアクティビティをキャプチャします。以下に例を示します。
Delete
{"timestamp": "2024-10-14 13:26:44", "category": "app", "event": "delete", "app_name": "app1.ctf"}
このエントリは、"app1.ctf"
が削除されたことを示します。
アップロード
{"timestamp": "2024-10-14 13:30:10", "category": "app", "event": "upload", "app_name": "app3.ctf"}
このエントリは、"app3.ctf"
がアップロードされたことを示します。
使用方法
{"timestamp": "2024-10-14 13:31:00", "category": "app", "event": "usage", "app_name": "app4", "duration": "310"}
このエントリは、"app4"
が 310
秒間使用されたことを示します。
サーバーイベント
これらのイベントは、サーバーの起動時と停止時など、サーバーの操作に関する情報を提供します。構成では、"server"
カテゴリに "enable": "all"
を指定し、"start"
アクションと "stop"
アクションの両方をキャプチャします。以下に例を示します。
開始
{"timestamp": "2024-10-14 13:16:08", "category": "server", "event": "start"}
このエントリは、サーバーが 2024 年 10 月 14 日午後 1 時 16 分に起動したことを示しています。
停止
{"timestamp": "2024-10-14 13:30:30", "category": "server", "event": "stop"}
このエントリは、サーバーが同じ日の午後 1 時 30 分に停止したことを示しています。