Cloud Secure APIを触ってみる

2022.06.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。たかやまです。

他のアプリケーションと連携する場合、APIが提供されていると便利です。
もちろんCloud Secureもアプリケーション連携用にAPIでのアクセスを提供しています。

今回はこちらのCloud Secure APIを試してみたいと思います。

事前準備

まずはアクセスにあたり、アクセストークンを発行する必要があります。

ADMIN -> API Access to Cloud Secure -> + API Access Tokenを開きます。

以下の項目を設定していきます。

  • Name
  • Description(オプション)
  • Token Expires In
    • 1 Week
    • 1 Month
    • 3 Months
    • 6 Months
    • 1 Year
    • Custom(日数指定)

saveすると一度限りアクセストークンが払いだされるので、コピーします。

発行できると一覧にAPIが表示されます。
今回は検証のため有効期限を1 Weekで設定しているため、ステータスにExpiring Soonが表示されています。

API Typeの項目もありますが、現時点ではData Security Forensicsのみ利用可能です。

APIを触ってみる

では、実際にAPIを操作してみたいと思います。
ドキュメントは画面右上にあるAPI Documentationから確認することができます。

ドキュメントはSwagger UIで提供されています。
現時点では、以下2つのGETメソッドが提供されています。

  • cloudsecure_forensics.activities : Cloud SecureのアクティビティForensicsの情報を返す
  • cloudsecure_forensics.alerts : Cloud Secureで発生したアラートに関する情報を返す

ドキュメント全量(展開)

Swagger UI

Swagger UIではコンソールからapiを叩くことができるので、試しにcloudsecure_forensics.alertsを触ってみたいと思います。

メソッドの項目を展開してTry it outを選択します。

入力モードに変わったら、あとは必要なパラメーターを入力してExecuteを実行します。

パラメーターに誤りがなければ、200でレスポンスが返ってきます。

Curl

Cloud SecureのSwagger UI以外で、外からcurlで実行したい場合は、最初に発行したアクセストークンを利用します。

curlのコマンドはSwagger UIで生成したものを利用したいと思います。

Swagger UIのcurlコマンドにX-CloudInsights-ApiKeyヘッダーを追加して、冒頭で生成したものをアクセストークンに設定することでAPIを叩くことができます。

curl -X GET "https://<your_tenant_host_name>/rest/v1/cloudsecure/alerts?limit=1000&timeRange=ONE_WEEK&sort=-alertTimeap&severity=critical&alertType=Ransomware%20Attack&status=New&userDisplayName=root" \
-H "accept: application/json" \
-H "X-CloudInsights-ApiKey: <your_access_token>"
実行ログ(展開)
curl -X GET "https://<your_tenant_host_name>/rest/v1/cloudsecure/alerts?limit=1000&timeRange=ONE_WEEK&sort=-alertTimeap&severity=critical&alertType=Ransomware%20Attack&status=New&userDisplayName=root" \
-H "accept: application/json" \
-H "X-CloudInsights-ApiKey: eyJ...LiB"
{"count":2,"limit":1000,"offset":0,"results":[{"actions":[{"actionType":"limit_user_access","lastActionDetails":{"duration":"12","error":"svm2-csdemo: Collector is not running.","expiryTimestamp":1656539139961,"failureCount":1,"mode":"Automatic","restrictionMode":"block","status":"Failure","timestamp":1656495953044,"totalCount":5,"userIps":["10.0.0.25","10.0.0.164","10.0.0.243"]}},{"actionType":"create_snapshot","lastActionDetails":{"mode":"Automatic","status":"Success","timestamp":1656495949536}}],"alertTimestamp":1656495900000,"alertType":"Ransomware Attack","attributes":{"ransomwareDetectedEntityCount":"10835"},"domain":"","id":"e9752145-4bcb-4ac3-acf6-d0d400feb446","note":"","severity":"critical","status":"New","userDisplayName":"root","userId":"C9DD5BE4552273A74EC6B5AAEAADC0C5FBC61D63D53E58F6549A59560155BFE3","userName":"root"},{"actions":[{"actionType":"limit_user_access","lastActionDetails":{"duration":"12","error":"classmethod-dev-fsx-ontap-taka-svm03, svm2-csdemo: Collector is not running.","expiryTimestamp":1656531635934,"failureCount":2,"mode":"Automatic","restrictionMode":"block","status":"Failure","timestamp":1656488452931,"totalCount":5,"userIps":["10.0.0.25","10.0.0.164","10.0.0.243"]}},{"actionType":"create_snapshot","lastActionDetails":{"mode":"Automatic","status":"Success","timestamp":1656487789502}}],"alertTimestamp":1656487740000,"alertType":"Ransomware Attack","attributes":{"ransomwareDetectedEntityCount":"4495"},"domain":"","id":"7553fca1-3e51-4a6e-9c10-27450643cc3a","note":"","severity":"critical","status":"New","userDisplayName":"root","userId":"C9DD5BE4552273A74EC6B5AAEAADC0C5FBC61D63D53E58F6549A59560155BFE3","userName":"root"}]}%

最後に

アプリケーションと連携する際は、Cloud Secure APIをご利用いただければと思います。

個人的にはドキュメントがSwagger UIで提供されているので、サクッとAPIを試せるのが嬉しいポイントです。

以上、たかやまでした。