---
title: Security postureのイベントをSIEMに送信する
url: https://platform.claude.com/docs/ja/manage-claude/compliance-security-posture/send-events
description: Compliance APIのアクティビティフィードからSecurity postureのアクティビティを要求し、そのうちの1つをフィールドごとに読み解き、遅れて届くアクティビティも捕捉する定期的な読み取りでSIEMを最新の状態に保ちます。
---

<Note>
  Compliance APIを有効にするには、[Compliance APIのセットアップ](https://platform.claude.com/docs/ja/manage-claude/compliance-api-access)を参照してください。
</Note>

このページでは、Compliance Access Keyを用意するところから、Security postureのアクティビティがセキュリティ情報イベント管理（SIEM）システムにイベントとして定期的に届くようになるまでを説明します。[これらのアクティビティがある組織](https://platform.claude.com/docs/ja/manage-claude/compliance-security-posture/overview#availability)については、概要ページに記載されています。組織を対象とし、`read:compliance_activities`または`read:org_audit`スコープを持つCompliance Access Keyが必要です。

## アクティビティを要求する

これらのアクティビティのみを読み取るには、`activity_types[]`でフィードを絞り込みます。このリクエストでは、`created_at.gte`で読み取る最も古い`created_at`を指定し、`order=asc`で最も古いアクティビティから順に返します。

```bash cURL
curl --fail-with-body -sS -G \
  "https://api.anthropic.com/v1/compliance/activities" \
  -H "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  -H "anthropic-version: 2026-10-21" \
  --data-urlencode "activity_types[]=org_security_control_attestation_updated" \
  --data-urlencode "created_at.gte=2026-10-20T00:00:00Z" \
  --data-urlencode "order=asc" \
  --data-urlencode "limit=5000"
```

各パラメーターについては[APIリファレンス](https://platform.claude.com/docs/ja/api/compliance/activities/list)で説明しています。

## アクティビティを1件読む

レスポンスの`data`配列の各要素は、次のようなアクティビティです。

```json
{
  "id": "activity_01Hq7ZtYc4Vb2NmKx8RsPd3W",
  "type": "org_security_control_attestation_updated",
  "created_at": "2026-10-20T15:04:00.220114Z",
  "organization_id": "org_01JuY4bkwkH1x4PodBJaWmh2",
  "organization_uuid": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
  "actor": {
    "type": "user_actor",
    "email_address": "jane.doe@example.com",
    "user_id": "user_01WxYzAbCdEfGhJkMnPqRsTu",
    "ip_address": "192.0.2.34",
    "user_agent": "Mozilla/5.0..."
  },
  "control": "directory_sync_enabled",
  "action": "attested",
  "status": "accepted_risk"
}
```

* `control`は、推奨される1つの設定または運用である[セキュリティコントロール](https://platform.claude.com/docs/ja/manage-claude/compliance-security-posture/overview#controls)を示します。
* `action`は、コントロールについて人が記録した言明であるその[コントロールの表明](https://platform.claude.com/docs/ja/manage-claude/compliance-security-posture/overview#attestations)に何が起きたかを示します。ここでの`attested`は、表明がなかったコントロールに表明が記録されたことを意味します。
* `status`は表明の値です。ここではリスク受容（`accepted_risk`）で、コントロールは実施されておらず、組織がそのリスクを受け入れていることを示します。
* ここでの`actor`は、[表明した人](https://platform.claude.com/docs/ja/manage-claude/compliance-security-posture/overview#who-can-see-who-attested)をユーザーIDとメールアドレスで識別します。
* ここでの`created_at`は、その人が表明した日時です。

[Security postureのイベントリファレンス](https://platform.claude.com/docs/ja/manage-claude/compliance-security-posture/events-reference)に、さらに多くのフィールドと値が記載されています。

## レスポンスが空の場合

空の`data`配列は有効なレスポンスです。フィードには、[その組織についてこれらのアクティビティの記録を開始して](https://platform.claude.com/docs/ja/manage-claude/compliance-security-posture/events-reference#what-the-feed-does-not-record)以降の変更のみが保持されます。表明が行われるか変更されるまで、フィードは空です。

組織に[これらのアクティビティがある](https://platform.claude.com/docs/ja/manage-claude/compliance-security-posture/overview#availability)ことを確認してください。そのうえで、誰かにコントロールへの表明を行ってもらってください。しばらくしてから、リクエストを再度実行してください。

## 定期的に実行する

これらのアクティビティはいずれも、アクティビティフィードの通常1分の[インデックス作成の遅延](https://platform.claude.com/docs/ja/manage-claude/compliance-integration-patterns#window-polling)より遅れて、すでに過去の`created_at`を持った状態でクエリ可能になる可能性があります。そのため、カーソルや進んでいく`created_at.gte`で前方にのみ進む連携では、そのようなアクティビティを一切取得できません。実行のたびに4時間の固定の遡及期間を再読み取りし、すでに保存したアクティビティは破棄してください。

```text
query = activity_types[]=org_security_control_attestation_updated
      & created_at.gte={now - 4 hours}
      & order=asc
      & limit=5000
cursor = null
loop:
  if cursor is null:
    page = GET /v1/compliance/activities?{query}
  else:
    page = GET /v1/compliance/activities?{query}&after_id={cursor}
  for activity in page.data:
    if activity.id is not in stored_ids:
      store(activity)
      add activity.id to stored_ids
  if not page.has_more: break
  cursor = page.last_id
```

* **頻繁に実行する:** アラートに必要な頻度でループを実行します。たとえば5分ごとです。
* **実行全体で同じクエリを使用する:** 各実行の開始時に、UTCでURLエンコードした`created_at.gte`を計算します。すべてのページで同じフィルターと`order`を送信します。`order=asc`の場合、`last_id`を`after_id`として渡すと、より新しいアクティビティの次のページが返されます。`after_id`と`last_id`については[結果をページネーションする](https://platform.claude.com/docs/ja/manage-claude/compliance-activity-feed#paginate-results)で説明しています。
* **`id`で重複排除する:** 連続する実行は期間が重なるため、この手順は必須です。
* **失敗した実行を処理する:** [Compliance APIのエラーを処理する](https://platform.claude.com/docs/ja/manage-claude/compliance-errors)に従って再試行してもリクエストが失敗した場合は、その実行を終了します。次の実行で、その期間全体を再度読み取ります。実行の失敗または停止が4時間を超えて続いた場合は、次の[日次の再読み取り](https://platform.claude.com/docs/ja/manage-claude/compliance-security-posture/send-events#re-read-15-days-once-a-day)で、それらの実行で取りこぼしたアクティビティを読み取ります。

## 1日1回、15日間を再読み取りする

1日1回、4時間の代わりに15日間の遡及期間で同じループを実行します。この日次の再読み取りでは、`created_at`から最大14日後にクエリ可能になったアクティビティも読み取れます。

* 完了した各日次の再読み取りの開始時刻を記録します。
* 保存済みの`id`は、記録された最新の開始時刻より16日を超えて前に保存した場合にのみ削除します。
* 開始時刻が記録されていない場合は、`created_at.gte`を必要なだけ過去に遡って設定します。フィードはアクティビティを6年間保持します。
* 記録された最新の開始時刻から1日を超えて経過している場合は、`created_at.gte`をその開始時刻の15日前に設定して次の日次の再読み取りを実行します。

## すでにフィード全体を取り込んでいる場合

これらのアクティビティを除外する`activity_types[]`フィルターを使わずにアクティビティフィード全体を読み取っている連携では、すでにこれらのアクティビティを受信しています。次の2点を確認してください。

* **認識できない値:** ハンドラーが、認識できない`type`や[フィールドの値](https://platform.claude.com/docs/ja/manage-claude/compliance-security-posture/events-reference)をそのまま渡すこと。[Activityオブジェクトを理解する](https://platform.claude.com/docs/ja/manage-claude/compliance-activity-feed#understand-the-activity-object)を参照してください。
* **遅れて届くアクティビティ:** より新しいアクティビティのみを要求する連携では、遅れてクエリ可能になったアクティビティを取りこぼします。連携に[4時間の再読み取り](https://platform.claude.com/docs/ja/manage-claude/compliance-security-posture/send-events#run-it-on-a-schedule)と[毎日の15日間の再読み取り](https://platform.claude.com/docs/ja/manage-claude/compliance-security-posture/send-events#re-read-15-days-once-a-day)を追加してください。

## 動作を確認する

誰かがコントロールに表明を行った後、新しいアクティビティが保存されるまでループを実行します。その後、もう一度実行します。そのアクティビティが2回目に保存されることはありません。

## 次のステップ

`created_at`ではなく、アクティビティを保存した時刻に基づいてアラートを出すには、[Security postureの変更を検出する](https://platform.claude.com/docs/ja/manage-claude/compliance-security-posture/detect-changes#before-you-write-a-rule)を参照してください。Open Cybersecurity Schema Framework（OCSF）については、[Security postureのイベントをOCSFにマッピングする](https://platform.claude.com/docs/ja/manage-claude/compliance-security-posture/ocsf-mapping)を参照してください。現在の結果については、[Security postureの結果リファレンス](https://platform.claude.com/docs/ja/manage-claude/compliance-security-posture/results-reference)を参照してください。
