こんにちは。弁護士ドットコム SRE 室のテイです。
当社は Onelogin という IDaaS サービスを利用して、AWS や datadog へのシングルサインオン、OIDC 認証などを運用しています。認証時のイベントログは Onelogin の管理コンソール上でも確認できますが、やや一覧性に欠けます。よって、 Amazon EventBridge と連携して CloudWatch Logs に転送するよう設定しました。
今回はこちらについてご紹介させていただきます。
設定手順
Amazon EventBrige 管理コンソールのパートナーイベントソース画面で「Onelogin」を検索して、「設定」ボタンをクリックします。

ステップ 1 の指示通り、AWS アカウント ID をコピーします。

次に Onelogin の管理コンソールを開いて、「Developers」→「Webhooks」の順でクリックします。

「New Webhook」をクリックして、「Event Webhook for Amazon EventBridge」を選択します。

Webhook の作成画面で任意の名前を記入して、先程コピーした AWS アカウント ID とリージョンを記入して保存します。
当社は東京リージョンを利用しますので、「ap-northeast-1」を記入しました。

Webhook を作成しても、まだ「Disconnected」状態です。

AWS 側の Amazon EventBrige 管理コンソールにも、「保留中」状態の Onelogin イベントソースが生成されました。
イベントソースを選択して、「イベントバスと関連付ける」ボタンをクリックします。

この画面で、そのまま「関連付ける」ボタンをクリックしたら、イベントソースの状態が「保留中」から「アクティブ」になります。

次はイベントルールを作成します。
Onelogin のイベントバスを選択して、「ルールを作成」ボタンをクリックします。

パターン定義で「イベントパターン」を選択して、カスタムパターンを選択します。
すべての Onelogin イベントログを転送するため、下記のような JSON 式のイベントパターンを記入して、保存します。

Onelogin のイベントバスがデフォルト選択されますので、そのまま次のステップへ移します。

ターゲットは Cloudwatch ロググループを選択して、ロググループ名を記入した後、「作成」ボタンをクリックします。
ロググループが未作成の場合、新規作成されますので、事前作成する必要がありません。

イベントルール作成した後、Onelogin 管理コンソール上の Webhook の状態も「Connected」になりました。

Onelogin のイベントが生成された同時に、Cloudwatch Logs にも転送できました。

Onelogin のイベントログを Cloudwatch Logs から datadog にも転送できます。転送方法について、こちらの Lambda でログ転送をご参考ください。
以上、Onelogin と Amazon EventBridge を連携し、イベントログを Cloudwatch Logs へ転送する設定をご紹介させていただきました。
