8.4. ユーザーセッションの制限
ユーザーが持つことができるセッション数の制限を設定できます。セッションは、レルムごとまたはクライアントごとに制限できます。
フローにセッション制限を追加するには、次の手順を実行します。
- フローの Add step をクリックします。
- 項目 リストから User session count limiter を選択します。
- Add をクリックします。
- ユーザーセッションカウントリミッター 認証タイプの 必須 をクリックして、要件を必須に設定します。
- User Session Count Limiter の ⚙️ (歯車アイコン) をクリックします。
- この設定のエイリアスを入力します。
- このレルムでユーザーが持つことができるセッションの最大数を入力します。たとえば、値が 2 の場合、各ユーザーがこのレルムで保持できる最大数は 2 SSO セッションです。値が 0 の場合、このチェックは無効になります。
-
クライアントにユーザーが持つことができるセッションの最大数を入力します。たとえば、値が 2 の場合、このレルムでは各クライアントの SSO セッションが最大 2 つになります。したがって、ユーザーがクライアント
foo
に対して認証しようとしているが、そのユーザーがすでにクライアントfoo
に対して 2 つの SSO セッションで認証されている場合、設定された動作に基づいて認証が拒否されるか、既存のセッションが強制終了されます。0 の値を使用すると、このチェックは無効になります。セッション制限とクライアントセッション制限の両方が有効になっている場合は、クライアントセッション制限を常にセッション制限より低くすることが合理的です。クライアントごとの制限は、このユーザーのすべての SSO セッションの制限を超えることはできません。 制限に達するとユーザーがセッションを作成しようとすると必要な動作を選択します。利用可能な動作は次のとおりです。
- Deny new session - 新しいセッションが要求されてセッション制限に達すると、新しいセッションを作成できなくなります。
- Terminate oldest session - 新しいセッションが要求され、セッション制限に達すると、最も古いセッションが削除され、新しいセッションが作成されます。
- 必要に応じて、制限に達すると表示されるカスタムエラーメッセージを追加します。
ユーザーセッション制限は、バインドされた Browser Flow、Direct Grant Flow、Reset Credentials、および Post Broker Login Flow に追加される必要があることに注意してください。オーセンティケータは、認証中にユーザーがすでに認識されている時点 (通常は認証フローの最後) に追加する必要があり、通常は必須です。ALTERNATIVE と REQUIRED を同じレベルで実行することはできないことに注意してください。
Direct grant flow
、Reset credentials
または Post broker login flow
などのオーセンティケーターのほとんどでは、認証フローの最後に REQUIRED として authenticator を追加することを推奨します。Reset credentials
フローの例を次に示します。
Browser
フローの場合は、トップレベルフローにセッション制限オーセンティケーターを追加しないことを検討してください。この推奨事項は、SSO Cookie に基づいてユーザーを自動的に再認証する Cookie
認証システムによるものです。これは最上位レベルにあり、ユーザーセッションがすでに存在するため、SSO 再認証中にセッション制限をチェックしないことを推奨します。そのため、代わりに、次の authenticate-user-with-session-limit
の例のように、別の ALTERNATIVE サブフローを Cookie
と同じレベルに追加することを検討してください。次に、次の real-authentication-subflow`example, as a nested subflow of `authenticate-user-with-session-limit
の REQUIRED サブフローを追加し、同じレベルで User Session Limit
も追加できます。real-authentication-subflow
内では、デフォルトのブラウザーフローと同様の方法でリアルオーセンティケーターを追加できます。次のフロー例では、ユーザーがアイデンティティプロバイダーまたはパスワードと OTP を使用して認証できるようにします。
Post Broker login flow
に関しては、アイデンティティプロバイダーによる認証後にトリガーする他の認証システムがない限り、認証フローの唯一の認証システムとして User Session Limits
を追加できます。ただし、このフローがアイデンティティプロバイダーで Post Broker Flow
として設定されていることを確認してください。この要件は、ID プロバイダーによる認証もセッション制限に参加するために必要です。
現在、管理者は異なる設定間で整合性を維持します。したがって、すべてのフローで同じ User Session Limits
の設定を使用するようにしてください。
ユーザーセッション制限機能は CIBA では使用できません。