Auth0のログ出力をAmazon EventBridgeとSNSを使って通知させてみた
はじめに
おはようございます、コンサル部の島川です。
Auth0のログをEventBridgeとSNSを使ってメールで送るといったことをやってみました。
構成図
構成図です。とてもシンプル。
構築
- 前提としてSNSのトピックは既にあるものとします。
- Auth0側でLog Streamの設定をする。
- EventBridgeでAuth0を承認する。
- EventBridgeでルールを作成する。
- 動作確認をする。メール受信できていたらOK。
1. Auth0側でLog Streamの設定をする。
- Auth0の管理画面からLogs -> Streamを選択しStreamを作成します。
- Amazon EventBridgeを選択します。
- 適当な名前を入力します。
- 12桁のAWSアカウントIDとRegionを指定してSAVEします。
以上でAuth0側の設定は完了です。Logs -> Searchに吐き出されたログが全てEventBridgeに送信されるようになりました。
2. EventBridgeでAuth0を承認する。
- マネジメントコンソールにアクセスして、EventBridgeの管理画面を開きます。
- パートナーイベントソース をクリックすると先ほど設定したAuth0からのリクエストが見えます。選択してイベントパスと関連付けます。
- そのまま関連付けます。
3. EventBridgeでルールを作成する。
- ルールを作成します。
- 名前は適当に入力します。
- イベントパターンは特に指定しません。デフォルトのまま次に進みます。
- イベントパスは先ほど承認したものを選択します。
- ターゲットはSNSで自分で作成したトピックを選択します。
- 今回のトピックでは自分のメールアドレスのみ指定しています。
4. 動作確認をする。メール受信できていたらOK。
- Auth0側でログインに失敗してみてログを出力させてみます。
- ログ出ました。
- メールで受信できているか確認します。
できました!
まとめ
今回はSNSをターゲットとして設定しましたが、EventBridgeはCloudWatch Eventsと同じようにLambdaやKinesisなんかにもデータを送ることができます。Auth0含め、様々なSaaSサービスで発生したログの有効活用が期待できます。
またルールに関しても全部取得するように設定していましたが、細かくルールを決めることでより柔軟性も持たせることができます。