Auth0のログをSplunkにストリーミングする

2020.10.15

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

Splunkは、あらゆるソースから、あらゆるタイムスケールであらゆる構造データを分析できるようにするデータプラットフォームです.

Auth0のマーケットプレイスの概要欄には以下のようなことが特徴として挙げられています。

** すぐに使用できるセキュリティ監視

カスタムSplunkダッシュボードを使用して、Auth0からの重要なセキュリティ信号を自動的に視覚化します。セキュリティチームは、承認トラフィックを監視し、異常を分析し、リスクの高いアクションのアラートをより高い信頼性で設定できます。

** 視覚的な洞察とより速い応答時間

開発作業を必要とせずに傾向を特定するためにデータを収集して視覚化し、潜在的な問題やリスクをより迅速に発見できるようにします。疑わしいイベントが発生した場合のしきい値とアラートを構成して、より迅速に対応できるようにします。

** より良い意思決定

Auth0のイベントデータは、お客様が将来のシステムアーキテクチャと開発に関して情報に基づいた意思決定を行うのに役立つ豊富なコンテキスト情報を提供します。この情報を簡単に活用して、より多くの情報に基づいた意思決定を行うことができます。

確かに昨今の企業のデジタルテクノロジーへの依存の高まり、分散アーキテクチャーの台頭、DXを進めるスピードが早くなってきている現状、上記のようなことはとても重要だと感じます。

本記事では、Auth0のイベントログをSplunkに送信して、検索ができる状態を作ってみようと思います。

やってみた

Splunkドメイン、トークン、ポートを取得

無料トライアルを利用して設定していきます。

今回は Splunk Cloudのアカウントを作成しました。

アカウント作成後、Splunk Cloudにログインします。

トークンを作成

システムメニューから[設定]> [データ入力]を選択します。

[ローカル入力]> [HTTPイベントコレクター]の下の[新規追加]リンクを選択します。

トークン構成ウィザードが表示されますので、名前を付けて次に進みます。

新規のソースタイプを作成します。

インデックスはmainを使用します。

確認完了後、実行をクリックしてトークンの作成が完了しまっす。

払い出されたトークンをコピーしておきます。

必要な情報は以下

  • Splunkドメイン
    • Splunk Cloud URLのドメイン部分
  • トークン
    • 作成したトークン
  • ポート
    • 8088

Auth0でログイベントストリームを設定

Auth0のダッシュボードにログインし、Logs > StreamsからCREATE STREAMをクリックします。

Splunkを選択し、設定していきます。

ドメイン、トークン、ポートを入力します。

TLSの検証トグルですが、

デフォルトのSplunkCloudインスタンスは、自己署名証明書を使用します。デフォルトを使用する場合はオフのままにします。

※ Auth0は信頼できる機関からの証明書を使用することを勧めています

入力完了後、」SAVEをクリックして完了となります。

Healthタブをクリックすると、現在のステータスが確認できます。

Splunkでログを表示

Splunk Cloudにログインし,app-> Cloud Monitoring Console->Search & Reportingをクリックします。

検索ボックスに*を入力すると、指定期間内のログが全て表示されます。

ログの中身から検索するときは、表示されているログフィールドをクリックしてサーチに追加を押します。

すると以下の画像のように検索ボックスに検索文字列が追加され、ログの検索結果が表示されます。

ユーザーエージェントMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36で検索

*| spath "data.user_agent" | search "data.user_agent"="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36"

ログインに成功したログを検索

*| spath "data.type" | search "data.type"=s

いろいろなログフィールドで検索を試してみてください。

本記事では試していませんが、ログの検索結果をダッシュボードに表示(テーブル、グラフなど)も可能です。

検索の方法は、公式のガイドがありますのでそちらを参考にしてください。


Auth0のログをSplunkに送り、ログを表示する ということを行いました。 Streamsの連携が用意されているので簡単に設定が可能です。

Auth0のログに含まれている情報を可視化して意思決定に使えるようにする、ログの内容からアラートを作りいち早く問題に対処できるようにする といったことを行うならSplunkのようなサービスは検討しても良いと思います。

次回はアラートの作成、ダッシュボードでの可視化にチャレンジしていきたいと思います。