Twilio の Audit Events Log をコンソールと API で確認する方法

Twilio の Audit Events Log をコンソールと API で確認する方法

Twilio の Audit Events Log は、アカウント内で発生したすべてのアクティビティを記録する監査ログ機能です。本記事では、コンソール画面と API の両方を使用して Audit Events Log を確認する手順を、実際の画面キャプチャやコード例を交えながら詳しく解説します。

はじめに

本記事では、 Twilio の Audit Events Log を確認する方法について解説します。

Audit Events Log は、 Twilio の様々なリソースに対するイベントのログであり、どのユーザーによってどのような変更が行われたか追跡が可能になります。電話番号の購入、アカウントのセキュリティ設定変更、録音の削除など、 API/コンソール問わず Twilio 内で実行されるほぼすべてのアクションが記録されます。本記事では、この Audit Events Log を確認する手順を、コンソール画面と API の両方で実際の画面やコードのサンプルを交えながら説明します。

Twilio とは

Twilio は、開発者が音声通話、 SMS 、ビデオ通話、チャットなどのコミュニケーション機能をアプリケーションに簡単に組み込めるクラウド API プラットフォームです。世界中の多くの企業が、カスタマーサポートやマーケティング、認証システムなどで Twilio のサービスを活用しています。

Audit Events Log とは

Audit Events Log は、 Twilio アカウント内で発生したすべての重要なアクティビティを記録する監査ログ機能です。具体的には以下のような情報が記録され、これによってセキュリティ監査やトラブルシューティング、コンプライアンス要件への対応が可能になります。

  • API リクエストの実行履歴
  • アカウント設定の変更
  • リソースの作成・更新・削除
  • ユーザーのログイン・ログアウト
  • セキュリティ関連のイベント

対象読者

  • Twilio を利用している開発者や運用担当者
  • セキュリティ監査やコンプライアンス対応が必要な方

コンソールでの Audit Events Log 確認方法

Twilio Console で Audit Events Log を確認する方法について解説します。

Audit Events Log ページへの移動手順

  1. 左側のナビゲーションメニューから Monitor を選択
  2. Insights セクションの Audit をクリック
  3. View all Audit Insights reports リンクをクリック
    View all Audit Insights reports
  4. Audit Events Log を選択
    Audit Events Log を選択

Audit Events Log ページの見方

Audit Events Log 画面では、以下の情報が表形式で表示されます。

Audit Events Log 一覧

  • Event Date : イベントが発生した UTC 日時
  • Event SID : イベントの一意識別子
  • Resource Type : 関連するリソースのタイプ (例: flow, phone-number, ...)
  • Resource SID : リソースの一意識別子
  • Event Type : 実行されたアクションのタイプ (例 : flow.updated, phone-number.created, ...)
  • Source : イベントの発生元
  • Source IP : 操作を実行した IP アドレス

API での Audit Events Log 取得方法

必要な認証情報の準備

Twilio Console から認証情報を取得します。

  • Account SID : Twilio アカウントの一意識別子
  • Auth Token : API 認証用のトークン

Monitor API の基本的な使い方

Monitor API を使用し、Audit Events Log を取得します。

https://monitor.twilio.com/v1/Events/

curl を使用した基本的な取得例

curl https://monitor.twilio.com/v1/Events/ -u "ACCOUNT_SID:AUTH_TOKEN"

パラメータを使った絞り込み

Events API では、以下のパラメータを使用してイベントを絞り込むことができます。

  • StartDate : 取得開始日時 (ISO 8601 形式)
  • EndDate : 取得終了日時 (ISO 8601 形式)
  • EventType : 特定のイベントタイプでフィルタ
  • ResourceSid : 特定のリソースに関連するイベントのみ取得
  • ActorSid : 特定のアクターによるイベントのみ取得
curl -X GET "https://monitor.twilio.com/v1/Events?StartDate=2025-01-01T00:00:00Z&EndDate=2025-01-31T23:59:59Z&EventType=phone-number.created" -u "ACCOUNT_SID:AUTH_TOKEN"

レスポンスデータの構造

API からのレスポンスは JSON 形式で返され、以下のような構造になっています。

{
  "meta": {
    "page": 0,
    "page_size": 50,
    "first_page_url": "https://monitor.twilio.com/v1/Events?PageSize=50&Page=0",
    "previous_page_url": null,
    "url": "https://monitor.twilio.com/v1/Events?PageSize=50&Page=0",
    "next_page_url": "https://monitor.twilio.com/v1/Events?PageSize=50&Page=1&PageToken=xxx",
    "key": "events"
  },
  "events": [
    {
      "account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "actor_sid": "USxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "actor_type": "user",
      "description": "Flow FWxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx was updated",
      "event_date": "2025-07-01T08:06:30Z",
      "event_type": "flow.updated",
      "resource_sid": "FWxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "resource_type": "flow",
      "sid": "AExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "url": "https://monitor.twilio.com/v1/Events/AExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
      "source": "web",
      "source_ip_address": "xxx.xxx.xxx.xxx",
      "event_data": null,
      "links": {
        "actor": null,
        "resource": null
      }
    }
  ]
}

SDK を使用した実装例

Python SDK を使用した例

from twilio.rest import Client

# 認証情報を設定
account_sid = 'your_account_sid'
auth_token = 'your_auth_token'
client = Client(account_sid, auth_token)

# イベントを取得
events = client.monitor.v1.events.list(
    start_date='2025-01-01T00:00:00Z',
    end_date='2025-01-31T23:59:59Z',
    limit=100
)

for event in events:
    print(f"Event: {event.event_type}")
    print(f"Date: {event.event_date}")
    print(f"Resource: {event.resource_type}")
    print(f"Source IP: {event.source_ip_address}")

Node.js SDK を使用した例

const twilio = require('twilio');

const accountSid = 'your_account_sid';
const authToken = 'your_auth_token';
const client = twilio(accountSid, authToken);

client.monitor.v1.events
  .list({
    startDate: '2025-01-01T00:00:00Z',
    endDate: '2025-01-31T23:59:59Z',
    limit: 100
  })
  .then(events => {
    events.forEach(event => {
      console.log(`Event: ${event.eventType}`);
      console.log(`Date: ${event.eventDate}`);
      console.log(`Resource: ${event.resourceType}`);
      console.log(`Source IP: ${event.sourceIpAddress}`);
    });
  });

おわりに

本記事では、 Twilio の Audit Events Log を確認する二つの方法について解説しました。コンソールでは、直感的な操作で手軽にイベントログを閲覧できるため、日常的な監査作業や特定のイベントを素早く確認したい場合に適しています。一方 API では、プログラムによる自動化や外部システムとの連携が可能です。監査体制の強化のため、ぜひ Audit Events Log をご活用ください。

この記事をシェアする

facebookのロゴhatenaのロゴtwitterのロゴ

© Classmethod, Inc. All rights reserved.