# ARAMイベント

## はじめに

ARAMイベントエンドポイントは、Keeperの[レポート・アラートモジュール (ARAM)](/enterprise-guide/jp/event-reporting.md)によって収集された、企業向けの監査ログおよびセキュリティイベントにプログラムからアクセスするためのエンドポイントです。管理者やセキュリティ担当者は、このエンドポイントを利用して、コンプライアンス監視、セキュリティ分析、SIEM連携を目的に、監査イベントデータの取得、フィルタリング、エクスポートを行えます。

ARAMは、認証イベント、管理操作、レコード操作、共有アクティビティ、KeeperPAMの特権アクセスイベントなど、Keeperプラットフォーム全体で200種類以上のイベントタイプを記録します。監査イベントエンドポイントでは、これらのデータをREST形式のインターフェースを通じて取得できるため、カスタムアプリケーション、自動化ワークフロー、サードパーティのセキュリティツールとの連携が可能になります。

## 概要

Admin REST APIの監査イベントエンドポイントは、Keeperエンタープライズ環境から、リアルタイムおよび過去の監査イベントデータを提供します。この機能は、次のような重要なセキュリティおよびコンプライアンス用途を支援します。

#### セキュリティ監視

セキュリティインシデントの調査、異常検知、脅威ハンティングを目的としてイベントデータを取得できます。イベントには、IPアドレス、位置情報、クライアントのバージョン、タイムスタンプなどのコンテキスト情報が含まれます。

#### SIEM連携

監査イベントをSIEM (セキュリティ情報・イベント管理) プラットフォームに連携し、集中管理を実現します。本エンドポイントは、Splunk、Microsoft Sentinel、ElasticなどのSIEMソリューションと互換性のあるJSON形式でデータを返します。

#### コンプライアンス監査

SOX、ISO 27001、SOC 2など、詳細なアクセスログや管理操作の追跡を求める各種規制要件に対応するための監査レポートを作成できます。

## 要件

* 有効なKeeperエンタープライズサブスクリプション
* [レポート・アラートモジュール (ARAM)](/enterprise-guide/jp/event-reporting.md)のアドオンが有効になっていること
* レポート権限を含む管理者権限
* 有効なAPI認証情報

## イベントカテゴリ

本エンドポイントでは、以下のイベントが返されます (各カテゴリには複数のイベントタイプが含まれます。)。

| カテゴリ             | 説明                                       |
| ---------------- | ---------------------------------------- |
| セキュリティイベント       | ログイン試行、2要素認証 (2FA) の変更、マスターパスワードの変更、認証失敗 |
| 管理イベント           | ユーザーのプロビジョニング、ロールの割り当て、ポリシーの変更、ノード管理     |
| レコードイベント         | レコードの作成、更新、削除、およびアクセスイベント                |
| 共有イベント           | レコードの共有、共有フォルダの操作、チームメンバーシップの変更          |
| KeeperPAMイベント    | 特権セッションの記録、接続イベント、シークレットへのアクセス           |
| シークレットマネージャーイベント | KSMアプリケーションへのアクセス、シークレットの取得、ローテーションイベント  |
| BreachWatchイベント  | 高リスクパスワードの検出、対応状況の追跡                     |

## 構成

### 監査イベントの取得

指定した期間内における特定のエンタープライズの監査イベントを、ページ分割形式で取得します。本エンドポイントは主にSIEM連携 (例: Azure Sentinel) で使用され、他のログ集約ツールにも対応しています。

**エンドポイント**

```
GET /api/rest/public/events
```

**認証**

APIトークンをヘッダーに設定します。

```
x-api-token: Bearer <API_TOKEN>
```

### クエリパラメータ

<table><thead><tr><th width="181.59375">名前</th><th width="116.5">型</th><th width="112.6875">必須</th><th>説明</th></tr></thead><tbody><tr><td><code>start_date</code></td><td>ISO 8601</td><td>必須</td><td>期間の開始日時 (例: <code>2024-07-09T00:00:0Z</code>)</td></tr><tr><td><code>end_date</code></td><td>ISO 8601</td><td>必須</td><td>期間の終了日時 (例: <code>2025-07-10T19:45:00Z</code>)</td></tr><tr><td><code>limit</code></td><td>integer</td><td>任意</td><td>1ページあたりの取得件数 (1～1000、デフォルト: 100)</td></tr><tr><td><code>continuation_token</code></td><td>string</td><td>任意</td><td>次のページを取得するためのトークン</td></tr></tbody></table>

### ページネーション

結果はページ単位で返されます。次のページを取得するには、レスポンスに含まれる `continuation_token` を使用します。

これ以上結果がない場合

* `continuation_token` は `null` になります
* `has_more` は `false` になります

`limit` パラメータで1ページあたりの取得件数を指定できます。

#### 使用手順

1. `start_date` と `end_date` を指定して最初のリクエストを送信します。
2. レスポンスに `continuation_token` が含まれている場合、その値を使用して次のページを取得します。
3. `has_more` が `false` になるまで繰り返します。

### リクエスト例

ページネーションなし

```bash
curl --location 'https://keepersecurity.com/api/rest/public/events?start_date=2024-07-09T00%3A00%3A00Z&end_date=2025-07-10T19%3A45%3A00Z' \
--header 'x-api-token: Bearer <API_TOKEN>'
```

ページネーション付き

```bash
curl --location 'https://keepersecurity.com/api/rest/public/events?start_date=2024-07-09T00%3A00%3A00Z&end_date=2025-07-10T19%3A45%3A00Z&continuation_token=<CONT_TOKEN>' \
--header 'x-api-token: Bearer <API_TOKEN>'
```

OpenAPI仕様

```json
{"openapi":"3.0.3","info":{"title":"Keeper Integration API","version":"1.0.0"},"servers":[{"url":"https://keepersecurity.com/api/rest","description":"本番環境"}]}
```

### 成功レスポンスの例 (200)

```json
{
  "has_more": true,
  "events": [
    {
      "audit_event": "login_failure",
      "remote_address": "10.15.12.197",
      "category": "ADMIN",
      "client_version": "Commander 17.1.0",
      "enterprise_id": 8560,
      "username": "admin@example.com",
      "timestamp": 1751910807587
    }
  ],
  "continuation_token": "vWiXa0eu2edoe_fonw5IJHwEbLmxXOACIvuoQRh7j4XiKuu1"
}
```

備考: `timestamp` はUNIXミリ秒形式です。

### エラーコード

リクエストパラメータが不正な場合、400エラーが返されます。

| コード | メッセージ         | 原因                       |
| --- | ------------- | ------------------------ |
| 400 | 開始日が指定されていません | `start_date` が指定されていません。 |
| 400 | 終了日が指定されていません | `end_date` が指定されていません。   |
| 401 | 認証されていません     | APIトークンが無効、または指定されていません。 |
| 500 | 内部サーバーエラー     | 想定外のサーバーエラーが発生しました。      |

### セキュリティ上の注意事項

* APIトークンはパスワードと同様に扱い、定期的にローテーションしてください。
* 権限は必要最小限のロールとアクションに制限してください。
* 有効期限は短く設定し、自動化など特別な用途でのみ「期限なし」を使用してください。
* トークンは安全な場所 (例: Keeperボルト、クラウドKMSなど) に保管してください。

### 付録: クイックリファレンス (コマンダー)

```bash
# 一覧表示
public-api-key list [--format table|json|csv] [--output <file>]

# 生成
public-api-key generate \
  --name "<name>" \
  --roles "SIEM:1" \
  --expires 24h|7d|30d|1y|never \
  [--format json|csv] [--output <file>]

# 取り消し
public-api-key revoke <token_value> [--force]
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.keeper.io/keeperpam/jp/commander-cli/admin-rest-api/aram-events.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
