【IBM Security Verify】CSVレポートのダウンロード機能について

# はじめに

2024年8月の新機能で、レポートをCSV形式でダウンロードする機能が提供されました。

IBM Security Verifyのログは90日まで保管／90日を経過したログが削除されます。
このため、これまでは、ログ保管が必要な場合は、REST APIを使って定期的にログをダウンロードが必要でした。

今回、管理者画面からCSV形式でダウンロードできるようになったため、日本のテナントで有効化して、動作を確認してみました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/a3c0b2a2-e008-74b5-3129-2be133ff9df4.png)

# 1.機能の有効化について

IBM Security Verifyの管理画面では有効化できませんので、マニュアルに従い、機能を有効化します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/8988cb47-fd92-d8f2-acfb-7e3c61dfc0ab.png)

画像の引用元：

https://www.ibm.com/docs/ja/security-verify?topic=reports-downloading-csv-report

# 2.レポートのダウンロードについて

機能を有効化すると、レポート一覧画面に「生成されたレポート」というタブが追加されました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/b96b4db0-6651-570d-489f-9a464e7d1c43.png)


また、個別のレポート画面に「CSVの生成」というメニューが追加されました。
ログが残っている範囲で日付を選択して「レポートの実行」をクリックすると、
認証アクテビティのログが2万件ほどあったのでこちらをダウンロードしてみます。
「CSVの生成」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/a9aeecd6-67a3-beff-3298-7ca06dd1f84e.png)


CSVの生成を行うと、キューに入りました。
同時にリクエストできるのは、3つのリクエストまでです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/44fc28f3-b568-806f-4ce2-f6b60bd00061.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/408c201b-a4e2-ebb9-c1eb-b47d6b4e33e7.png)

数分後に確認したところ、状況欄が「キュー済み」から「完了」となっており、マウスオーバーするとダウンロードのリンクが表示されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/20a87da2-8c18-9e0d-5b4e-cbbdb00bbcfb.png)

クリックすると、レポートの詳細メニューが開き、レポートの有効期限（約7日後）が確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/2bb9d659-6151-5257-3e21-46bee66d2eb2.png)

また、メールでの通知もありました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/c635d2f2-ae35-fb4a-7378-149647c3067f.png)

ダウンロードボタンをクリックすると、ZIP圧縮したファイルがダウンロードされました。
```
Authentication_activity_20241112T155546.zip
```

ファイルを解凍すると、1つのCSVファイルにデータが保管されていました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/1805cdde-1f2f-acb8-732d-4dde6bf8881c.png)

CSVレポートのフォーマットは、以下の形式でした。
```
username,realm,subtype,origin,result,time,country_name,region_name
muichiro,cloudIdentityRealm,user_password,<ip address>,failure,2024-09-25 04:36:48 UTC,Japan,Kanagawa
```

REST APIの「Export reports for a specified tenant into CSV file.」は、UserNameではなく、UserIDだったので上記APIとは別の機能のようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/678692/8c0e88b3-62f1-cbfb-45d5-cfe3e03290a5.png)


https://docs.verify.ibm.com/verify/reference/runexportreport


データがないものもありますが、サポートされているレポートをダウンロードしてみます。


適応型アクセス
```
ファイル名
Adaptive_access_20241112T170036_1.csv
CSVフォーマット
time,username,realm,risk_level,decision_reason,policy_action,policy_name,policy_id,applicationname,city,region,country,browser,os,origin
出力例）
2024-11-12 07:59:53 UTC,hacktrick,cloudIdentityRealm,MEDIUM,Access including risky device indication,ACTION_ALLOW,Adaptive Access,13407,sample saml app,<City>,14,JPN,Chrome,Windows 11,<ip address>
2024-11-12 07:59:30 UTC,hacktrick,cloudIdentityRealm,MEDIUM,Access including risky device indication,ACTION_MFA_PER_SESSION,Adaptive Access,13407,sample saml app,<City>,14,JPN,Chrome,Windows 11,<ip address>
```
アプリケーション使用
```
ファイル名
Application_usage_20241112T170316_1.csv
CSVフォーマット
applicationname,username,realm,origin,result,time,country_name,region_name
出力例）
sample saml app,hacktrick,cloudIdentityRealm,<ip address>,success,2024-11-12 07:59:54 UTC,Japan,Kanagawa
```
管理アクティビティー
```
ファイル名
Admin_activity_20241112T162920_1.csv
CSVフォーマット
time,resource,action,target,performedby_username,performedby_realm,performedby,performedby_clientname,performedby_type,origin,country_name,region_name
出力例）
2024-10-22 05:56:09 UTC,user,reset password,testverify01,<email>,www.ibm.com,<userid>,,user,<ip address>,Japan,Kanagawa
```
認証アクティビティー
```
ファイル名
Authentication_activity_20241112T155546_1.csv
CSVフォーマット
username,realm,subtype,origin,result,time,country_name,region_name
出力例）
muichiro,cloudIdentityRealm,user_password,<ip address>,failure,2024-09-25 04:36:48 UTC,Japan,Kanagawa
```
履行アクティビティー
```
ファイル名
Fulfillment_activity_20241112T164440_1.csv
CSVフォーマット
applicationname,target,account_name,cause,time,action
出力例）
Google Workspace,,<account_name>,Account deprovision or suspension failed.,2024-08-29 04:18:35 UTC,account_deprovisioned_failed
```
MFA アクティビティー
```
ファイル名
MFA_activity_20241112T163648_1.csv
CSVフォーマット
time,username,realm,mfamethod,mfadevice,origin,performedby_clientname,performedby,result,country_name,region_name
出力例）
2024-10-22 05:59:46 UTC,testverify01,cloudIdentityRealm,SMS OTP,<telephone>,<ip address>,,<UserID>,success,Japan,Kanagawa
2024-10-22 05:58:33 UTC,testverify01,cloudIdentityRealm,Email OTP,<メールアドレス＞,<ip address>,,,success,Japan,Kanagawa
```
パスワード・インテリジェンス
```
ファイル名
Password_intelligence_20241112T164336_1.csv
CSVフォーマット
time,username,realm,action,dict_result,dict_type,result,country_name,region_name,performedby_clientname
出力例）
2024-09-12 07:10:24 UTC,testverify01,cloudIdentityRealm,login,SUCCESS,NONE,success,Japan,Kanagawa,
```

キャンペーン・アクティビティー、コンシューマーの使用状況の分析はデータがなかったので割愛しました。
また、ユーザー・リストについては別途検証して記事にしたいと思います。

# 最後に

IBM Security Verifyに追加されたレポートのCSVダウンロード機能について試してみました。
RESTAPIによるイベントログ取得と比較すると、CSVダウンロード機能のほうが使いやすい機能でした。
- なんといっても管理画面上の操作でログをダウンロードできる！
- イベントログのAPIのように10000件までしか一度に出力できないという制約がない。
- APIで取得したイベントログは情報量が多い、JSON形式で可読性が低い。

https://qiita.com/fitz/items/4f8731c8a91ffe632b49


# 参考
https://www.ibm.com/docs/en/security-verify?topic=overview-whats-new

https://www.ibm.com/docs/ja/security-verify?topic=reports-downloading-csv-report