Microsoft Entra IDのフェデレーション ユーザーが頻繁にサインインすることを強制される

この記事では、Microsoft Entra IDのフェデレーション ユーザーが頻繁にサインインすることを強制される問題について説明します。

元の製品バージョン: Microsoft Entra ID
元の KB 番号: 4025960

現象

フェデレーション ユーザーは、Microsoft Entra IDにサインインした後、サインインしたままにするのではなく、継続的にサインインし直す必要があります。

原因

LastPasswordChangeTimestamp 属性が同期されていないフェデレーション ユーザーは、最大有効期間の値が 12 時間のセッション Cookie と更新トークンを発行します。 つまり、プログラムは新しいトークンを自動的に取得して、ユーザーのセッションを最大 12 時間まで維持できます。 その後、ユーザーは元の IdP に返され、再認証されます。

これは、Microsoft Entra IDが古い資格情報 (変更されたパスワードなど) に関連するトークンを取り消すタイミングを判断できないために発生します。 したがって、Microsoft Entra IDは、ユーザーと関連付けられたトークンがまだ良好な状態であることを確認するために、より頻繁にチェックする必要があります。 トークンの有効期間とその管理方法の詳細については、次の Microsoft Azure の記事を参照してください。

Microsoft Entra IDでの構成可能なトークンの有効期間 (パブリック プレビュー)

解決方法

この問題を解決するには、テナント管理者が LastPasswordChangeTimestamp 属性を同期する必要があります。 この属性を同期すると、ユーザー エクスペリエンスとセキュリティの状態が向上します。

この設定は、PowerShell を使用するか、Microsoft Entra Connect を使用して、ユーザー オブジェクトに対して行うことができます。

PowerShell

Azure AD PowerShell V1 (MSOnline) モジュールを使用して、ユーザーの StsRefreshTokensValidFrom 属性を設定できます。 これにより、Microsoft Entra認証フローが通知され、ユーザーに長持ちする更新トークンまたはMicrosoft Entra ポリシーに基づく更新トークンが提供されます。 これを行うには、次の手順を実行します。

注:

Azure AD および MSOnline PowerShell モジュールは、2024 年 3 月 30 日の時点で非推奨となりました。 詳細については、 非推奨の更新プログラムに関するページを参照してください。 この日付以降、これらのモジュールのサポートは、Microsoft Graph PowerShell SDK への移行支援とセキュリティ修正に限定されます。 非推奨のモジュールは、2025 年 3 月 30 日まで引き続き機能します。

Microsoft Entra ID (旧称 Azure AD) と対話するには、Microsoft Graph PowerShell に移行することをお勧めします。 移行に関する一般的な質問については、移行に関する FAQ を参照してください。 メモ: バージョン 1.0.x の MSOnline では、2024 年 6 月 30 日以降に中断が発生する可能性があります。

  1. 最新の Azure AD PowerShell V1 リリースをダウンロードします。

  2. Connect コマンドを実行して、新しいセッションを開始するたびにMicrosoft Entra管理者アカウントにサインインします。

    Connect-msolservice
    
  3. 次のコマンドを使用して StsRefreshTokensValidFrom 属性を設定します。

    $RefreshTokensValidFrom = Get-Date
    Set-MsolUser -UserPrincipalName<UPN of user>-StsRefreshTokensValidFrom $RefreshTokensValidFrom
    

    例:

    $RefreshTokensValidFrom = Get-Date
    Set-MsolUser -UserPrincipalName john@contoso.com -StsRefreshTokensValidFrom $RefreshTokensValidFrom
    

    注:

    StsRefreshTokenValidFromwill は任意の日付を受け入れるように見えますが、常に現在の日付と時刻に設定されます。

  4. 詳細については、 Azure サポートにお問い合わせください。

Microsoft Entra Connect

Microsoft Entra Connect では、既定でこの属性が同期されます。 ただし、Microsoft Entra接続は、属性フィルター機能を使用するか、既定の同期規則を無効にして、この属性を同期または同期しないように構成できます。

Microsoft Entra アプリと属性フィルター機能の使用

Microsoft Entra アプリと属性フィルター機能を使用して PwdLastSet 属性の同期を以前に無効にした場合は、次の手順に従ってプロセスを再度有効にします。

すぐに使用できる同期規則を無効にする

  1. Microsoft Entra Connect サーバーにログインし、Microsoft Entra Connect ウィザードを起動します。

  2. [ 同期オプション タスクのカスタマイズ] をクリックします。

  3. [省略可能な機能] 画面に移動し、Microsoft Entra アプリと属性フィルター機能が有効になっていることを確認します。 そうでない場合は、 PwdLastSet 属性の同期を無効にするために機能が使用されていないことを意味します。

  4. [属性] 画面Microsoft Entra移動し、PwdLastSet 属性を有効にします。 既に有効になっている場合は、 PwdLastSet 属性の同期を無効にするために機能が使用されていないことを意味します。

  5. ウィザードを完了し、構成を保存します。

  6. PowerShell で次のコマンドレットを実行して、完全同期サイクルを実行します。

    Start-ADSyncSyncCycle -policyType initial
    

    注:

    Microsoft Entra アプリと属性のフィルター機能が無効になっている場合 (手順 3 を参照)、または PwdLastSet 属性が既に有効になっている場合 (手順 4 を参照)、この機能を使用して PwdLastSet 属性を無効にしていないことを意味します。 この状況では、手順 5 と 6 をスキップできます。

Microsoft Entra Connect では、次の既定の同期規則を使用して、PwdLastSet 属性の同期が実装されます。

既定の同期規則 詳細
AD から ユーザー共通オンプレミス AD PwdLastSet 属性を Metaverse PwdLastSet 属性に インポートします。
Microsoft Entra ID外 ユーザー結合のエクスポートメタバース PwdLastSet
属性を LastPasswordChangeTimestamp 属性Microsoft Entra IDします。

次のスクリーン ショットでは、Microsoft Entraの [同期規則の接続] エディターを使用して、両方の同期規則に属性フローがどのように実装されているかを確認できます。

[Microsoft Entra接続同期規則] エディターのスクリーンショット。

お客様は、これらの既定の同期規則を無効にし、カスタム同期規則に置き換えることで、 PwdLastSet 属性の同期を無効にすることができます。 PwdLastSet 属性の同期を有効にするには、これらのすぐに使用できる同期規則を再度有効にするか、既存のカスタム同期規則に同じ属性フローを実装することを検討してください。

同期規則の変更を実装して検証する方法の詳細については、「Connect Sync: How to make a change to a default configuration(接続同期: 既定の構成に変更を加える方法)」Microsoft Entra記事を参照してください。

パスワード ハッシュ同期

Microsoft Entra Connect でパスワード ハッシュ同期機能が有効になっている場合、パスワード同期マネージャーは、オンプレミスの Active Directory PwdLastSet 属性を Microsoft Entra ID LastPasswordChangeTimestamp 属性と同期します。 これは、このセクションの 2 つのメソッドを使用して PwdLastSet 属性がフィルター処理されている場合でも当てはまります。

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。