EndUser監査ログ
概要
EndUser監査ログAPIは、テナント内で発生したエンドユーザーの操作とセキュリティイベントを記録した監査ログへのアクセスを提供します。コンプライアンス要件の遵守やセキュリティ調査に使用できます。
エンドポイント一覧
| メソッド | エンドポイント | 説明 |
|---|---|---|
| GET | /api/admin/audit-logs | 監査ログ一覧取得 |
| GET | /api/admin/audit-logs/:id | 監査ログ詳細取得 |
| POST | /api/admin/audit-logs/export | 監査ログエクスポート |
監査ログ一覧取得
監査ログの一覧を取得します。
エンドポイント
GET /api/admin/audit-logs
クエリパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
limit | integer | - | 取得件数(デフォルト: 50、最大: 100) |
cursor | string | - | ページネーションカーソル |
actor_id | string | - | 操作実行者のユーザーID |
target_id | string | - | 操作対象のリソースID |
action | string | - | アクション種別 |
resource_type | string | - | リソース種別 |
start_date | string | - | 開始日時(ISO 8601形式) |
end_date | string | - | 終了日時(ISO 8601形式) |
ip_address | string | - | IPアドレス |
result | string | - | 結果(success, failure) |
リクエスト例
curl -X GET "https://{tenant-domain}/api/admin/audit-logs?action=user.create&start_date=2024-01-01T00:00:00Z" \ -H "Authorization: Bearer {token}"レスポンス例
{ "items": [ { "id": "log_abc123", "timestamp": "2024-01-22T10:30:00Z", "actor": { "id": "usr_admin001", "type": "user" }, "action": "user.create", "resource_type": "user", "resource_id": "usr_new789", "result": "success", "ip_address": "203.0.113.1", "user_agent": "Mozilla/5.0...", "changes": { "name": "新規ユーザー" } } ], "total": 1250, "cursor": "eyJpZCI6ImxvZ19hYmMxMjMifQ=="}監査ログ詳細取得
指定された監査ログの詳細情報を取得します。
エンドポイント
GET /api/admin/audit-logs/:id
パスパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
id | string | ○ | 監査ログID |
リクエスト例
curl -X GET "https://{tenant-domain}/api/admin/audit-logs/log_abc123" \ -H "Authorization: Bearer {token}"レスポンス例
{ "id": "log_abc123", "timestamp": "2024-01-22T10:30:00Z", "actor": { "id": "usr_admin001", "name": "管理者", "type": "user", "role": "tenant_admin" }, "action": "user.create", "action_description": "ユーザーを作成しました", "resource_type": "user", "resource_id": "usr_new789", "result": "success", "ip_address": "203.0.113.1", "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...", "location": { "country": "JP", "city": "Tokyo" }, "request": { "method": "POST", "path": "/api/admin/users", "body": { "name": "新規ユーザー" } }, "changes": { "before": null, "after": { "id": "usr_new789", "name": "新規ユーザー", "status": "active" } }, "metadata": { "request_id": "req_xyz456", "session_id": "sess_def789" }}監査ログエクスポート
監査ログをCSVまたはJSON形式でエクスポートします。
エンドポイント
POST /api/admin/audit-logs/export
リクエストボディ
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
format | string | ○ | エクスポート形式(csv, json) |
start_date | string | ○ | 開始日時(ISO 8601形式) |
end_date | string | ○ | 終了日時(ISO 8601形式) |
filters | object | - | フィルタ条件 |
リクエスト例
curl -X POST "https://{tenant-domain}/api/admin/audit-logs/export" \ -H "Authorization: Bearer {token}" \ -H "Content-Type: application/json" \ -d '{ "format": "csv", "start_date": "2024-01-01T00:00:00Z", "end_date": "2024-01-31T23:59:59Z", "filters": { "action": "user.*" } }'レスポンス例
{ "job_id": "job_export_abc123", "status": "pending", "created_at": "2024-01-22T10:30:00Z"}エクスポートは非同期ジョブとして実行されます。ジョブの状態はジョブ管理APIで確認できます。
アクション種別一覧
ユーザー関連
| アクション | 説明 |
|---|---|
user.create | ユーザー作成 |
user.update | ユーザー更新 |
user.delete | ユーザー削除 |
user.suspend | ユーザー停止 |
user.unsuspend | ユーザー停止解除 |
user.lock | ユーザーロック |
user.unlock | ユーザーロック解除 |
user.anonymize | ユーザー匿名化 |
認証関連
| アクション | 説明 |
|---|---|
auth.login | ログイン |
auth.logout | ログアウト |
auth.login_failed | ログイン失敗 |
auth.mfa_enabled | MFA有効化 |
auth.mfa_disabled | MFA無効化 |
auth.password_changed | パスワード変更 |
auth.password_reset | パスワードリセット |
クライアント関連
| アクション | 説明 |
|---|---|
client.create | クライアント作成 |
client.update | クライアント更新 |
client.delete | クライアント削除 |
client.secret_rotated | シークレット再生成 |
セッション関連
| アクション | 説明 |
|---|---|
session.revoke | セッション失効 |
session.revoke_all | 全セッション失効 |
ロール・ポリシー関連
| アクション | 説明 |
|---|---|
role.create | ロール作成 |
role.update | ロール更新 |
role.delete | ロール削除 |
role.assign | ロール割り当て |
role.unassign | ロール解除 |
policy.create | ポリシー作成 |
policy.update | ポリシー更新 |
policy.delete | ポリシー削除 |
設定関連
| アクション | 説明 |
|---|---|
settings.update | 設定更新 |
webhook.create | Webhook作成 |
webhook.update | Webhook更新 |
webhook.delete | Webhook削除 |
監査ログの保持期間
監査ログはテナント設定に基づいて保持されます。デフォルトの保持期間は90日です。保持期間は設定管理APIで変更できます。