検索

9.10. First Login Flow

download PDF

ユーザーがアイデンティティー仲介を使用してログインすると、Red Hat build of Keycloak はレルムのローカルデータベース内のユーザーの要素をインポートし、リンクします。Red Hat build of Keycloak が外部アイデンティティープロバイダーを介してユーザーを正常に認証すると、以下の 2 つの状況が発生する可能性があります。

  • Red Hat build of Keycloak は、すでにユーザーアカウントをインポートし、認証されたアイデンティティープロバイダーアカウントにリンクしている。この場合、Red Hat build of Keycloak は既存のユーザーとして認証を行い、アプリケーションにリダイレクトします。
  • Red Hat build of Keycloak に、このユーザーのアカウントが存在しない。通常、新しいアカウントを登録して Red Hat build of Keycloak データベースにインポートしますが、同じメールアドレスを持つ既存の Red Hat build of Keycloak アカウントが存在する場合があります。既存のローカルアカウントを外部アイデンティティープロバイダーに自動的にリンクすることは、セキュリティーホールとなる可能性があります。外部アイデンティティープロバイダーから取得する情報を常に信頼することはできません。

このような状況に対処する場合、組織ごとに異なる要件があります。Red Hat build of Keycloak では、IDP 設定の First Login Flow オプションを使用して、外部 IDP から初めてログインするユーザーの ワークフロー を選択できます。デフォルトでは、First Login Flow オプションは first broker login フローをポイントしますが、独自のフローを使用することや、アイデンティティープロバイダーごとに異なるフローを使用することができます。

フローは管理コンソールの Authentication タブにあります。First Broker Login フローを選択すると、デフォルトで使用されるオーセンティケーターが表示されます。既存のフローを再設定できます。たとえば、一部のオーセンティケーターを無効にすることや、一部を required と識別することや、一部のオーセンティケーターを設定することができます。

9.10.1. デフォルトの first login flow のオーセンティケーター

プロファイルの確認
  • このオーセンティケーターはプロファイル情報ページを表示するため、ユーザーは Red Hat build of Keycloak がアイデンティティープロバイダーから取得するプロファイルを確認できます。
  • Actions メニューで Update Profile On First Login オプションを設定できます。
  • ON の場合、ユーザーにはプロファイルページが表示され、ユーザーのアイデンティティーのフェデレーションを行うために追加情報が要求されます。
  • missing 場合、アイデンティティープロバイダーがメール、名、姓などの必須情報を提供しない場合、ユーザーにはプロファイルページが表示されます。
  • OFF の場合、ユーザーが後で Confirm Link Existing Account オーセンティケーターによって表示されるページの Review profile info リンクをクリックしない限り、プロファイルページは表示されません。
Create User If Unique

このオーセンティケーターは、アイデンティティープロバイダーからのアカウントと同じメールまたはユーザー名を持つ既存の Red Hat build of Keycloak アカウントがすでにあるかどうかを確認します。ない場合、オーセンティケーターは新しいローカルの Red Hat build of Keycloak アカウントを作成し、それをアイデンティティープロバイダーとリンクし、フロー全体を終了します。それ以外の場合は、次の Handle Existing Account サブフローが処理されます。重複アカウントがないことを確認する場合は、このオーセンティケーターを REQUIRED とマークできます。この場合、既存の Red Hat build of Keycloak アカウントが存在すれば、ユーザーにはエラーページが表示され、ユーザーはアカウント管理を通じてアイデンティティプロバイダーアカウントをリンクする必要があります。

  • このオーセンティケーターは、アイデンティティープロバイダーのアカウントと同じメールまたはユーザー名を持つ Red Hat build of Keycloak アカウントがすでに存在するか確認します。
  • アカウントが存在しない場合、オーセンティケーターはローカルの Red Hat build of Keycloak アカウントを作成し、このアカウントをアイデンティティープロバイダーとリンクさせ、フローを終了します。
  • アカウントが存在する場合、オーセンティケーターは次の Handle Existing Account サブフローを実装します。
  • 重複アカウントがないようにするには、このオーセンティケーターを REQUIRED とマークします。Red Hat build of Keycloak アカウントが存在する場合、ユーザーにはエラーページが表示され、ユーザーはアカウント管理を通じてアイデンティティープロバイダーアカウントをリンクする必要があります。
既存のアカウントのリンクの確認
  • 情報ページで、ユーザーには同じメールアドレスを持つ Red Hat build of Keycloak アカウントが表示されます。ユーザーはプロファイルを再度確認し、別の電子メールまたはユーザー名を使用できます。フローが再起動され、Review Profile オーセンティケーターに戻ります。
  • あるいは、ユーザーはアイデンティティープロバイダーアカウントを既存の Keycloak アカウントにリンクすることを確認できます。
  • ユーザーにこの確認ページを表示させず、直接メール検証または再認証によりアイデンティティープロバイダーのアカウントをリンクさせるには、このオーセンティケーターを無効にします。
既存のアカウントをメールで検証
  • このオーセンティケーターは、デフォルトで ALTERNATIVE です。Red Hat build of Keycloak は、レルムに SMTP が設定されている場合にこのオーセンティケーターを使用します。
  • オーセンティケーターはユーザーにメールを送信し、アイデンティティープロバイダーを Red Hat build of Keycloak アカウントにリンクすることを確認します。
  • メールによるリンクを確認せず、ユーザーをそのパスワード で再認証する方が望ましい場合には、このオーセンティケーターを無効にします。
再認証による既存のアカウントの確認
  • メールオーセンティケーターが利用できない場合には、このオーセンティケーターを使用します。たとえば、レルムに SMTP を設定していない場合。このオーセンティケーターは、Red Hat build of Keycloak アカウントをアイデンティティープロバイダーにリンクすることを認証するログイン画面をユーザーに表示します。
  • ユーザーは、すでに Red Hat build of Keycloak アカウントにリンクされている別のアイデンティティープロバイダーで再認証することもできます。
  • ユーザーに OTP の使用を強制することができます。それ以外の場合は、任意で、ユーザーアカウントに OTP を設定した場合に使用されます。

9.10.3. 自動ユーザー作成の無効化

デフォルトの初回ログインフローでは、外部アイデンティティーに一致する Red Hat build of Keycloak アカウントを検索し、リンクを提案します。一致する Red Hat build of Keycloak アカウントが存在しない場合、フローによって自動的に作成されます。

このデフォルトの動作は、一部のセットアップでは適切ではない可能性があります。1 つの例は、すべてのユーザーが事前に作成されている、読み取り専用の LDAP ユーザーストアを使用する場合です。この場合は、自動ユーザー作成をオフにする必要があります。

ユーザーの作成を無効にするには、以下を実行します。

手順

  1. メニューで Authentication をクリックします。
  2. リストから First Broker Login を選択します。
  3. Create User if UniqueDISABLED に設定します。
  4. Confirm Link Existing AccountDISABLED に設定します。

これを設定すると、Red Hat build of Keycloak 自体では、どの内部アカウントが外部アイデンティティーに対応するか判断できません。そのため、Verify Existing Account By Re-authentication オーセンティケーターにより、ユーザー名およびパスワードが提供されます。

注記

ID プロバイダーによるユーザー作成の有効化または無効化は、レルムの User Registration switch とは完全に独立しています。ID プロバイダーによるユーザーの作成を有効にし、同時にレルムのログイン設定でユーザーの自己登録を無効にすることも、その逆を行うこともできます。

9.10.4. 既存ユーザーの最初のログインフローの検出

以下の条件で、最初のログインフローを設定するには、

  • このレルムにすでに登録されているユーザーのみがログインできる。
  • ユーザーはプロンプトなしで自動的にリンクされる。

以下の 2 つのオーセンティケーターで新しいフローを作成します。

Detect Existing Broker User
このオーセンティケーターは、一意のユーザーが処理されるようにします。オーセンティケーターの要件を REQUIRED に設定します。
Automatically Set Existing User
検証なしで既存のユーザーを認証コンテキストに自動的に設定します。オーセンティケーターの要件を REQUIRED に設定します。

アイデンティティープロバイダー設定の First Login Flow をそのフローに設定する必要があります。ユーザープロファイル (姓、名 など) をアイデンティティープロバイダー属性で更新する場合は、Sync Modeforce に設定することもできます。

注記

このフローは、アイデンティティーを他のアイデンティティープロバイダー (GitHub、Facebook など) に移譲するが、ログインできるユーザーを管理する場合に使用できます。

この設定では、Red Hat build of Keycloak は外部アイデンティティーに対応する内部アカウントを判断できません。Verify Existing Account By Re-authentication オーセンティケーターにより、プロバイダーにユーザー名とパスワードの入力が求められます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.