OneLogin と Amazon EventBridge を連携し、イベントログを Cloudwatch Logs へ転送

　こんにちは。弁護士ドットコム SRE 室のテイです。

　当社は Onelogin という IDaaS サービスを利用して、AWS や datadog へのシングルサインオン、OIDC 認証などを運用しています。認証時のイベントログは Onelogin の管理コンソール上でも確認できますが、やや一覧性に欠けます。よって、 Amazon EventBridge と連携して CloudWatch Logs に転送するよう設定しました。
　今回はこちらについてご紹介させていただきます。

# 設定手順
　Amazon EventBrige 管理コンソールのパートナーイベントソース画面で「Onelogin」を検索して、「設定」ボタンをクリックします。
![スクリーンショット 2021-07-02 15.05.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260895/24e7d1ec-6aba-b318-7983-aca33dddb934.png)

　ステップ 1 の指示通り、AWS アカウント ID をコピーします。
![スクリーンショット 2021-07-02 15.05.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260895/8b3dc3f3-fdd6-f81a-f23a-81cef040862b.png)

　次に Onelogin の管理コンソールを開いて、「Developers」→「Webhooks」の順でクリックします。
![スクリーンショット 2021-07-02 15.06.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260895/51bc2f22-0002-e771-cdf0-a5f42908a460.png)

　「New Webhook」をクリックして、「Event Webhook for Amazon EventBridge」を選択します。
![スクリーンショット 2021-07-02 15.07.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260895/3d63da1e-2fc1-c5ee-8525-51a2e2b2b09e.png)

　Webhook の作成画面で任意の名前を記入して、先程コピーした AWS アカウント ID とリージョンを記入して保存します。
　当社は東京リージョンを利用しますので、「ap-northeast-1」を記入しました。
![スクリーンショット 2021-07-02 15.08.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260895/070a7f75-8ef7-fcd1-bf40-e07db32f1c6a.png)

　Webhook を作成しても、まだ「Disconnected」状態です。
![スクリーンショット 2021-07-02 15.08.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260895/ba1e001a-93ad-6496-ae9a-86ce778ca493.png)

　AWS 側の Amazon EventBrige 管理コンソールにも、「保留中」状態の Onelogin イベントソースが生成されました。
　イベントソースを選択して、「イベントバスと関連付ける」ボタンをクリックします。
![スクリーンショット 2021-07-02 15.09.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260895/c5c88970-86cf-16e0-b5e3-bf9d9953f06b.png)

　この画面で、そのまま「関連付ける」ボタンをクリックしたら、イベントソースの状態が「保留中」から「アクティブ」になります。
![スクリーンショット 2021-07-02 15.10.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260895/7e2c4d47-c233-385a-2b9b-b3cad7e1f121.png)

　次はイベントルールを作成します。
　Onelogin のイベントバスを選択して、「ルールを作成」ボタンをクリックします。
![スクリーンショット 2021-07-02 15.16.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260895/7e33ae7d-c0c4-da7a-c117-2fadcbe19bb0.png)

　任意のルール名と説明を記入します。
![スクリーンショット 2021-07-02 15.17.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260895/17a25c87-e3bd-142e-bdf5-bd24345c2edb.png)

　パターン定義で「イベントパターン」を選択して、カスタムパターンを選択します。
　すべての Onelogin イベントログを転送するため、下記のような JSON 式のイベントパターンを記入して、保存します。
![スクリーンショット 2021-07-02 15.17.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260895/382c7996-5ce4-f26f-b0a8-e5f69b2df784.png)

　Onelogin のイベントバスがデフォルト選択されますので、そのまま次のステップへ移します。
![スクリーンショット 2021-07-02 15.17.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260895/3a2c20f8-dd38-7c24-5e78-8f54e18b78b7.png)

　ターゲットは Cloudwatch ロググループを選択して、ロググループ名を記入した後、「作成」ボタンをクリックします。
　*ロググループが未作成の場合、新規作成されますので、事前作成する必要がありません。*
![スクリーンショット 2021-07-02 15.18.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260895/39aa53c5-56a1-2e8e-93fc-fb67f9a9d622.png)

　イベントルール作成した後、Onelogin 管理コンソール上の Webhook の状態も「Connected」になりました。
![スクリーンショット 2021-07-02 15.19.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260895/91134965-a1cd-9ca9-bc2c-9668dda0b795.png)

　Onelogin のイベントが生成された同時に、Cloudwatch Logs にも転送できました。
![スクリーンショット 2021-07-02 15.24.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/260895/2c05462c-8f92-d8f9-df2a-0d005613a12d.png)

　Onelogin のイベントログを Cloudwatch Logs から datadog にも転送できます。転送方法について、こちらの [Lambda でログ転送](https://qiita.com/et_tei/items/fc0766c93e2dc118f754#lambda-%E3%81%A7%E3%83%AD%E3%82%B0%E8%BB%A2%E9%80%81)をご参考ください。

　以上、Onelogin と Amazon EventBridge を連携し、イベントログを Cloudwatch Logs へ転送する設定をご紹介させていただきました。