サインインしたままにする

[Keep me signed in (KMSI)(サインインしたままにする(KMSI))]は、サインイン情報が記憶されたデバイスにおいてサインインの煩わしさを軽減するユーザビリティ機能です。認証が成功した後、サインインしたままにする(Keep me signed in)を選択したユーザーは、MFAの有効期限が切れるかブラウザーのクッキーが消去されるまで、その後のMFAのプロンプトを受け取りません。

この機能を使用すると攻撃対象領域が拡大する可能性があります。公共部門や高度に規制された顧客、共有デバイス、または機密データにアクセスするアカウントやアプリには適さない場合があります。

仕組み

この機能は、ユーザー認証の前または後にKMSIプロンプトが表示されるように構成することができます。

  • 標準の認証フローでは、ユーザーは直接アプリまたはorgのサインインページに移動し、資格情報を入力します。ユーザーが資格情報を入力したときにSign-In Widget でプロンプトが表示されるようにしたい場合は、認証前KMSIを構成します。認証完了後にプロンプトを表示させるようにしたい場合は、認証後KMSIを構成します。
  • 委任認証フローでは、ユーザーはSign-In Widget をバイパスし、IDプロバイダーを使用してサインインします。これらのユーザーに対して、認証後KMSIを構成すると、認証後にKMSIオプションが表示され、Oktaにリダイレクトされるようになります。

どちらのフローでも、KMSIはorg内のすべてのアプリで保持されます。ユーザーが1つのアプリでサインイン状態を維持する(Keep me signed in)を選択すると、ポリシーで設定された期間、すべてのアプリでデバイスにKMSIが保存されます。

認証前KMSIを構成する

認証前KMSIは組織のセキュリティ(Organization Security)設定で指定され、グローバルセッションポリシーのMFAライフタイムを使用します。有効にすると、org内のすべてのユーザーがこれを使用できるようになります。

機能を有効にする

  1. Admin Consoleで、セキュリティ(Security) > 一般(General)に移動します。

  2. 組織のセキュリティ(Organizational Security)セクションで編集(Edit)をクリックします。
  3. ユーザーのサインイン前にサインインしたままにするオプションを表示する(Show option to stay signed in before users sign in)設定を有効にします。
  4. 保存(Save)をクリックします。

ポリシーを変更する

  1. グルーバルセッションポリシーを作成するか、グルーバルセッションポリシーを編集します。
  2. 次のルール条件を設定します。
    • Multifactor authentication (MFA) is(多要素認証(MFA)):必要
    • ユーザーにMFA用のプロンプトを表示(Users will be prompted for MFA):MFAのライフタイムがデバイスのクッキーに対して有効期限切れになった後
  3. サインインしたままにする(Keep me signed in)機能をアプリに拡張するには、そのアプリサインインポリシーを更新します。
  4. 次のルール条件を設定します。
    • ユーザーの認証に必要な要素(User must authenticate with):2要素タイプ(いずれかのオプション)
    • 認証のためのプロンプト(Prompt for authentication):Oktaグローバルセッションが存在しない場合

認証後KMSIを構成する

認証後KMSIはアプリサインインポリシーで設定されており、ユーザーが関連するアプリのいずれかにサインインした後にプロンプトが表示されます。区別すべき重要な点として、KMSIプロンプトは構成済みアプリに対してのみ表示されますが、設定自体はorg内のすべてのアプリで保持されます。

また、意図したKMSIの有効期間が守られるように、グローバルセッションポリシーも変更する必要があります。

グローバルセッションポリシーを変更する

  1. Admin Consoleセキュリティ(Security) > グローバルセッションポリシー に移動します。

  2. デフォルトポリシーを選択し、編集(Edit)をクリックします。
  3. 次のIF条件を設定します。
    • ユーザーのIP(User's IP is):すべての場所
    • IDプロバイダー(Identity provider is):任意
    • 認証手段(Authenticates via):任意
    • 挙動(Behavior is):空白
    • リスク(Risk is):任意
  4. 次のTHEN条件を設定します:
    • アクセス(Access is):許可
    • 次を使用してユーザーセッションを確立:(Establish the user session with)認証ポリシーの要件を満たすために使用される任意の要素(:[Any factor used to meet the Authentication Policy requirements)]
    • Multifactor authentication (MFA) is(多要素認証(MFA)):要求しない
    • Oktaグローバルセッションの最大ライフタイム(Maximum Okta global session lifetime):制限時間なし
    • Oktaグローバルセッションの最大アイドル時間(Maximum Okta global session lifetime)(Maximum Okta global session idle time):2時間
    • Oktaグローバルセッションクッキーを保持(Okta global session cookies persist across :):無効
  5. 保存(Save)をクリックします。

認証後KMSIのアプリサインインポリシーを作成する

  1. Admin Consoleセキュリティ(Security) > 認証ポリシー に移動します。

  2. アプリのサインイン(App sign-in)をクリックします。
  3. 任意の2要素タイプ(Any two factors)ポリシーを選択します。
  4. キャッチオールルールのアクション(Actions)メニューで、編集(Edit)を選択します。
  5. 次のIF条件を設定します。
    • ユーザータイプ(User type):任意のユーザータイプ
    • ユーザーのグループメンバーシップ(User group membership includes):任意のグループ
    • ユーザー(User is):任意のユーザー
    • デバイスの状態(Device state is):任意」
    • デバイス保証ポリシー:(Device assurance policy is):[ポリシーなし]
    • デバイスプラットフォーム(Device platform is):任意のプラットフォーム
    • ユーザーのIP(User's IP is):任意のIP
    • リスク(Risk is):任意
    • 次のカスタム式をtrueとする(The following custom expression is true):空白
  6. 次のTHEN条件を設定します。
    • アクセス:(Access is):認証の成功後に許可
    • ユーザーが使用する認証方法(User must authenticate with):任意の2要素タイプ
    • 所有要素の制約(Possession factor constraints are):ユーザーの操作を必要とする(または、orgが必要とする追加の制約を選択)
    • 認証方法(Authentication methods):特定の認証方法を許可する(続いて、許可するAuthenticatorを入力)
    • サインしたままにするオプション([Option to stay signed in):ユーザーがサインインした後に表示
    • ユーザーの現在のデバイスで過去に表示されていなかった場合に表示(Show when not previously shown on the user's current device in the past):7日
    • 認証のプロンプト(Prompt for authentication):アクティブなOktaグローバルセッションによって保護されるリソースにユーザーがアクセスしてから指定の時間が経過したとき
    • 前回のサインインからの経過時間(Time since last sign in):7日
  7. 保存(Save)をクリックします。
  8. ポリシーのアプリケーション(Applications)タブに進みます。
  9. アプリを追加(Add app)またはポリシーを切り替える(Switch policy)をクリックして、認証後KMSIプロンプトを表示するアプリをポリシーに追加します。

この構成はご自身のユースケースに合わせて調整できますが、最後の2つの条件はKMSIにとって不可欠です。グローバルセッションポリシーにMFAが必要ない場合、アプリサインインポリシーは指定の期間を超えたときに認証を求める必要があります。異なる設定を選択すると、KMSIのプロンプトの表示頻度が高くなりますが、ユーザーの選択は保持されません。

グローバルセッションポリシーがMFAを必要とする場合、アプリサインインポリシーは指定の期間を超えたときやグローバルセッションが存在しない場合に認証を求めることができます。

シームレスなユーザーエクスペリエンスを実現するには、サインしたままにするオプション(Option to stay signed in)の期間と認証のプロンプト(Prompt for authentication)の期間を一致させてください。これが一致しない場合、MFAのプロンプトが表示された後、サインインしたままにする(Keep me signed in)プロンプトが表示されないことがあります。

ユーザーのKMSIをリセット

個人ユーザーのサインインしたままにする(Keep me signed in)をリセットし、すべてのセッションを消去することができます。

  1. Admin Consoleで、ディレクトリ(Directory) > ユーザー(People)に進みます。

  2. ユーザーを選択します。
  3. その他のアクション(More Actions)メニューで、ユーザーセッションを消去(Clear User Sessions)を選択します。
  4. [サインイン状態を維持する]をクリア(Clear "keep me signed in")を選択します。
  5. セッションを消去してトークンを取り消す(Clear Sessions & Revoke Tokens)をクリックします。

ユーザーがorgに次回アクセスしたときには、サインインしたままにする(Keep me signed in)オプションが表示されます。

ユーザーエクスペリエンス

認証前KMSIフローでは、ユーザーはSign-In Widget にユーザー名を入力するときにサインインしたままにする(Keep me signed in)を選択してから、MFAを指定して認証を完了します。

認証後KMSIフローでは、orgのサインインページにアクセスしたユーザーは、サインインしたままにする(Keep me signed in)を選択する前にIDプロバイダーにリダイレクトされる場合があります。認証後、これらのユーザーはOktaにリダイレクトされた際にサインインしたままにする(Stay signed in)を選択します。

いずれの場合も、 サインイン状態を維持する(Keep me signed in)を選択したユーザーは、すべてのアプリで(ポリシーでKMSIが構成されているアプリ以外も含めて)そのデバイスに記憶されます。アプリサインインポリシーで設定された期間中、プロンプトは再表示されません。ダッシュボードのアカウント設定メニューを開き、すべてのセッションを終了(End All Sessions)(Sign out)セクションでサインアウト(Sign Out)(End All Sessions)を選択することで、KMSIプロンプトを手動でリセットし、すべてのセッションを消去することができます。ユーザーがorgに次回アクセスしたときには、サインインしたままにする(Keep me signed in)オプションが表示されます。

関連項目

一般的なセキュリティ(General Security)

サインインフロー