コンテンツにスキップ

Admin監査ログ

概要

Admin監査ログAPIは、管理コンソールで行われたすべての操作を記録した監査ログへのアクセスを提供します。操作前後の変更内容(before/after)も記録され、詳細な監査が可能です。

必要権限

操作必要権限
読み取りadmin:admin_audit:read

エンドポイント一覧

メソッドエンドポイント説明
GET/api/admin/admin-audit-log監査ログ一覧取得
GET/api/admin/admin-audit-log/:id監査ログ詳細取得
GET/api/admin/admin-audit-log/actions/listアクション種別一覧
GET/api/admin/admin-audit-log/resource-types/listリソース種別一覧
GET/api/admin/admin-audit-log/stats/summary統計サマリー取得
GET/api/admin/admin-audit-log/user/:userId特定ユーザーのログ取得

監査ログ一覧取得

監査ログの一覧を取得します。

エンドポイント

GET /api/admin/admin-audit-log

クエリパラメータ

パラメータ必須説明
pageinteger-ページ番号(デフォルト: 1)
limitinteger-取得件数(デフォルト: 50、最大: 100)
admin_user_idstring-Adminユーザーでフィルタ
actionstring-アクションでフィルタ
resource_typestring-リソース種別でフィルタ
resultstring-結果でフィルタ(success, failure
severitystring-重要度でフィルタ(debug, info, warn, error, critical
start_datestring-開始日(ISO 8601形式)
end_datestring-終了日(ISO 8601形式)

リクエスト例

Terminal window
curl -X GET "https://{tenant-domain}/api/admin/admin-audit-log?action=admin.user.create&limit=20" \
-H "Authorization: Bearer {token}"

レスポンス例

{
"items": [
{
"id": "log_abc123",
"tenant_id": "default",
"admin_user_id": "admin_xyz789",
"admin_email": "[email protected]",
"action": "admin.user.create",
"resource_type": "admin_user",
"resource_id": "admin_new001",
"result": "success",
"severity": "info",
"ip_address": "192.168.1.100",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...",
"request_id": "req_def456",
"before": null,
"after": {
"email": "[email protected]",
"name": "新規管理者"
},
"metadata": {},
"created_at": 1706140800000
}
],
"total": 100,
"page": 1,
"limit": 50,
"totalPages": 2
}

監査ログ詳細取得

指定された監査ログの詳細情報を取得します。

エンドポイント

GET /api/admin/admin-audit-log/:id

パスパラメータ

パラメータ必須説明
idstring監査ログID

リクエスト例

Terminal window
curl -X GET "https://{tenant-domain}/api/admin/admin-audit-log/log_abc123" \
-H "Authorization: Bearer {token}"

レスポンス例

{
"id": "log_abc123",
"tenant_id": "default",
"admin_user_id": "admin_xyz789",
"admin_email": "[email protected]",
"admin_name": "管理者",
"action": "admin.user.update",
"action_description": "Adminユーザーを更新しました",
"resource_type": "admin_user",
"resource_id": "admin_target001",
"result": "success",
"severity": "info",
"ip_address": "192.168.1.100",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...",
"request_id": "req_def456",
"before": {
"name": "旧名前",
"email": "[email protected]"
},
"after": {
"name": "新名前",
"email": "[email protected]"
},
"changes": [
{
"field": "name",
"old_value": "旧名前",
"new_value": "新名前"
},
{
"field": "email",
"old_value": "[email protected]",
"new_value": "[email protected]"
}
],
"metadata": {
"session_id": "sess_abc123"
},
"created_at": 1706140800000
}

アクション種別一覧

利用可能なアクション種別の一覧を取得します。

エンドポイント

GET /api/admin/admin-audit-log/actions/list

リクエスト例

Terminal window
curl -X GET "https://{tenant-domain}/api/admin/admin-audit-log/actions/list" \
-H "Authorization: Bearer {token}"

レスポンス例

{
"items": [
{
"key": "admin.user.create",
"description": "Adminユーザー作成"
},
{
"key": "admin.user.update",
"description": "Adminユーザー更新"
},
{
"key": "admin.user.delete",
"description": "Adminユーザー削除"
},
{
"key": "admin.user.suspend",
"description": "Adminユーザー停止"
},
{
"key": "admin.user.activate",
"description": "Adminユーザー有効化"
},
{
"key": "admin.user.unlock",
"description": "Adminユーザーロック解除"
},
{
"key": "admin.role.create",
"description": "Adminロール作成"
},
{
"key": "admin.role.update",
"description": "Adminロール更新"
},
{
"key": "admin.role.delete",
"description": "Adminロール削除"
},
{
"key": "admin.role.assign",
"description": "ロール割り当て"
},
{
"key": "admin.role.unassign",
"description": "ロール解除"
},
{
"key": "admin.ip_allowlist.create",
"description": "IP許可エントリ追加"
},
{
"key": "admin.ip_allowlist.update",
"description": "IP許可エントリ更新"
},
{
"key": "admin.ip_allowlist.delete",
"description": "IP許可エントリ削除"
},
{
"key": "admin.login",
"description": "管理コンソールログイン"
},
{
"key": "admin.logout",
"description": "管理コンソールログアウト"
},
{
"key": "admin.login_failed",
"description": "ログイン失敗"
}
],
"total": 17
}

リソース種別一覧

利用可能なリソース種別の一覧を取得します。

エンドポイント

GET /api/admin/admin-audit-log/resource-types/list

リクエスト例

Terminal window
curl -X GET "https://{tenant-domain}/api/admin/admin-audit-log/resource-types/list" \
-H "Authorization: Bearer {token}"

レスポンス例

{
"items": [
{
"key": "admin_user",
"description": "Adminユーザー"
},
{
"key": "admin_role",
"description": "Adminロール"
},
{
"key": "ip_allowlist",
"description": "IP許可リスト"
},
{
"key": "session",
"description": "セッション"
}
],
"total": 4
}

統計サマリー取得

監査ログの統計サマリーを取得します。

エンドポイント

GET /api/admin/admin-audit-log/stats/summary

クエリパラメータ

パラメータ必須説明
daysinteger-統計対象日数(デフォルト: 7)

リクエスト例

Terminal window
curl -X GET "https://{tenant-domain}/api/admin/admin-audit-log/stats/summary?days=30" \
-H "Authorization: Bearer {token}"

レスポンス例

{
"total_entries": 1234,
"recent_entries": 89,
"time_range_days": 30,
"result_breakdown": {
"success": 85,
"failure": 4
},
"severity_breakdown": {
"debug": 0,
"info": 70,
"warn": 15,
"error": 4,
"critical": 0
},
"top_actions": [
{
"action": "admin.user.read",
"count": 45
},
{
"action": "admin.role.update",
"count": 20
},
{
"action": "admin.login",
"count": 15
}
],
"most_active_admins": [
{
"admin_user_id": "admin_abc123",
"admin_email": "[email protected]",
"action_count": 50
},
{
"admin_user_id": "admin_def456",
"admin_email": "[email protected]",
"action_count": 30
}
],
"daily_activity": [
{
"date": "2024-01-22",
"count": 45
},
{
"date": "2024-01-21",
"count": 38
}
]
}

特定ユーザーのログ取得

指定したAdminユーザーの監査ログを取得します。

エンドポイント

GET /api/admin/admin-audit-log/user/:userId

パスパラメータ

パラメータ必須説明
userIdstringAdminユーザーID

クエリパラメータ

パラメータ必須説明
pageinteger-ページ番号(デフォルト: 1)
limitinteger-取得件数(デフォルト: 50)
start_datestring-開始日(ISO 8601形式)
end_datestring-終了日(ISO 8601形式)

リクエスト例

Terminal window
curl -X GET "https://{tenant-domain}/api/admin/admin-audit-log/user/admin_abc123?limit=20" \
-H "Authorization: Bearer {token}"

レスポンス例

{
"admin_user": {
"id": "admin_abc123",
"email": "[email protected]",
"name": "管理者"
},
"items": [
{
"id": "log_xyz789",
"action": "admin.user.update",
"resource_type": "admin_user",
"resource_id": "admin_target001",
"result": "success",
"severity": "info",
"ip_address": "192.168.1.100",
"created_at": 1706140800000
}
],
"total": 150,
"page": 1,
"limit": 20,
"totalPages": 8
}

重要度レベル

レベル説明用途
debugデバッグ開発時の詳細ログ
info情報通常の操作(デフォルト)
warn警告注意が必要な操作
errorエラー操作失敗
critical重大セキュリティ関連の重大な事象

自動記録

Admin管理APIのすべての操作は自動的に監査ログに記録されます。記録される情報:

  • 操作を行ったAdminユーザー
  • 実行されたアクション
  • 対象リソース
  • 操作前後の状態(before/after)
  • IPアドレス、ユーザーエージェント
  • 操作の成功/失敗
  • タイムスタンプ