2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

IBM Security Verify API で イベントログを抽出するためのオプションあれこれ

Last updated at Posted at 2021-06-01

はじめに

以下の記事でイベントログのダウンロード方法についてご紹介しました。
今回はEventsAPI実行時に指定できるオプションについてご紹介します。

IBM Security Verify API で イベントログをダウンロードする
https://qiita.com/fitz/items/4f8731c8a91ffe632b49

APIのリファレンス

APIのリファレンスは、以下のURLから確認できます。
https://<自分のテナント名>.verify.ibm.com/developer/explorer/#

  • ユーザーの取得に利用するAPIは、以下の項目になります。
    • Events
event1.png

1.指定できるオプションについて

オプション 説明 デフォルト値
all_events すべてのイベントを取得する。 yes/noで指定。 no
event_type 取得するイベントの種類を指定。 例) event_type="authentication","management","sso","token","fulfillment","adaptive_risk","cert_campaign","access_request","account_sync","privacy_consent" 指定しない場合、management, sso ,authenticationイベントタイプが含まれる
size 取得するイベントの件数。最大10000 50件
from 取得するイベントの下限日時 。ユニックス・エポック・タイム(ミリ秒) で指定。例)2021/06/01 00:00:00を指定したい場合は、1622473200000 を指定する。 24時間前
to 取得するイベントの上限日時。ユニックス・エポック・タイム(ミリ秒) で指定 現在時刻
sort_order ソート順。 desc/ascで指定。 desc(降順)
after_id 前回検索した続きのログを検索するために指定するID 最初のイベントのID
after_time 前回検索した続きのログを検索するために指定する時刻 最初のイベントが発生した時刻

2.オプションの利用例

2.1. 24時間以内に出力されたすべての種類のログを、最大10000件抽出する。

curl -X GET https://<テナント名>.verify.ibm.com/v1.0/events&all_events=yes&size=10000 --header "Authorization: Bearer <アクセストークン>"

2.2. 2021/05/01 00:00:00 (1619794800000)以降で、イベントタイプ Authentication のログを最大10000件抽出する。

curl -X GET https://<テナント名>.verify.ibm.com/v1.0/events?event_type="authentication"&range_type=time&from=1619794800000&size=10000 --header "Authorization: Bearer <アクセストークン>"

2.3. 前回の検索結果の続きのログを抽出する。

たとえば、以下の条件で1000件ログを取得します。

curl -X GET https://<テナント名>.verify.ibm.com/v1.0/events?events?all_events=yes&range_type=time&from=1580947200000&size=1000 --header "Authorization: Bearer <アクセストークン>"

検索結果の冒頭の記録をみると、"total_events": 2375とあり、1000件では抽出できていない残りのログがあることがわかります。

{
    "response": {
        "events": {
            "search_after": {
                "total_events": 2375,
                "max_size_limit": "false",
                "id": "edb88048-417d-4eb3-ac85-be8cfadfa6ad",
                "time": "1606977260205",
                "range_type": "time"
            },
            "events": [
                {
                    "geoip": {
                        "continent_name": "Asia",
                        "city_name": "Tokyo",
                        "country_iso_code": "JP",
                        "country_name": "Japan",
                        "region_name": "Tokyo",

この残りのログを抽出するためには、"id": "edb88048-417d-4eb3-ac85-be8cfadfa6ad"、"time": "1606977260205"のデータを、それぞれafter_id/after_timeに指定して次のように検索を行います。

curl -X GET https://<テナント名>.verify.ibm.com/v1.0/events?events?all_events=yes&range_type=time&from=1580947200000&size=1000&after_id=edb88048-417d-4eb3-ac85-be8cfadfa6ad&after_time=1606977260205 --header "Authorization: Bearer <アクセストークン>"

1000件ずつ抽出しているため、4回目には抽出対象のログがなくなります。
4回目の結果は以下のようになりました。

{
    "response": {
        "events": {
            "search_after": {
                "total_events": 2375,
                "max_size_limit": "false",
                "range_type": "time"
            },
            "events": []
        }
    },
    "success": true
}

ログの抽出には、1回あたり10000イベントという制約があります。
after_id/after_timeを利用し、繰り返すことですべてのログをダウンロードすることができます。

最後に

今回はイベントログの抽出するときのオプションをご紹介しました。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?