Enterprise Eventの取得

Enterprise Eventの取得

Enterprise Eventを取得するには、stream_typeadmin_logsまたはadmin_logs_streamingに設定してGET /events APIを呼び出します。

このAPIを使用するには、ユーザーは新規レポートの実行および既存レポートへのアクセスを行うのための権限を持つ、会社の管理者または共同管理者である必要があります。

cURL
curl -i -X GET "https://api.box.com/2.0/events?stream_type=admin_logs_streaming" \
     -H "authorization: Bearer <ACCESS_TOKEN>"
.NET
BoxEventCollection<BoxEnterpriseEvent> events = await client.EventsManager.EnterpriseEventsStreamingAsync();
Java
EnterpriseEventsStreamRequest request = new EnterpriseEventsStreamRequest()
EventLog eventLog = EventLog.getEnterpriseEventsStream(api, request);
for (BoxEvent event : eventLog) {
    System.out.println("Enterprise Event Created by User: "
        + event.getCreatedBy().getName()
        + " Login: " + event.getCreatedBy().getLogin()
        + " Event Type: " + event.getEventType()
        + " Created at: " + event.getCreatedAt().toString()
    );
};
Python
events = client.events()
    .get_admin_events_streaming()
 for event in events['entries']:
    print(f'Got {event.event_type} event that occurred at {event.created_at}')

ストリームタイプ

ストリームタイプ
admin_logsイベントの履歴を最大1年分照会できるようにします
admin_logs_streamingほぼリアルタイムでライブイベントにサブスクライブできるようにします

ライブで監視

Box内で生成された最近のイベントをEnterprise全体で監視するには、stream_typeadmin_logs_streamingに設定します。これは、Enterprise Event Stream APIとも呼ばれます。

このフィードでは、時系列の正確さよりもレイテンシの低さを重視しています。つまり、Boxでは、イベントが複数回、時系列に関係なく返される場合があります。イベントは、Boxで処理されるとほぼリアルタイムでAPIを介して返されます。少しの遅延やバッファーが発生すると、新しいイベントがカーソル位置の後に書き込まれなくなります。このstream_typeで取得できるイベントは、2週間分だけです。

履歴の照会

Enterprise全体のイベント履歴を最大1年分照会するには、stream_typeadmin_logsに設定します。これは、 Enterprise Event History APIとも呼ばれます。

このフィードでは、レイテンシよりも完全性を重視しています。つまり、Boxでは、管理イベントが重複することなく時系列で配信されますが、レイテンシはユーザーまたはadmin_logs_streamingのフィードよりも高くなります。イベントは、フィルタをかけている期間より後に到着する可能性があるため、ほぼリアルタイムで使用すると見逃される場合があります。

匿名ユーザー

場合によっては、イベントフィードには、IDが2のユーザーが表示される可能性があります。これは、匿名ユーザーを表すBoxの内部識別子です。

匿名ユーザーは、ログインしていないユーザーです。この状況は、ユーザーがコンテンツを操作し、最初にログインを求められない場合にいつでも発生する可能性があります。たとえば、ユーザーが、公開共有リンクを使用してファイルをダウンロードするときなどです。

制限

Enterprise Eventフィードでは、Long pollingがサポートされません。

Boxでのイベントの保存は無期限ではありません。stream_typeadmin_logs_streamingに設定した場合は2週間分のEnterprise Event、stream_typeadmin_logsに設定した場合は1年分のEnterprise Eventを取得できます。また、Box管理コンソールでエクスポートされるレポートでは、7年分のEnterprise Eventを取得できます。

admin_logs_streamingフィードでは、すべての結果を迅速に返すことを重視しています。つまり、Boxでは、イベントが順不同で複数回返される可能性があります。重複するイベントは、イベントIDによって識別できます。

イベントタイプによるフィルタ

Enterprise Eventフィードでは、イベントタイプによるフィルタがサポートされています。

cURL
curl -i -X GET "https://api.box.com/2.0/events?stream_type=admin_logs_streaming&event_type=LOGIN,FAILED_LOGIN" \
     -H "authorization: Bearer <ACCESS_TOKEN>"
.NET
// filter events by type
var eventTypestoFilter = new List<string>() { "UPLOAD" };
BoxEventCollection<BoxEnterpriseEvent> events = await client.EventsManager.EnterpriseEventsStreamingAsync(500, null, eventTypestoFilter);
Java
// filter events by type
EnterpriseEventsStreamRequest request = new EnterpriseEventsStreamRequest()
    .types(EventType.ITEM_CREATE, EventType.ITEM_OPEN);
EventLog eventLog = EventLog.getEnterpriseEventsStream(api, request);
for (BoxEvent event : eventLog){
    System.out.println("Enterprise Event Created by User: "
        + event.getCreatedBy().getName()
        + " Login: " + event.getCreatedBy().getLogin()
        + " Event Type: " + event.getEventType()
        + " Created at: " + event.getCreatedAt().toString()
    );
};
Python
events = client.events()
    .get_admin_events_streaming(event_types=['ITEM_CREATE'])
 for event in events['entries']:
    print(f'Got {event.event_type} event that occurred at {event.created_at}')

イベントタイプの完全なリストについては、以下を参照してください。

イベントタイプ

Enterpriseに対して、以下のイベントがトリガーされます。このリストですべてを網羅しているわけではないため、記載されていないイベントが表示される可能性もあります。

イベント名説明
ACCESS_GRANTEDBoxサポートに対する自分のアカウントへのアクセス権限の付与
ACCESS_REVOKEDBoxサポートに付与した自分のアカウントへのアクセス権限の取り消し
ADD_DEVICE_ASSOCIATIONデバイスの関連付けの追加
ADD_LOGIN_ACTIVITY_DEVICE未確認のデバイスからのログイン
ADMIN_LOGIN管理コンソールを使用した管理対象ユーザーアカウントへのログイン
ANNOTATIONV2_CREATE注釈の作成
ANNOTATIONV2_DELETE注釈の削除
ANNOTATIONV2_EDIT注釈の編集
APPLICATION_CREATED開発者コンソールでの新しいアプリケーションの作成
APPLICATION_PUBLIC_KEY_ADDEDアプリケーションへの公開キーの追加
APPLICATION_PUBLIC_KEY_DELETEDアプリケーションからの公開キーの削除
CHANGE_ADMIN_ROLE管理者の役割の変更
CHANGE_FOLDER_PERMISSIONフォルダの権限の変更
COLLABORATION_ACCEPT招待の承諾
COLLABORATION_EXPIRATIONコラボレータへの有効期限の設定
COLLABORATION_INVITE招待
COLLABORATION_REMOVEコラボレータの削除
COLLABORATION_ROLE_CHANGEユーザーロールの変更
COLLECTION_CREATEコレクションの作成
COLLECTION_DELETEコレクションの削除
COLLECTION_UPDATEコレクションの更新
COLLECTION_ITEM_CREATEコレクションへの項目の追加
COLLECTION_ITEM_DELETEコレクションからの項目の削除
COLLECTION_ITEM_UPDATEコレクションの項目の更新
COMMENT_CREATEファイル上でのコメントの作成
COMMENT_DELETEファイル上のコメントの削除
CONTENT_ACCESS承認されたエンドユーザーまたはBoxアプリケーションでのプログラムによるファイルへのアクセス
CONTENT_WORKFLOW_ABNORMAL_DOWNLOAD_ACTIVITY管理コンソールで設定されたポリシーのトリガー
CONTENT_WORKFLOW_AUTOMATION_ADD自動化の追加
CONTENT_WORKFLOW_AUTOMATION_DELETE自動化の削除
CONTENT_WORKFLOW_POLICY_ADDコンテンツポリシーの追加
CONTENT_WORKFLOW_SHARING_POLICY_VIOLATION共有ポリシーの違反
CONTENT_WORKFLOW_UPLOAD_POLICY_VIOLATION管理者が設定したアップロードポリシーの違反
COPYコピー
DATA_RETENTION_CREATE_RETENTIONリテンションの作成
DATA_RETENTION_REMOVE_RETENTIONリテンションの削除
DELETE削除
DELETE_USERユーザーの削除
DEVICE_TRUST_CHECK_FAILEDデバイストラストチェックの失敗
DISABLE_MULTI_FACTOR_AUTH多要素認証の無効化
DOWNLOADダウンロード
EDIT編集
EDIT_USERユーザーの編集
EMAIL_ALIAS_CONFIRMユーザーのメールエイリアスの確認
EMAIL_ALIAS_REMOVEユーザーのメールエイリアスの削除
ENABLE_MULTI_FACTOR_AUTH多要素認証の有効化
ENTERPRISE_APP_AUTHORIZATION_UPDATEJWTアプリケーションの承認または再承認
EXTERNAL_COLLAB_SECURITY_SETTINGS外部コラボレーション用セキュリティ設定の変更
FAILED_LOGINログインの失敗
FILE_MARKED_MALICIOUSファイルでのウイルスの検出。イベントは、通知を希望した企業にのみ送信されます。
FILE_WATERMARKED_DOWNLOAD電子すかし付きファイルのダウンロード
GROUP_ADD_ITEMグループへの項目の追加
GROUP_ADD_USERグループへのユーザーの追加
GROUP_ADMIN_CREATEDグループ管理者の追加
GROUP_ADMIN_DELETEDグループ管理者の削除
GROUP_ADMIN_PERMISSIONS_UPDATEDグループ管理者権限の更新
GROUP_CREATION新規グループの作成
GROUP_DELETIONグループの削除
GROUP_EDITEDグループの編集
GROUP_REMOVE_ITEM管理コンソールを使用したグループからのフォルダの削除
GROUP_REMOVE_USERグループからのユーザーの削除
ITEM_MODIFY変更した項目
ITEM_OPEN開いた項目
ITEM_SHARED_UPDATE共有リンク設定の更新
ITEM_SYNCフォルダの同期
ITEM_UNSYNCフォルダの同期の解除
LEGAL_HOLD_ASSIGNMENT_CREATEリーガルホールド割り当ての作成
LEGAL_HOLD_ASSIGNMENT_DELETEリーガルホールド割り当ての削除
LEGAL_HOLD_POLICY_CREATEリーガルホールドポリシーの作成
LEGAL_HOLD_POLICY_DELETEリーガルホールドポリシーの削除
LEGAL_HOLD_POLICY_UPDATEリーガルホールドポリシーの更新
LOCKロック
LOGINログイン
METADATA_INSTANCE_CREATEメタデータインスタンスの作成
METADATA_INSTANCE_DELETEメタデータインスタンスの削除
METADATA_INSTANCE_UPDATEメタデータインスタンスの更新
METADATA_TEMPLATE_CREATEメタデータテンプレートの作成
METADATA_TEMPLATE_UPDATEメタデータテンプレートの更新
METADATA_TEMPLATE_DELETEメタデータテンプレートの削除
MOVE移動
NEW_USERユーザーの作成
OAUTH2_ACCESS_TOKEN_REVOKEOAuth 2.0アクセストークンの取り消し
PREVIEWプレビュー
REMOVE_DEVICE_ASSOCIATIONデバイスの関連付けの削除
REMOVE_LOGIN_ACTIVITY_DEVICEアプリに関連付けられたユーザーセッションの無効化
RENAMEファイルまたはフォルダの名前や説明の変更
RETENTION_POLICY_ASSIGNMENT_ADDリテンションポリシー割り当ての追加
SHARE共有リンクの有効化
SHARE_EXPIRATION共有リンクの有効期限の設定
SHARED_LINK_REDIRECT_OUT_OF_SHARED_CONTEXT共有リンクによって発生するリダイレクト
SHIELD_ALERT企業のShieldルールに基づいた、Shieldによる異常なダウンロード、セッション、場所、悪意のあるコンテンツの検出。詳細については、Shieldアラートイベントを参照してください。
SHIELD_DOWNLOAD_BLOCKEDShieldアクセスポリシーに基づいた、エンドユーザーによるファイルのダウンロードのブロック
SHIELD_EXTERNAL_COLLAB_ACCESS_BLOCKED外部コラボレーションへのアクセスのブロック
SHIELD_EXTERNAL_COLLAB_ACCESS_BLOCKED_MISSING_JUSTIFICATION正当な理由がない場合の外部コラボレーションへのアクセスのブロック
SHIELD_EXTERNAL_COLLAB_INVITE_BLOCKED外部コラボレーションへの招待のブロック
SHIELD_EXTERNAL_COLLAB_INVITE_BLOCKED_MISSING_JUSTIFICATION正当な理由がない場合の外部コラボレーションへの招待のブロック
SHIELD_EXTERNAL_COLLAB_INVITE_JUSTIFIED外部コラボレーションへの招待の承認
SHIELD_JUSTIFICATION_APPROVALShieldの正当な理由の承認
SHIELD_SHARED_LINK_ACCESS_BLOCKED共有リンクへのアクセスのブロック
SHIELD_SHARED_LINK_STATUS_RESTRICTED_ON_CREATE共有リンクの作成と、コンテンツへのアクセスの制限
SHIELD_SHARED_LINK_STATUS_RESTRICTED_ON_UPDATE共有リンクの更新と、コンテンツへのアクセスの制限
SHIELD_INFORMATION_BARRIER_ENABLEDShield情報バリアの有効化
SHIELD_INFORMATION_BARRIER_DISABLEDShield情報バリアの非アクティブ化
SHIELD_INFORMATION_BARRIER_PENDINGアクティブ化前のShield情報バリア
SHIELD_INFORMATION_BARRIER_GROUP_ADD_USER_BLOCKED情報バリアの制限による、ユーザーの追加のブロック
SHIELD_INFORMATION_BARRIER_COLLAB_BLOCKED情報バリアの制限による、ユーザーに対するコラボレーション作成のブロック
SHIELD_INFORMATION_BARRIER_SHARED_ITEM_ACCESS_BLOCKED情報バリアの制限による、ユーザーの共有項目へのアクセスのブロック
SHIELD_INFORMATION_BARRIER_ITEM_MOVE_BLOCKED情報バリアの制限による、項目の移動のブロック
SHIELD_INFORMATION_BARRIER_ITEM_COPY_BLOCKED情報バリアの制限による、項目のコピーのブロック
SHIELD_INFORMATION_BARRIER_ITEM_OWNER_TRANSFER_BLOCKED情報バリアの制限による、項目の転送のブロック
SIGN_DOCUMENT_ASSIGNED署名者への署名リクエストの送信
SIGN_DOCUMENT_CANCELLEDAPIまたはUIでの署名リクエストのキャンセル
SIGN_DOCUMENT_COMPLETED全署名者による署名リクエストへの署名
SIGN_DOCUMENT_CONVERTED署名用.pdfへの署名リクエストの変換
SIGN_DOCUMENT_CREATEDAPIまたはUIでの署名リクエストの作成。ドキュメントはまだ署名者に送信されていません。
SIGN_DOCUMENT_DECLINED署名者による署名リクエストの拒否
SIGN_DOCUMENT_EXPIRED署名リクエストの期限切れ (署名は未完了)
SIGN_DOCUMENT_SIGNED署名者による署名リクエストへの署名
SIGN_DOCUMENT_VIEWED_BY_SIGNER署名者による署名用メールの [ドキュメントをレビュー] のクリックまたは署名用URLへのアクセス
SIGNER_DOWNLOADED署名者による署名用ドキュメントのダウンロード
SIGNER_FORWARDED署名者による署名用ドキュメントの転送
STORAGE_EXPIRATIONファイルの自動削除の設定
TASK_ASSIGNMENT_UPDATEタスク割り当ての更新
TASK_ASSIGNMENT_CREATEタスク割り当ての作成
TASK_ASSIGNMENT_DELETEタスク割り当ての削除
TASK_CREATEタスクの作成
TASK_UPDATEタスクのコメントの編集
TERMS_OF_SERVICE_ACCEPT利用規約の承諾
TERMS_OF_SERVICE_REJECT利用規約の拒否
UNDELETE削除の取り消し
UNLOCKロックの解除
UNSHARE共有リンクの削除
UPDATE_COLLABORATION_EXPIRATIONコラボレータの有効期限の延長
UPDATE_SHARE_EXPIRATION共有リンクの有効期限の延長
UPLOADアップロード
USER_AUTHENTICATE_OAUTH2_ACCESS_TOKEN_CREATEOAuth 2.0アクセストークンの作成
WATERMARK_LABEL_CREATEファイルへの電子すかしの追加
WATERMARK_LABEL_DELETEファイルからの電子すかしの削除