メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

監査ログ

前提条件

イベントカテゴリーとサポートされるイベント

監査ログを使用すると、ユーザー アクセスとアプリの使用状況を追跡および監視し、重要なイベントを記録できます。監査ログを有効にすると、次のことが可能になります。

  • ユーザー アクセスを追跡し、不正アクセスを識別してセキュリティを確保します。

  • ユーザー数や使用期間などのアプリの使用パターンに関する分析情報をアプリ開発者に提供します。

  • 既存のツールと統合してさらに分析できる構造化データを生成します。

ログはイベント カテゴリに整理されており、各カテゴリにはログに記録できる特定のイベントが含まれます。構成 JSON では、イベント カテゴリは event_category として指定されます。各カテゴリでサポートされている個体のイベントは supported_events_doc の下にリストされており、各カテゴリでログに記録する特定のイベントは supported_events_doc から選択され、構成 JSON の events フィールドに配置されます。

event_categorysupported_events_doc説明

server

start, stop

これらのイベントは、サーバーの起動時と停止時など、サーバーの操作に関する情報を提供します。

app

usage, upload, delete

これらのイベントは、アプリの使用期間とアプリ管理に関連するアクションに関する情報を提供します。

authentication

login, logout

これらのイベントは、ログインとログアウトに関連するユーザーアクションに関する情報を提供します。

authorization

grant, denial

これらのイベントは、承認が付与されたか拒否されたかに基づいて、ユーザーがアプリをアップロードまたは削除できるかどうかをキャプチャします。

各イベントにはユーザーの名前が含まれます。userinfo.json ファイルが webapps_private フォルダーに設定されている場合、ログ ファイルには UserID キーの値が表示されます。userinfo.json ファイルが存在しない場合は、ログ ファイルでは代わりに webapps_authn.json ファイルの appConfig セクションにある displayName キーの値が使用されます。詳細については、ユーザーに基づいてWebアプリの動作をカスタマイズする を参照してください。

監査ログ ファイルは、サーバー ログ ディレクトリ内の auditlogs という名前の別のフォルダーに書き込まれます。サーバー ログのデフォルトの場所は次のとおりです。

オペレーティング システムログフォルダの場所

Windows®

%ProgramData%\MathWorks\webapps\R2025a\logs

Linux®

/local/MathWorks/webapps/R2025a/logs

macOS

/Library/Application Support/MathWorks/webapps/R2025a/logs

監査ログを有効にする

監査ログを有効にするには:

  • 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 配列内の監査ログでサポートされるさまざまなイベント カテゴリを指定します。現在サポートされているイベント カテゴリは、serverappauthentication、および authorization です。

  • 有効にする:enable フィールドを使用して、監査ログの現在のイベント カテゴリを有効にするか無効にするかを指定します。サポートされている値は、allnone、および specified です。specified を選択した場合は、events フィールドにリストされているイベントのみが記録されます。たとえば、カテゴリ内のすべてのイベントをログに記録するには、"all" を使用します。

  • イベントカテゴリ:event_category フィールドを使用して、ログに記録するイベントの種類を指定します。サポートされているカテゴリには、serverappauthenticationauthorization が含まれます。たとえば、サーバー イベントのログ記録を指定するには、"server" を使用します。

  • イベント:events 配列を使用して、ログに記録する特定のイベントを指定します。値は、それぞれがイベントを表す文字列の配列として指定するか、またはそれらのイベントをリストする単一のコンマ区切りの文字列として指定する必要があります。この配列は、enable フィールドが specified に設定されている場合にのみ関連し、ここにリストされているイベントのみが監査ログに記録されることを保証します。たとえば、開始イベントと停止イベントをログに記録するには、["start", "stop"] を使用します。

  • サポートされているイベントドキュメント:supported_events_doc フィールドを使用して、各イベント カテゴリでサポートされるイベントを指定します。この情報は、ログ記録の目的で events 配列に追加できるイベントをユーザーが判断するのに役立ちます。たとえば、startstop などのサポートされているサーバー イベントを文書化するには、"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 分に停止したことを示しています。

参考

トピック