第14章 イベントを追跡する監査の設定


Red Hat build of Keycloak には、一連の監査機能が含まれています。すべてのログインおよび管理者のアクションを記録し、管理コンソールでそれらのアクションを確認できます。Red Hat build of Keycloak には、イベントをリッスンしてアクションをトリガーできる Listener SPI も含まれています。ビルトインリスナーの例には、ログファイルとイベント発生時のメールの送信が含まれます。

14.1. ユーザーイベントの監査

ユーザーに影響するすべてのイベントを記録および表示できます。Red Hat build of Keycloak は、ユーザーがログインに成功した場合、ユーザーが間違ったパスワードを入力した場合、ユーザーがアカウントを更新した場合などのアクションに対して、ログインイベントをトリガーします。デフォルトでは、Red Hat build of Keycloak は、管理コンソールにイベントを保存または表示しません。管理コンソールとサーバーのログファイルにエラーイベントのみがログに記録されます。

手順

この手順を使用して、ユーザーイベントの監査を開始します。

  1. メニューで Realm Settings をクリックします。
  2. Events タブをクリックします。
  3. User events settings タブをクリックします。
  4. Save eventsON に切り替えます。

    ユーザーイベントの設定

    User events settings

  5. Expiration フィールドにイベントを保存する時間を指定します。
  6. Add saved types をクリックして、保存できる他のイベントを表示します。

    タイプを追加

    Add types

  7. Add をクリックします。

保存したすべてのイベントを削除するには、Clear user events をクリックします。

手順

イベントを閲覧できるようになりました。

  1. メニューの Events タブをクリックします。

    ユーザーイベント

    Login Events

  2. イベントをフィルタリングするには、Search user event をクリックします。

    ユーザーイベントの検索

    Search user event

14.1.1. イベントタイプ

ログインイベント:

イベント説明

ログイン

ユーザーがログインする。

登録

ユーザーが登録する。

ログアウト

ユーザーがログアウトする。

トークンへのコード

アプリケーションまたはクライアントはトークンのコードを交換する。

トークンの更新

アプリケーションまたはクライアントはトークンを更新する。

アカウントイベント:

イベント説明

ソーシャルリンク

ユーザーアカウントはソーシャルメディアプロバイダーにリンクされます。

ソーシャルリンクの削除

ソーシャルメディアアカウントからユーザーアカウントへのリンク。

メールの更新

アカウントのメールアドレスを変更します。

プロファイルの更新

アカウントのプロファイルを変更します。

パスワードリセットの送信

Red Hat build of Keycloak は、パスワードリセットメールを送信します。

パスワードの更新

アカウントのパスワードを変更します。

TOTP の更新

アカウントの時間ベースのワンタイムパスワード (TOTP) 設定を変更します。

TOTP の削除

Red Hat build of Keycloak は、アカウントから TOTP を削除します。

確認メールの送信

Red Hat build of Keycloak は、メールを検証するためのメールを送信します。

メールの確認

Red Hat build of Keycloak は、アカウントのメールアドレスを検証します。

各イベントには、対応するエラーイベントがあります。

14.1.2. イベントリスナー

イベントリスナーはイベントをリッスンし、そのイベントに基づいてアクションを実行します。Red Hat build of Keycloak には、Logging Event Listener と Email Event Listener の 2 つのビルトインリスナーが含まれています。

14.1.2.1. Logging Event Listener (ロギングイベントリスナー)

Logging Event Listener を有効にすると、このリスナーはエラーイベントの発生時にログファイルに書き込みます。

Logging Event Listener からのログメッセージの例:

11:36:09,965 WARN  [org.keycloak.events] (default task-51) type=LOGIN_ERROR, realmId=master,
                    clientId=myapp,
                    userId=19aeb848-96fc-44f6-b0a3-59a17570d374, ipAddress=127.0.0.1,
                    error=invalid_user_credentials, auth_method=openid-connect, auth_type=code,
                    redirect_uri=http://localhost:8180/myapp,
                    code_id=b669da14-cdbb-41d0-b055-0810a0334607, username=admin

Logging Event Listener を使用して、ハッカーのボット攻撃から保護できます。

  1. LOGIN_ERROR イベントのログファイルを解析します。
  2. 失敗したログインイベントの IP アドレスを抽出します。
  3. IP アドレスを侵入防止ソフトウェアフレームワークツールに送信します。

Logging Event Listener は、イベントを org.keycloak.events ログカテゴリーに記録します。Red Hat build of Keycloak には、デフォルトでサーバーログにデバッグログイベントが含まれていません。

デバッグログイベントをサーバーログに含めるには、以下を実行します。

  1. org.keycloak.events カテゴリーのログレベルを変更します。
  2. Logging Event Listener によって使用されるログレベルを変更します。

Logging Event Listener によって使用されるログレベルを変更するには、以下を追加します。

bin/kc.[sh|bat] start --spi-events-listener-jboss-logging-success-level=info --spi-events-listener-jboss-logging-error-level=error

ログレベルの有効な値は debuginfowarnerror、および fatal です。

14.1.2.2. Email Event Listener (メールイベントリスナー)

Email Event Listener は、イベント発生時にユーザーのアカウントにメールを送信し、以下のイベントをサポートします。

  • ログインエラー
  • パスワードの更新
  • 時間ベースのワンタイムパスワード (TOTP) を更新します。
  • 時間ベースのワンタイムパスワード (TOTP) を削除します。

手順

メールリスナーを有効にするには、以下を実行します。

  1. メニューで Realm Settings をクリックします。
  2. Events タブをクリックします。
  3. Event listeners フィールドをクリックします。
  4. Email を選択します。

    Event listeners

    Event listeners

--spi-events-listener-email-exclude-events 引数を使用してイベントを除外できます。以下に例を示します。

kc.[sh|bat] --spi-events-listener-email-exclude-events=UPDATE_TOTP,REMOVE_TOTP

--spi-events-store-jpa-max-detail-length 引数を使用して、データベース内の各イベント詳細の最大長を設定できます。この設定は、詳細 (redirect_uri など) が長い場合に便利です。以下に例を示します。

kc.[sh|bat] --spi-events-store-jpa-max-detail-length=1000

また、--spi-events-store-jpa-max-field-length 引数を使用して、すべてのイベントの詳細の最大長を設定できます。この設定は、基礎となるストレージ制限を遵守したい場合に便利です。以下に例を示します。

kc.[sh|bat] --spi-events-store-jpa-max-field-length=2500
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.